hc_proto.h
Go to the documentation of this file.
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 
11 #ifndef HC_PROTO_DEFINED
12 
13 #ifndef HPS_CORE_BUILD
14 
15 #if __APPLE__
16 #pragma clang diagnostic push
17 #pragma clang diagnostic ignored "-Wcomment"
18 #endif
19 
20 
36 HC_INTERFACE void HC_CDECL HC_Abort_Program (char const *message);
37 
75 HC_INTERFACE void HC_CDECL HC_Append_Modelling_Matrix (float const array[]);
76 
84 HC_INTERFACE void HC_CDECL HC_DAppend_Modelling_Matrix (double const array[]);
85 
119 HC_INTERFACE void HC_CDECL HC_Append_Texture_Matrix (float const array[]);
120 
170 HC_INTERFACE void HC_CDECL HC_Begin_Alias_Search (void);
171 
219 HC_INTERFACE void HC_CDECL HC_Begin_Callback_Name_Search (void);
220 
272 HC_INTERFACE void HC_CDECL HC_Begin_Color_Name_Search (void);
273 
372 HC_INTERFACE void HC_CDECL HC_Begin_Contents_Search (char const *segment, char const *filter);
373 
420 HC_INTERFACE void HC_CDECL HC_Begin_Font_Search (char const *display, char const *filter);
421 
453 HC_INTERFACE void HC_CDECL HC_Begin_Glyph_Search (void);
454 
486 HC_INTERFACE void HC_CDECL HC_Begin_Line_Style_Search (void);
487 
508 HC_INTERFACE void HC_CDECL HC_Begin_Open_Segment_Search (void);
509 
568 HC_INTERFACE void HC_CDECL HC_Begin_Segment_Search (char const *segspec);
569 
594 HC_INTERFACE void HC_CDECL HC_Begin_Shader_Search (void);
595 HC_INTERFACE void HC_CDECL HC_Begin_Shape_Search (void);
596 
626 HC_INTERFACE void HC_CDECL HC_Begin_Texture_Search (void);
627 
656 HC_INTERFACE void HC_CDECL HC_Begin_Local_Texture_Search (void);
657 
708 HC_INTERFACE void HC_CDECL HC_Bring_To_Front (char const *segment);
709 
716 HC_INTERFACE void HC_CDECL HC_Bring_To_Front_By_Key (Key key);
717 
722 HC_INTERFACE void HC_CDECL HC_Close_Edge (void);
723 
728 HC_INTERFACE void HC_CDECL HC_Close_Face (void);
729 
734 HC_INTERFACE void HC_CDECL HC_Close_Geometry (void);
735 
740 HC_INTERFACE void HC_CDECL HC_Close_LOD (void);
741 
746 HC_INTERFACE void HC_CDECL HC_Close_Region (void);
747 
754 HC_INTERFACE void HC_CDECL HC_Close_Segment (void);
755 
760 HC_INTERFACE void HC_CDECL HC_Close_Vertex (void);
761 
784 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid (char const *segment, Point *min, Point *max);
785 
794 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid_By_Key (Key key, Point *min, Point *max);
795 
806 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere (char const *segment, Point *center, float *radius);
807 
816 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere_By_Key (Key key, Point *center, float *radius);
817 
825 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid (char const *segment, DPoint *min, DPoint *max);
826 
836 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid_By_Key (Key key, DPoint *min, DPoint *max);
837 
845 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere (char const *segment, DPoint *center, double *radius);
846 
855 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere_By_Key (Key key, DPoint *center, double *radius);
856 
874 HC_INTERFACE bool HC_CDECL HC_Compute_Color (char const *name, char const *out_type, RGB *out_value);
875 
885 HC_INTERFACE bool HC_CDECL HC_Compute_Color_By_Value (char const *in_type, RGB const *in_value, char const *out_type, RGB *out_value);
886 
911 HC_INTERFACE void HC_CDECL HC_Compute_Convex_Hull (int pcount, Point const points[], int *fcount, int face_list[]);
912 
984 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates (char const *segment,
985  char const *in_system,
986  Point const *in_position,
987  char const *out_system,
988  Point *out_position);
989 
1001 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates_By_Path (int count,
1002  Key const keys[],
1003  char const *in_system,
1004  Point const *in_position,
1005  char const *out_system,
1006  Point *out_position);
1007 
1035 HC_INTERFACE void HC_CDECL HC_Compute_Cross_Product (Vector const *vector1, Vector const *vector2, Vector *out_vector);
1036 
1043 HC_INTERFACE void HC_CDECL HC_DCompute_Cross_Product (DVector const *vector1, DVector const *vector2, DVector *out_vector);
1044 
1052 HC_INTERFACE double HC_CDECL HC_Compute_Dot_Product (Vector const *vector1, Vector const *vector2);
1053 
1060 HC_INTERFACE double HC_CDECL HC_DCompute_Dot_Product (DVector const *vector1, DVector const *vector2);
1061 
1070 HC_INTERFACE void HC_CDECL HC_Compute_Identity_Matrix (float out_matrix[]);
1071 
1077 HC_INTERFACE void HC_CDECL HC_DCompute_Identity_Matrix (double out_matrix[]);
1078 
1087 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Adjoint (float const matrix[], float out_matrix[]);
1088 
1094 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Adjoint (double const matrix[], double out_matrix[]);
1095 
1105 HC_INTERFACE double HC_CDECL HC_Compute_Matrix_Determinant (float const matrix[]);
1106 
1112 HC_INTERFACE double HC_CDECL HC_DCompute_Matrix_Determinant (double const matrix[]);
1113 
1128 HC_INTERFACE bool HC_CDECL HC_Compute_Matrix_Inverse (float const matrix[], float out_matrix[]);
1129 
1136 HC_INTERFACE bool HC_CDECL HC_DCompute_Matrix_Inverse (double const matrix[], double out_matrix[]);
1137 
1164 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Product (float const matrix1[], float const matrix2[], float out_matrix[]);
1165 
1172 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Product (double const matrix1[], double const matrix2[], double out_matrix[]);
1173 HC_INTERFACE void HC_CDECL HC_Compute_Minimized_Shell (int in_point_count,
1174  Point const in_points[],
1175  int in_face_list_length,
1176  int const in_face_list[],
1177  char const *option_string,
1178  int *out_point_count,
1179  Point out_points[],
1180  int *out_face_list_length,
1181  int out_face_list[],
1182  int vertex_mapping[],
1183  int face_mapping[]);
1184 
1199 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Matrix (float const matrix[], float out_matrix[]);
1200 
1207 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Matrix (double const matrix[], double out_matrix[]);
1208 
1218 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Vector (Vector const *vector, Vector *out_vector);
1219 
1226 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Vector (DVector const *vector, DVector *out_vector);
1227 
1239 HC_INTERFACE void HC_CDECL HC_Compute_Offaxis_Rotation (double x, double y, double z, double theta, float out_matrix[]);
1240 
1249 HC_INTERFACE void HC_CDECL HC_DCompute_Offaxis_Rotation (double x, double y, double z, double theta, double out_matrix[]);
1250 
1265 HC_INTERFACE void HC_CDECL HC_Compute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1266  float out_matrix[]);
1267 
1278 HC_INTERFACE void HC_CDECL HC_DCompute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1279  double out_matrix[]);
1280 
1454 HC_INTERFACE void HC_CDECL HC_Compute_Optimized_Shell (int pcount,
1455  Point const points[],
1456  Vector const normals[],
1457  int flist_length,
1458  int const face_list[],
1459  char const * options,
1460  int * new_pcount,
1461  Point new_points[],
1462  int * new_flist_length,
1463  int new_face_list[],
1464  int point_mapping_list[],
1465  int face_mapping_list[]);
1466 
1487 HC_INTERFACE Key HC_CDECL HC_Compute_Capping_Shell (
1488  int shell_count,
1489  Key const shell_list[],
1490  float const plane[]);
1491 
1572 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell (
1573  int target_pcount,
1574  Point const target_points[],
1575  Vector const target_normals[],
1576  int target_flist_length,
1577  int const target_face_list[],
1578  int tool_pcount,
1579  Point const tool_points[],
1580  Vector const tool_normals[],
1581  int tool_flist_length,
1582  int const tool_face_list[],
1583  char const * options);
1584 
1597 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Normal (int count, Point const points[], char const *hand, Vector *out_vector);
1598 
1607 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Normal (int count, DPoint const points[], char const *hand, DVector *out_vector);
1608 
1625 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Plane (int count, Point const points[], char const *hand, Plane *out_plane);
1626 
1635 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Plane (int count, DPoint const points[], char const *hand, DPlane *out_plane);
1636 
1648 HC_INTERFACE void HC_CDECL HC_Compute_Rotation_Matrix (double alpha, double beta, double theta, float out_matrix[]);
1649 
1657 HC_INTERFACE void HC_CDECL HC_DCompute_Rotation_Matrix (double alpha, double beta, double theta, double out_matrix[]);
1658 
1670 HC_INTERFACE void HC_CDECL HC_Compute_Scale_Matrix (double x, double y, double z, float out_matrix[]);
1671 
1679 HC_INTERFACE void HC_CDECL HC_DCompute_Scale_Matrix (double x, double y, double z, double out_matrix[]);
1680 
1762 HC_INTERFACE int HC_CDECL HC_Compute_Selection (char const *display,
1763  char const *start_seg,
1764  char const *action,
1765  double x,
1766  double y);
1767 
1783 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Area (char const *display,
1784  char const *start_seg,
1785  char const *action,
1786  double left,
1787  double right,
1788  double bottom,
1789  double top);
1790 
1803 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polygon (char const *display,
1804  char const *start_seg,
1805  char const *action,
1806  int pcount,
1807  Point const points[]);
1808 
1821 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polylin (char const *display,
1822  char const *start_seg,
1823  char const *action,
1824  int pcount,
1825  Point const points[]); // HC_Compute_Selection_By_Polyline
1826 
1843 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Volume (char const *display,
1844  char const *start_seg,
1845  char const *action,
1846  double left,
1847  double right,
1848  double bottom,
1849  double top,
1850  double hither,
1851  double yon);
1852 
1861 HC_INTERFACE void HC_CDECL HC_Compute_Text16_From_Text (char const *intext, char const *encoding, int *outcount, unsigned short outtext16[]);
1862 
1916 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent (char const *segment, char const *text, float *xsize, float *ysize);
1917 
1925 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Key (Key key, float *xfrac, float *yfrac);
1926 
1936 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Path (int count, Key const keys[], char const *text, float *xfrac, float *yfrac);
1937 
1948 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_Enc_Path (int count,
1949  Key const keys[],
1950  char const *encoding,
1951  void const *text,
1952  float *xfrac,
1953  float *yfrac);
1954 
1964 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_With_Enc (char const *segment,
1965  char const *encoding,
1966  void const *text,
1967  float *xfrac,
1968  float *yfrac); // HC_Compute_Text_Extent_With_Encoding
1969 
1970 
1971 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics (
1972  int count,
1973  Key const * keys,
1974  char const * encoding,
1975  void const * text,
1976  char const * options,
1977  int * size,
1978  float values[]);
1979 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics_Size (
1980  int count,
1981  Key const * keys,
1982  char const * encoding,
1983  void const * text,
1984  char const * options,
1985  int * size);
1986 
2005 HC_INTERFACE void HC_CDECL HC_Compute_Text_From_Text16 (int incount, unsigned short const intext16[], char const *encoding, char *outtext);
2006 
2035 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline (char const *segment,
2036  char const *text,
2037  int *pcount,
2038  Point points[],
2039  int *flist_length,
2040  int face_list[]);
2041 
2051 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Key (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
2052 
2061 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size (char const *segment, char const *text, int *pcount, int *flist_length);
2062 
2070 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_By (Key key, int *pcount, int *flist_length); // HC_Compute_Text_Outline_Size_By_Key
2071 
2081 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Wi (
2082  char const * segment,
2083  char const * encoding,
2084  void const * etext,
2085  int * pcount,
2086  int * flist_length); // HC_Compute_Text_Outline_Size_With_Encoding
2087 
2099 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_With_En (char const *segment,
2100  char const * encoding,
2101  void const * etext,
2102  int * pcount,
2103  Point points[],
2104  int * flist_length,
2105  int face_list[]); // HC_Compute_Text_Outline_With_Encoding
2106 
2118 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Path (
2119  int count,
2120  Key const keys[],
2121  char const * text,
2122  int * pcount,
2123  Point points[],
2124  int * flist_length,
2125  int face_list[]);
2126 
2136 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Pa (
2137  int count,
2138  Key const keys[],
2139  char const * text,
2140  int * pcount,
2141  int * flist_length); // HC_Compute_Text_Outline_Size_By_Path
2142 
2207 HC_INTERFACE bool HC_CDECL HC_Compute_Transform (char const *segment,
2208  char const *in_system,
2209  char const *out_system,
2210  float matrix[]);
2211 
2220 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform (char const *segment,
2221  char const *in_system,
2222  char const *out_system,
2223  double matrix[]);
2224 
2235 HC_INTERFACE bool HC_CDECL HC_Compute_Transform_By_Path (int count,
2236  Key const keys[],
2237  char const *in_system,
2238  char const *out_system,
2239  float matrix[]);
2240 
2251 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform_By_Path (int count,
2252  Key const keys[],
2253  char const *in_system,
2254  char const *out_system,
2255  double matrix[]);
2256 
2273 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Plane (Plane const *plane, float const matrix[], Plane *out_plane);
2274 
2282 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Plane (DPlane const *plane, double const matrix[], DPlane *out_plane);
2283 
2293 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Planes (int count, Plane const planes[], float const matrix[], Plane out_planes[]);
2294 
2304 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Planes (int count, DPlane const planes[], double const matrix[], DPlane out_planes[]);
2305 
2314 HC_INTERFACE void HC_CDECL HC_Compute_Transformed_Points (int count, Point const points[], float const matrix[], Point out_points[]);
2315 
2323 HC_INTERFACE void HC_CDECL HC_Compute_Translation_Matrix (double x, double y, double z, float out_matrix[]);
2324 
2332 HC_INTERFACE void HC_CDECL HC_DCompute_Translation_Matrix (double x, double y, double z, double out_matrix[]);
2333 
2339 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Length (Vector const *vector);
2340 
2346 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Length (DVector const *vector);
2347 
2490 HC_INTERFACE void HC_CDECL HC_Control_Update (char const *segment, char const *options);
2491 
2502 HC_INTERFACE void HC_CDECL HC_Control_Update_Area (char const *segment, double left, double right, double bottom, double top, char const *options);
2503 
2514 HC_INTERFACE void HC_CDECL HC_Control_Update_Area_By_Key (Key key, double left, double right, double bottom, double top, char const *options);
2515 
2522 HC_INTERFACE void HC_CDECL HC_Control_Update_By_Key (Key key, char const *options);
2523 
2556 HC_INTERFACE bool HC_CDECL HC_Convert_Precision(Key key, char const * options);
2557 
2579 HC_INTERFACE void HC_CDECL HC_Define_Alias (char const *name, char const *expansion);
2580 
2597 HC_INTERFACE void HC_CDECL HC_Define_Callback_Name (char const *name, Void_Routine callback);
2598 
2655 HC_INTERFACE void HC_CDECL HC_Define_Color_Name (char const *name, char const *er_name, char const *ish_name, char const *definition);
2656 
2844 HC_INTERFACE void HC_CDECL HC_Define_Driver_Config (char const *driver, char const *id, char const *version, char const *config);
2845 
2894 HC_INTERFACE void HC_CDECL HC_Define_Error_Handler (Void_Routine handler);
2895 
2919 HC_INTERFACE void HC_CDECL HC_Define_Exit_Handler (Void_Routine handler);
2920 
3030 HC_INTERFACE void HC_CDECL HC_Define_Font (char const *name, char const *options, int data_length, char const data[]);
3031 
3040 HC_INTERFACE void HC_CDECL HC_Define_Font_By_Reference (char const *name, char const *options, int data_length, char const data[]); // HC_Define_Font_By_Ref
3041 
3122 HC_INTERFACE void HC_CDECL HC_Define_Glyph (char const *name, int data_size, char const data[]);
3123 HC_INTERFACE void HC_CDECL HC_Define_Image_Glyph(const char * name, const char * definition);
3124 
3400 HC_INTERFACE void HC_CDECL HC_Define_Line_Style (char const *name, char const *definition);
3401 
3578 HC_INTERFACE void HC_CDECL HC_Define_Shape (char const *name, int data_size, float const data[]);
3579 
3983 HC_INTERFACE void HC_CDECL HC_Define_System_Options (char const *list);
3984 
4323 HC_INTERFACE void HC_CDECL HC_Define_Texture (char const *texture_name, char const *definition);
4324 
4359 HC_INTERFACE void HC_CDECL HC_Define_Local_Texture (char const *texture_name, char const *definition);
4360 
4405 HC_INTERFACE void HC_CDECL HC_Define_Shader (char const *name, char const *options, char const *shader_source);
4406 
4424 HC_INTERFACE void HC_CDECL HC_Delete_By_Key (Key key);
4425 
4441 HC_INTERFACE void HC_CDECL HC_Delete_Segment (char const *segment);
4442 
4460 HC_INTERFACE void HC_CDECL HC_Dolly_Camera (double right, double up, double in);
4461 HC_INTERFACE intptr_t HC_CDECL HC_Dump_Memory_Profile (char const *which);
4462 
4484 HC_INTERFACE void HC_CDECL HC_Edit_Image (Key key, int xoffset, int yoffset, int xcount, int ycount, const void *data);
4485 
4518 HC_INTERFACE void HC_CDECL HC_Edit_Image_Options (Key image_key, char const *options);
4519 
4539 HC_INTERFACE void HC_CDECL HC_Edit_Mesh (Key key, int row_offset, int column_offset, int row_count, int column_count, Point const points[]);
4540 
4568 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Curve (Key key,
4569  int cp_offset,
4570  int knot_offset,
4571  int cp_count,
4572  int knot_count,
4573  Point const control_points[],
4574  float const weights[],
4575  float const knots[]);
4576 
4603 HC_INTERFACE void HC_CDECL HC_Edit_Polygon (Key key, int offset, int ndelete, int insert, Point const points[]);
4604 
4633 HC_INTERFACE void HC_CDECL HC_Edit_Polyline (Key key, int offset, int ndelete, int insert, Point const points[]);
4634 
4657 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Faces (Key key, int offset, int ndelete, int ilist_length, int const insert_list[]);
4658 
4683 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Points (Key key, int offset, int ndelete, int insert, Point const points[]);
4684 
4706 HC_INTERFACE void HC_CDECL HC_Edit_Text (Key key, int row, int column, int erase, int ndelete, char const *new_text);
4707 HC_INTERFACE void HC_CDECL HC_Edit_Text_Leader (Key key, double x, double y, double z, char const *options);
4708 
4714 HC_INTERFACE void HC_CDECL HC_End_Alias_Search (void);
4715 
4720 HC_INTERFACE void HC_CDECL HC_End_Callback_Name_Search (void);
4721 
4727 HC_INTERFACE void HC_CDECL HC_End_Color_Name_Search (void);
4728 
4729 
4735 HC_INTERFACE void HC_CDECL HC_End_Contents_Search (void);
4736 
4741 HC_INTERFACE void HC_CDECL HC_End_Font_Search (void);
4742 
4747 HC_INTERFACE void HC_CDECL HC_End_Open_Segment_Search (void);
4748 
4753 HC_INTERFACE void HC_CDECL HC_End_Segment_Search (void);
4754 
4759 HC_INTERFACE void HC_CDECL HC_End_Texture_Search (void);
4760 
4765 HC_INTERFACE void HC_CDECL HC_End_Shader_Search (void);
4766 
4771 HC_INTERFACE void HC_CDECL HC_End_Glyph_Search (void);
4772 
4778 HC_INTERFACE void HC_CDECL HC_End_Line_Style_Search (void);
4779 HC_INTERFACE void HC_CDECL HC_End_Shape_Search (void);
4780 
4792 HC_INTERFACE void HC_CDECL HC_Exit_Program (void);
4793 
4800 HC_INTERFACE bool HC_CDECL HC_Find_Alias (char * alias);
4801 
4808 HC_INTERFACE bool HC_CDECL HC_Find_Callback_Name (char *name);
4809 
4820 HC_INTERFACE bool HC_CDECL HC_Find_Color_Name (char *name, char *er_name, char *ish_name);
4821 
4831 HC_INTERFACE bool HC_CDECL HC_Find_Contents (char *type, Key *key);
4832 
4846 HC_INTERFACE bool HC_CDECL HC_Find_Contents_Original_Key (char *type, Key *key);
4847 
4854 HC_INTERFACE bool HC_CDECL HC_Find_Font (char *name);
4855 
4862 HC_INTERFACE bool HC_CDECL HC_Find_Open_Segment (char *segment);
4863 
4896 HC_INTERFACE bool HC_CDECL HC_Find_Related_Selection (void);
4897 
4904 HC_INTERFACE bool HC_CDECL HC_Find_Segment (char *segment);
4905 
4912 HC_INTERFACE bool HC_CDECL HC_Find_Texture (char *name);
4913 
4920 HC_INTERFACE bool HC_CDECL HC_Find_Shader (char *sname);
4921 
4928 HC_INTERFACE bool HC_CDECL HC_Find_Glyph (char *name);
4929 
4936 HC_INTERFACE bool HC_CDECL HC_Find_Line_Style (char *name);
4937 HC_INTERFACE bool HC_CDECL HC_Find_Shape (char *name);
4938 
4947 HC_INTERFACE void HC_CDECL HC_Flush_Attributes (char const *segment);
4948 
4965 HC_INTERFACE void HC_CDECL HC_Flush_By_Key (Key key);
4966 
5002 HC_INTERFACE void HC_CDECL HC_Flush_Contents (char const *segment, char const *filter);
5003 
5011 HC_INTERFACE void HC_CDECL HC_Flush_Geometry (char const *segment);
5012 
5027 HC_INTERFACE void HC_CDECL HC_Edit_Sphere (Key key, Point const *center, double radius, Vector const *axis, Vector const *ortho);
5028 
5045 HC_INTERFACE void HC_CDECL HC_Edit_Circle (Key key, Point const *point1, Point const *point2, Point const *point3);
5046 
5063 HC_INTERFACE void HC_CDECL HC_Edit_Circle_By_Radius (Key key, Point const *center, double radius, Vector const *vector);
5064 
5086 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Arc (Key key, Point const *point1, Point const *point2, Point const *point3);
5087 
5103 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Chord (Key key, Point const *point1, Point const *point2, Point const *point3);
5104 
5120 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Wedge (Key key, Point const *point1, Point const *point2, Point const *point3);
5121 
5156 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Plane (Key key, double a, double b, double c, double d);
5157 
5177 HC_INTERFACE void HC_CDECL HC_Edit_Ellipse (Key key, Point const *center, Point const *major, Point const *minor);
5178 
5202 HC_INTERFACE void HC_CDECL HC_Edit_Elliptical_Arc (
5203  Key key,
5204  Point const *center,
5205  Point const *major,
5206  Point const *minor,
5207  double start,
5208  double end);
5209 
5253 HC_INTERFACE void HC_CDECL HC_Edit_Grid (
5254  Key key,
5255  char const *type,
5256  Point const *origin,
5257  Point const *ref1,
5258  Point const *ref2,
5259  int count1,
5260  int count2);
5261 
5282 HC_INTERFACE void HC_CDECL HC_Edit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5283 
5295 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5296 
5308 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5309 
5320 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5321 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5322 
5346 HC_INTERFACE void HC_CDECL HC_Edit_Marker (Key key, double x, double y, double z);
5347 
5368 HC_INTERFACE void HC_CDECL HC_Edit_Cylinder (Key key, Point const *p1, Point const *p2, double radius, char const *cap);
5369 
5378 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, Point const points[]);
5379 
5388 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, float const radii[]);
5389 
5398 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, DPoint const points[]);
5399 
5408 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, double const radii[]);
5409 
5433 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder (Key key, int p_count, Point const pts[], int r_count, float const radii[], char const *capping);
5434 
5445 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_With_Basis (Key key, int p_count, Point const pts[], int r_count, float const radii[], char const *capping, Vector const basis[]);
5446 
5454 HC_INTERFACE Key HC_CDECL HC_Copy_Geometry (Key key, char const *segment);
5455 
5479 HC_INTERFACE Key HC_CDECL HC_Copy_Segment (char const *old_seg_name, char const *new_seg_name);
5480 
5495 HC_INTERFACE Key HC_CDECL HC_Create_Segment (char const *segment);
5496 
5525 HC_INTERFACE Key HC_CDECL HC_Include_Segment (char const *include);
5526 
5533 HC_INTERFACE Key HC_CDECL HC_Include_Segment_By_Key (Key seg_key);
5534 
5549 HC_INTERFACE Key HC_CDECL HC_Insert_Area_Light (int count, Point const points[], char const *listptr);
5550 
5585 HC_INTERFACE Key HC_CDECL HC_Insert_Circle (Point const *point1, Point const *point2, Point const *point3);
5586 
5610 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Arc (Point const *point1, Point const *point2, Point const *point3);
5611 
5633 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Chord (Point const *point1, Point const *point2, Point const *point3);
5634 
5660 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Wedge (Point const *point1, Point const *point2, Point const *point3);
5661 
5700 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Plane (double a, double b, double c, double d);
5701 
5736 HC_INTERFACE Key HC_CDECL HC_Insert_Cylinder (Point const *center_point_1, Point const *center_point_2, double radius, char const *cap);
5737 
5752 HC_INTERFACE Key HC_CDECL HC_Insert_Sphere (Point const *center, double radius, Vector const *axis, Vector const *ortho);
5753 
5777 HC_INTERFACE Key HC_CDECL HC_Insert_Circle_By_Radius (Point const *center, double radius, Vector const *normal);
5778 
5823 HC_INTERFACE Key HC_CDECL HC_Insert_Distant_Light (double di, double dj, double dk);
5824 
5846 HC_INTERFACE Key HC_CDECL HC_Insert_Ellipse (Point const *center, Point const *major, Point const *minor);
5847 
5875 HC_INTERFACE Key HC_CDECL HC_Insert_Elliptical_Arc (
5876  Point const *center,
5877  Point const *major,
5878  Point const *minor,
5879  double start,
5880  double end);
5881 
5918 HC_INTERFACE Key HC_CDECL HC_Insert_Grid (
5919  char const *type,
5920  Point const *origin,
5921  Point const *ref1,
5922  Point const *ref2,
5923  int count1,
5924  int count2);
5925 
6018 HC_INTERFACE Key HC_CDECL HC_Insert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
6019 
6126 HC_INTERFACE Key HC_CDECL HC_Insert_Compressed_Image (double x, double y, double z, char const *format, int width, int height, int size, void const *data);
6127 
6144 HC_INTERFACE Key HC_CDECL HC_Insert_Image_By_Ref (double x, double y, double z, char const *format, int width, int height, const void *data);
6145 
6157 HC_INTERFACE Key HC_CDECL HC_DInsert_Image_By_Ref (double x, double y, double z, char const *format, int width, int height, const void *data);
6158 
6182 HC_INTERFACE Key HC_CDECL HC_Insert_Ink (double x, double y, double z);
6183 
6206 HC_INTERFACE Key HC_CDECL HC_Insert_Line (double xa, double ya, double za, double xb, double yb, double zb);
6207 
6232 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6233 
6258 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6259 
6270 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6271 
6281 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6282 
6316 HC_INTERFACE Key HC_CDECL HC_Insert_Local_Light (double x, double y, double z);
6317 
6343 HC_INTERFACE Key HC_CDECL HC_Insert_Marker (double x, double y, double z);
6344 
6390 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh (int rows, int columns, Point const points[]);
6391 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh_By_Ref (int rows, int columns, Point const points[]);
6392 
6400 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh_By_Ref (int rows, int columns, DPoint const points[]);
6401 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Curve (int degree,
6402  int cpcount,
6403  Point const control_points[],
6404  float const weights[],
6405  float const knots[],
6406  double start_u,
6407  double end_u);
6408 
6437 HC_INTERFACE Key HC_CDECL HC_Insert_Polygon (int count, Point const points[]);
6438 
6467 HC_INTERFACE Key HC_CDECL HC_Insert_Polyline (int count, Point const points[]);
6468 
6469 
6522 HC_INTERFACE Key HC_CDECL HC_Insert_Shell (int pcount, Point const points[], int flist_length, int const face_list[]);
6523 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Ref (int pcount, Point const points[], int flist_length, int const face_list[]);
6524 
6533 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Ref (int pcount, DPoint const points[], int flist_length, int const face_list[]);
6534 
6628 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Tristrips (
6629  int pcount,
6630  Point const points[],
6631  int tristrips_length,
6632  int const tristrips[],
6633  int face_indices_length,
6634  int const face_indices[]);
6635 
6646 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Tristrips (
6647  int pcount,
6648  DPoint const points[],
6649  int tristrips_length,
6650  int const tristrips[],
6651  int face_indices_length,
6652  int const face_indices[]);
6653 
6790 HC_INTERFACE Key HC_CDECL HC_Insert_Spot_Light (Point const *position, Point const *target, char const *list);
6791 
6817 HC_INTERFACE Key HC_CDECL HC_Insert_String_Cursor (Key text_key, int row, int column);
6818 
6885 HC_INTERFACE Key HC_CDECL HC_Insert_Text (double x, double y, double z, char const *text);
6886 
6911 HC_INTERFACE Key HC_CDECL HC_Insert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
6912 
6923 HC_INTERFACE Key HC_CDECL HC_Insert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
6924 
7011 HC_INTERFACE Key HC_CDECL HC_Open_Segment (char const *segment);
7012 
7054 HC_INTERFACE Key HC_CDECL HC_Renumber_Key (Key oldkey, Key newkey, char const *scope);
7055 
7103 HC_INTERFACE Key HC_CDECL HC_Show_Include_Segment (Key key, char *pathname);
7104 
7111 HC_INTERFACE Key HC_CDECL HC_Show_Owner_Original_Key (Key key);
7112 
7143 HC_INTERFACE Key HC_CDECL HC_Style_Segment (char const *style);
7144 
7151 HC_INTERFACE Key HC_CDECL HC_Style_Segment_By_Key (Key seg_key);
7152 
7195 HC_INTERFACE void HC_CDECL HC_MSet_Character_Attributes (Key key, int offset, int count, char const *options);
7196 
7205 HC_INTERFACE void HC_CDECL HC_MUnSet_Character_Attributes (Key key, int offset, int count, char const *options);
7206 
7224 HC_INTERFACE void HC_CDECL HC_MSet_Face_Normals (Key key, int offset, int count, Vector const *normals);
7225 
7244 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_FIndex (Key key, char const *type, int offset, int count, float const findices[]);
7245 
7261 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_Value (
7262  Key key,
7263  char const * type,
7264  int offset,
7265  char const * color_space,
7266  int count,
7267  RGB const values[]);
7268 
7287 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_FIndex (Key key, char const *types, int offset, int count, float const findices[]);
7288 
7308 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value (
7309  Key key,
7310  char const * types,
7311  int offset,
7312  char const * color_space,
7313  int count,
7314  RGB const values[]);
7315 
7335 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value4 (
7336  Key key,
7337  char const * geometry,
7338  int offset,
7339  char const * color_space,
7340  int count,
7341  RGBA const values[]);
7342 
7356 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Normals (Key key, int offset, int count, Vector const normals[]);
7357 
7372 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Parameters (Key key, int offset, int pcount, int number, float const parameters[]);
7373 
7387 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map (int offset, char const *colors);
7388 
7397 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map_By_Value (int offset, char const *color_space, int count, RGB const values[]);
7398 
7421 HC_INTERFACE void HC_CDECL HC_Move_By_Key (Key key, char const *newowner);
7422 
7438 HC_INTERFACE void HC_CDECL HC_Move_Distant_Light (Key key, double di, double dj, double dk);
7439 
7452 HC_INTERFACE void HC_CDECL HC_Move_Image (Key key, double x, double y, double z);
7453 
7471 HC_INTERFACE void HC_CDECL HC_Move_Light_Position (Key key, double x, double y, double z);
7472 
7489 HC_INTERFACE void HC_CDECL HC_Move_Light_Target (Key key, double x, double y, double z);
7490 
7502 HC_INTERFACE void HC_CDECL HC_Move_Segment (char const *old_seg_name, char const *new_seg_name);
7503 
7526 HC_INTERFACE void HC_CDECL HC_Move_String_Cursor (Key key, int row, int column);
7527 
7541 HC_INTERFACE void HC_CDECL HC_Move_Text (Key key, double x, double y, double z);
7542 
7570 HC_INTERFACE void HC_CDECL HC_Open_Edge (int offset1, int offset2);
7571 
7606 HC_INTERFACE void HC_CDECL HC_Open_Face (int id);
7607 
7645 HC_INTERFACE void HC_CDECL HC_Open_Geometry (Key key);
7646 
7661 HC_INTERFACE void HC_CDECL HC_Open_LOD (int level);
7662 
7671 HC_INTERFACE void HC_CDECL HC_Open_Region (int region);
7672 
7678 HC_INTERFACE void HC_CDECL HC_Open_Segment_By_Key (Key key);
7679 
7704 HC_INTERFACE void HC_CDECL HC_Open_Vertex (int offset);
7705 
7725 HC_INTERFACE void HC_CDECL HC_Orbit_Camera (double theta, double phi);
7726 
7740 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Callback (int key_count, Key const path_keys[], char *callbacks);
7741 
7761 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera (int key_count,
7762  Key const path_keys[],
7763  Point *position,
7764  Point *target,
7765  Vector *up,
7766  float *width,
7767  float *height,
7768  char *projection);
7769 
7790 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_By_Volume (int count,
7791  Key const keys[],
7792  char *proj,
7793  float *xmin,
7794  float *xmax,
7795  float *ymin,
7796  float *ymax);
7797 
7814 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Position (int key_count, Key const path_keys[], float *x, float *y, float *z);
7815 
7832 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Target (int key_count, Key const path_keys[], float *x, float *y, float *z);
7833 
7850 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], float *x, float *y, float *z);
7851 
7867 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Field (int key_count, Key const path_keys[], float *width, float *height);
7868 
7880 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Projection (int key_count, Key const path_keys[], char *projection);
7881 
7894 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera (int key_count,
7895  Key const path_keys[],
7896  DPoint *position,
7897  DPoint *target,
7898  DVector *up,
7899  double *width,
7900  double *height,
7901  char *projection);
7902 
7914 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_By_Volume (int count,
7915  Key const keys[],
7916  char *proj,
7917  double *xmin,
7918  double *xmax,
7919  double *ymin,
7920  double *ymax);
7921 
7931 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Position (int key_count, Key const path_keys[], double *x, double *y, double *z);
7932 
7942 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Target (int key_count, Key const path_keys[], double *x, double *y, double *z);
7943 
7953 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], double *x, double *y, double *z);
7954 
7963 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Field (int key_count, Key const path_keys[], double *width, double *height);
7964 
7965 
7977 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color (int count, Key const keys[], char *color_spec);
7978 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map (int key_count, Key const path_keys[], char *colors);
7979 
7995 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_By_Value (int key_count, Key const path_keys[], char *color_space, int *count, RGB values[]);
7996 
8010 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Count (int key_count, Key const path_keys[], int *count);
8011 
8023 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Driver_Options (int key_count, Key const path_keys[], char *list);
8024 
8038 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern (int key_count, Key const path_keys[], char *pattern);
8039 
8053 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Weight (int key_count, Key const path_keys[], float *weight);
8054 
8068 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Face_Pattern (int key_count, Key const path_keys[], char *pattern);
8069 
8084 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Handedness (int key_count, Key const path_keys[], char *value);
8085 
8099 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Heuristics (int key_count, Key const path_keys[], char *list);
8100 
8114 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern (int key_count, Key const path_keys[], char *pattern);
8115 
8129 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Weight (int key_count, Key const path_keys[], float *weight);
8130 
8144 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Size (int key_count, Key const path_keys[], float *size);
8145 
8159 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Symbol (int key_count, Key const path_keys[], char *symbol);
8160 
8177 HC_INTERFACE int HC_CDECL HC_PShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], float matrix[]);
8178 
8186 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], double matrix[]);
8187 
8201 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Rendering_Options (int key_count, Key const path_keys[], char *list);
8202 
8216 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Selectability (int key_count, Key const path_keys[], char *list);
8217 
8231 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Alignment (int key_count, Key const path_keys[], char *locater);
8232 
8246 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Font (int key_count, Key const path_keys[], char *options);
8247 
8263 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Path (int key_count, Key const path_keys[], float *x, float *y, float *z);
8264 
8278 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Spacing (int key_count, Key const path_keys[], float *spacing);
8279 
8293 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture_Matrix (int key_count, Key const path_keys[], float matrix[]);
8294 
8308 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Index_Count (int key_count, Key const keys[], int *count);
8309 
8325 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Indices (int key_count, Key const path_keys[], int *count, long *indices, void **values);
8326 
8340 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Options (int key_count, Key const path_keys[], char *list);
8341 
8355 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Unicode_Options (int key_count, Key const path_keys[], unsigned short *options);
8356 
8368 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Opt_Length (int key_count, Key const path_keys[], int *length); // HC_PShow_Net_User_Options_Length
8369 
8383 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Unicode_Opt_Length (int key_count, Key const path_keys[], int *length); // HC_PShow_Net_Unicode_Options_Length
8384 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Value (int key_count, Key const path_keys[], intptr_t *data);
8385 
8399 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Visibility (int key_count, Key const path_keys[], char *list);
8400 
8417 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window (int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top);
8418 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_With_Options (int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top,
8419  char *list);
8420 
8434 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Frame (int key_count, Key const path_keys[], char *flag);
8435 
8449 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Pattern (int key_count, Key const path_keys[], char *pattern);
8450 
8463 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Callback (int count, Key const keys[], char const *callback_point, char *callback_name);
8464 
8478 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Callback_WD (int count, Key const keys[], char const *callback_point, char *callback, void **data); // HC_PShow_One_Net_Callback_With_Data
8479 
8489 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color (int count, Key const keys[], char const *type, char *color);
8490 
8503 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Index (int count, Key const keys[], char const *type, int *index);
8504 
8520 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Value (
8521  int count,
8522  Key const keys[],
8523  char const * type,
8524  char * color_space,
8525  float * a,
8526  float * b,
8527  float * c);
8528 
8539 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map (int count, Key const keys[], int offset, char *color);
8540 
8554 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map_By_V (
8555  int count,
8556  Key const keys[],
8557  int offset,
8558  char * color_space,
8559  float * x,
8560  float * y,
8561  float * z); // HC_PShow_One_Net_Color_Map_By_Value
8562 
8573 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Driver_Option (int count, Key const keys[], char const *type, char *value);
8574 
8584 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Heuristic (int count, Key const keys[], char const *type, char *value);
8585 
8596 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Rendering_Opti (int count, Key const keys[], char const *type, char *value); // HC_PShow_One_Net_Rendering_Option
8597 
8607 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Selectability (int count, Key const keys[], char const *type, char *value);
8608 
8618 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Text_Font (int count, Key const keys[], char const *type, char *value);
8619 
8629 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Index (int count, Key const keys[], long index, void **value);
8630 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Option (int count, Key const keys[], char const *type, char *value);
8631 
8644 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Unicode_Opt (int key_count, Key const keys[], unsigned short const *requested_option, unsigned short *options); // HC_PShow_One_Net_Unicode_Option
8645 
8656 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Visibility (int count, Key const keys[], char const *type, char *value);
8657 
8677 HC_INTERFACE void HC_CDECL HC_Pan_Camera (double theta, double phi);
8678 
8742 HC_INTERFACE bool HC_CDECL HC_Parse_String (char const *string, char const *delimiter, int offset, char *token);
8743 
8775 HC_INTERFACE void HC_CDECL HC_Pause (void);
8776 
8796 HC_INTERFACE void HC_CDECL HC_Print_Version (void);
8797 
8818 HC_INTERFACE int HC_CDECL HC_QShow_Existence (char const *segment, char const *filter);
8819 
8882 HC_INTERFACE int HC_CDECL HC_Show_Existence (char const *filter);
8883 
8891 HC_INTERFACE int HC_CDECL HC_Show_Existence_By_Key (Key key, char const *filter);
8892 
8900 HC_INTERFACE int HC_CDECL HC_QShow_Existence_Unicode (char const *segment, unsigned short const *filter);
8901 
8917 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode (unsigned short const *filter);
8918 
8926 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode_By_K (Key key, unsigned short const *filter); // HC_Show_Existence_Unicode_By_Key
8927 
8963 HC_INTERFACE bool HC_CDECL HC_Read_Metafile (char const *file, char const *segment, char const *options);
8964 
8979 HC_INTERFACE void HC_CDECL HC_Record_Instance_Handle (void const *handle);
8980 
9032 HC_INTERFACE void HC_CDECL HC_Record_Profile_Source (char const *section, char const *filename);
9033 
9057 HC_INTERFACE void HC_CDECL HC_Relinquish_Memory (void);
9058 
9080 HC_INTERFACE void HC_CDECL HC_Rename_Segment (char const *old_seg_name, char const *new_seg_name);
9081 HC_INTERFACE void HC_CDECL HC_Rename_Segment_By_Key (Key key, char const *new_seg_name);
9082 
9099 HC_INTERFACE void HC_CDECL HC_Report_Error (int category,
9100  int specific,
9101  int severity,
9102  int msgc,
9103  char const * const *msgv,
9104  int stack_c,
9105  char const * const *stack_v);
9106 
9124 HC_INTERFACE void HC_CDECL HC_Reset_System (void);
9125 
9139 HC_INTERFACE void HC_CDECL HC_Restart_Ink (void);
9140 
9155 HC_INTERFACE void HC_CDECL HC_Roll_Camera (double theta);
9156 
9183 HC_INTERFACE void HC_CDECL HC_Rotate_Object (double theta, double phi, double psi);
9184 
9200 HC_INTERFACE void HC_CDECL HC_Rotate_Object_Offaxis (double x, double y, double z, double theta);
9201 
9208 HC_INTERFACE void HC_CDECL HC_DRotate_Object (double theta, double phi, double psi);
9209 
9217 HC_INTERFACE void HC_CDECL HC_DRotate_Object_Offaxis (double x, double y, double z, double theta);
9218 
9245 HC_INTERFACE void HC_CDECL HC_Rotate_Texture (double theta, double phi, double psi);
9246 
9262 HC_INTERFACE void HC_CDECL HC_Rotate_Texture_Offaxis (double x, double y, double z, double theta);
9263 
9290 HC_INTERFACE void HC_CDECL HC_Scale_Object (double x, double y, double z);
9291 
9298 HC_INTERFACE void HC_CDECL HC_DScale_Object (double x, double y, double z);
9299 
9320 HC_INTERFACE void HC_CDECL HC_Scale_Texture (double u, double v, double w);
9321 
9338 HC_INTERFACE void HC_CDECL HC_Scroll_Text (Key key, int left_scroll, int up_scroll);
9339 
9359 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Cuboid (Point const *min, Point const *max);
9360 
9372 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Sphere (Point const *center, double radius);
9373 
9379 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Cuboid (DPoint const *min, DPoint const *max);
9380 
9386 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Sphere (DPoint const *center, double radius);
9387 
9852 HC_INTERFACE void HC_CDECL HC_Set_Callback (char const *callbacks);
9853 
9860 HC_INTERFACE void HC_CDECL HC_Set_Callback_With_Data (char const *callback, void const *data);
9861 
9891 HC_INTERFACE void HC_CDECL HC_Set_Camera (Point const *position,
9892  Point const *target,
9893  Vector const *up,
9894  double width,
9895  double height,
9896  char const *projection);
9897 
9959 HC_INTERFACE void HC_CDECL HC_Set_Camera_By_Volume (char const *projection, double xmin, double xmax, double ymin, double ymax);
9960 
9986 HC_INTERFACE void HC_CDECL HC_Set_Camera_Field (double width, double height);
9987 
10006 HC_INTERFACE void HC_CDECL HC_Set_Camera_Position (double x, double y, double z);
10007 
10036 HC_INTERFACE void HC_CDECL HC_Set_Camera_Projection (char const *type);
10037 
10060 HC_INTERFACE void HC_CDECL HC_Set_Camera_Target (double x, double y, double z);
10061 
10095 HC_INTERFACE void HC_CDECL HC_Set_Camera_Up_Vector (double x, double y, double z);
10096 
10580 HC_INTERFACE void HC_CDECL HC_Set_Color (char const *color_spec);
10581 
10610 HC_INTERFACE void HC_CDECL HC_Set_Explicit_Color (
10611  char const *type,
10612  char const *channel,
10613  Point const *rgb,
10614  char const *texture,
10615  char const *options);
10616 
10656 HC_INTERFACE void HC_CDECL HC_Set_Color_By_FIndex (char const *types, double findex);
10657 
10733 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Index (char const *types, int index);
10734 
10829 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Value (char const *types, char const *colorspace, double a, double b, double c);
10830 
10869 HC_INTERFACE void HC_CDECL HC_Set_Color_Map (char const *colors);
10870 
10878 HC_INTERFACE void HC_CDECL HC_Set_Color_Map_By_Value (char const *color_space, int count, RGB const values[]);
10879 
11415 HC_INTERFACE void HC_CDECL HC_Set_Driver_Options (char const *list);
11416 
11462 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern (char const *pattern);
11463 
11516 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern_Explicit (char const *pattern);
11517 
11542 HC_INTERFACE void HC_CDECL HC_Set_Edge_Weight (double weight);
11543 
11591 HC_INTERFACE void HC_CDECL HC_Set_Face_Pattern (char const *pattern);
11592 
11613 HC_INTERFACE void HC_CDECL HC_Set_Handedness (char const *value);
11614 
11941 HC_INTERFACE void HC_CDECL HC_Set_Heuristics (char const *list);
11942 
12080 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern (char const *pattern);
12081 
12229 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern_Explicit (char const *pattern);
12230 
12257 HC_INTERFACE void HC_CDECL HC_Set_Line_Weight (double weight);
12258 
12322 HC_INTERFACE void HC_CDECL HC_Set_Marker_Size (double weight);
12323 
12506 HC_INTERFACE void HC_CDECL HC_Set_Marker_Symbol (char const *symbol);
12507 
12534 HC_INTERFACE void HC_CDECL HC_Set_Modelling_Matrix (float const matrix[]);
12535 
12540 HC_INTERFACE void HC_CDECL HC_DSet_Modelling_Matrix (double const matrix[]);
12541 
12564 HC_INTERFACE void HC_CDECL HC_Set_Normal (double x, double y, double z);
12565 
12601 HC_INTERFACE void HC_CDECL HC_Set_Parameter (int number, float const parameters[]);
12602 
12619 HC_INTERFACE void HC_CDECL HC_Set_Priority (Key key, int priority);
12620 HC_INTERFACE void HC_CDECL HC_UnSet_PBR_Material();
12621 
12646 HC_INTERFACE void HC_CDECL HC_Set_PBR_Material(
12647  char const * base_color_map,
12648  char const * normal_map,
12649  char const * emissive_map,
12650  char const * metalness_map,
12651  int metalness_map_channel,
12652  char const * roughness_map,
12653  int roughness_map_channel,
12654  char const * occlusion_map,
12655  int occlusion_map_channel,
12656  RGBA const * base_color_factor,
12657  float normal_factor,
12658  float metalness_factor,
12659  float roughness_factor,
12660  float occlusion_factor,
12661  float alpha_factor,
12662  char const * options);
12663 
12687 HC_INTERFACE bool HC_CDECL HC_Show_PBR_Material(
12688  char * base_color_map,
12689  char * normal_map,
12690  char * emissive_map,
12691  char * metalness_map,
12692  int * metalness_map_channel,
12693  char * roughness_map,
12694  int * roughness_map_channel,
12695  char * occlusion_map,
12696  int * occlusion_map_channel,
12697  RGBA * base_color_factor,
12698  float * normal_factor,
12699  float * metalness_factor,
12700  float * roughness_factor,
12701  float * occlusion_factor,
12702  float * alpha_factor,
12703  char * options);
12704 
12728 HC_INTERFACE bool HC_CDECL HC_PShow_Net_PBR_Material(
12729  int count,
12730  Key const * keys,
12731  char * base_color_map,
12732  char * normal_map,
12733  char * emissive_map,
12734  char * metalness_map,
12735  int * metalness_map_channel,
12736  char * roughness_map,
12737  int * roughness_map_channel,
12738  char * occlusion_map,
12739  int * occlusion_map_channel,
12740  RGBA * base_color_factor,
12741  float * normal_factor,
12742  float * metalness_factor,
12743  float * roughness_factor,
12744  float * occlusion_factor,
12745  float * alpha_factor,
12746  char * options);
12747 
13844 HC_INTERFACE void HC_CDECL HC_Set_Rendering_Options (char const *list);
13845 
13931 HC_INTERFACE void HC_CDECL HC_Set_Selectability (char const *list);
13932 
13969 HC_INTERFACE void HC_CDECL HC_Set_Streaming_Mode (char const *flag);
13970 
14028 HC_INTERFACE void HC_CDECL HC_Set_Text_Alignment (char const *locater);
14029 
14309 HC_INTERFACE void HC_CDECL HC_Set_Text_Font (char const *list);
14310 
14327 HC_INTERFACE void HC_CDECL HC_Set_Text_Path (double x, double y, double z);
14328 HC_INTERFACE void HC_CDECL HC_Set_Text_Size (double ivalue);
14329 
14346 HC_INTERFACE void HC_CDECL HC_Set_Text_Spacing (double spacing);
14347 
14368 HC_INTERFACE void HC_CDECL HC_Set_Texture_Matrix (float const matrix[]);
14369 
14381 HC_INTERFACE void HC_CDECL HC_Set_User_Index (long index, void const *data);
14382 
14427 HC_INTERFACE void HC_CDECL HC_Set_User_Options (char const *list);
14428 
14439 HC_INTERFACE void HC_CDECL HC_Set_Unicode_Options (unsigned short const *options);
14440 HC_INTERFACE void HC_CDECL HC_Set_User_Value (intptr_t data);
14441 
14675 HC_INTERFACE void HC_CDECL HC_Set_Visibility (char const *list);
14676 
14712 HC_INTERFACE void HC_CDECL HC_Set_Window (double left, double right, double bottom, double top);
14713 HC_INTERFACE void HC_CDECL HC_Set_Window_With_Options (double left, double right, double bottom, double top, char const *list);
14714 
14735 HC_INTERFACE void HC_CDECL HC_Set_Window_Frame (char const *flag);
14736 
14821 HC_INTERFACE void HC_CDECL HC_Set_Window_Pattern (char const *pattern);
14822 
14852 HC_INTERFACE void HC_CDECL HC_Show_Alias (char const *alias, char *expansion);
14853 
14863 HC_INTERFACE void HC_CDECL HC_Show_Alias_Count (int *count);
14864 
14872 HC_INTERFACE void HC_CDECL HC_Show_Area_Light (Key key, int *ucount, Point upoints[], char *listptr);
14873 HC_INTERFACE void HC_CDECL HC_Show_Area_Light_Count (Key key, int *count, char *listptr);
14874 
14901 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid (Point *min, Point *max);
14902 
14911 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid_By_Key (Key key, Point *min, Point *max);
14912 
14919 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid (DPoint *min, DPoint *max);
14920 
14928 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid_By_Key (Key key, DPoint *min, DPoint *max);
14929 
14940 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info (char *list);
14941 
14948 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info_By_Key (Key key, char *list);
14949 
14960 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere (Point *center, float *radius);
14961 
14969 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere_By_Key (Key key, Point *center, float *radius);
14970 
14976 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere (DPoint *center, double *radius);
14977 
14984 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere_By_Key (Key key, DPoint *center, double *radius);
14985 
15006 HC_INTERFACE void HC_CDECL HC_Show_Button (char *button);
15007 
15032 HC_INTERFACE void HC_CDECL HC_Show_Button_Source (char *keyboard, char *button, int *status);
15033 
15040 HC_INTERFACE void HC_CDECL HC_Show_Callback (char *callbacks);
15041 
15053 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name (char const *name, Void_Routine *callback);
15054 
15060 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name_Count (int *count);
15061 
15073 HC_INTERFACE void HC_CDECL HC_Show_Camera (Point *position,
15074  Point * target,
15075  Vector * up,
15076  float * width,
15077  float * height,
15078  char * projection);
15079 
15091 HC_INTERFACE void HC_CDECL HC_Show_Camera_By_Volume (char *projection, float *xmin, float *xmax, float *ymin, float *ymax);
15092 
15098 HC_INTERFACE void HC_CDECL HC_Show_Camera_Field (float *width, float *height);
15099 
15106 HC_INTERFACE void HC_CDECL HC_Show_Camera_Position (float *x, float *y, float *z);
15107 
15112 HC_INTERFACE void HC_CDECL HC_Show_Camera_Projection (char *projection);
15113 
15120 HC_INTERFACE void HC_CDECL HC_Show_Camera_Target (float *x, float *y, float *z);
15121 
15128 HC_INTERFACE void HC_CDECL HC_Show_Camera_Up_Vector (float *x, float *y, float *z);
15129 
15143 HC_INTERFACE void HC_CDECL HC_Show_Circle (Key key, Point *point1, Point *point2, Point *point3);
15144 
15158 HC_INTERFACE void HC_CDECL HC_Show_Circular_Arc (Key key, Point *point1, Point *point2, Point *point3);
15159 
15173 HC_INTERFACE void HC_CDECL HC_Show_Circular_Chord (Key key, Point *point1, Point *point2, Point *point3);
15174 
15188 HC_INTERFACE void HC_CDECL HC_Show_Circular_Wedge (Key key, Point *point1, Point *point2, Point *point3);
15189 
15236 HC_INTERFACE void HC_CDECL HC_Show_Color (char *color_spec);
15237 
15244 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Index (char *types, int *index);
15245 
15268 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Value (char *types, char *colorspace, float *a, float *b, float *c);
15269 
15286 HC_INTERFACE void HC_CDECL HC_Show_Color_Map (char *colors);
15287 
15306 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_By_Value (char *color_space, int *count, RGB values[]);
15307 
15317 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Count (int *count);
15318 
15332 HC_INTERFACE void HC_CDECL HC_Show_Color_Name (char const *color, char *definition);
15333 
15343 HC_INTERFACE void HC_CDECL HC_Show_Color_Name_Count (int *count);
15344 
15359 HC_INTERFACE void HC_CDECL HC_Show_Explicit_Color (
15360  char const *type,
15361  char const *channel,
15362  float rgb[],
15363  char *texture,
15364  char *options);
15365 
15386 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Explicit_Color (
15387  int keycount,
15388  Key const pathkeys[],
15389  char const *type,
15390  char const *channel,
15391  float rgb[],
15392  char *texture,
15393  char *options);
15394 
15402 HC_INTERFACE void HC_CDECL HC_Show_Contents_Count (int *count);
15403 
15418 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Plane (Key key, float *a, float *b, float *c, float *d);
15419 
15434 HC_INTERFACE void HC_CDECL HC_Show_Cylinder (Key key, Point *p1, Point *p2, float *radius, char *cap);
15435 
15444 HC_INTERFACE void HC_CDECL HC_Show_Circle_By_Radius (Key key, Point *center, float *radius, Vector *normal);
15445 
15460 HC_INTERFACE void HC_CDECL HC_Show_Sphere (Key key, Point *center, float *radius, Vector *axis, Vector *ortho);
15461 
15813 HC_INTERFACE void HC_CDECL HC_Show_Device_Info (char const *driver, char const *item, char *data);
15814 
15822 HC_INTERFACE void HC_CDECL HC_Show_Device_Info_By_Key (Key key, char const *item, char *data);
15823 
15839 HC_INTERFACE void HC_CDECL HC_Show_Distant_Light (Key key, float *di, float *dj, float *dk);
15840 
15901 HC_INTERFACE void HC_CDECL HC_Show_Driver_Options (char *list);
15902 
15918 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern (char *pattern);
15919 
15934 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern_Explicit (char *pattern);
15935 
15951 HC_INTERFACE void HC_CDECL HC_Show_Edge_Weight (float *weight);
15952 
15966 HC_INTERFACE void HC_CDECL HC_Show_Ellipse (Key key, Point *center, Point *major, Point *minor);
15967 
15983 HC_INTERFACE void HC_CDECL HC_Show_Elliptical_Arc (Key key,
15984  Point *center,
15985  Point *major,
15986  Point *minor,
15987  float *start,
15988  float *end);
15989 
16008 HC_INTERFACE bool HC_CDECL HC_Show_Environment (char const *variable, char *value);
16009 
16026 HC_INTERFACE void HC_CDECL HC_Show_Face_Pattern (char *pattern);
16027 
16041 HC_INTERFACE void HC_CDECL HC_Show_Font (char const *name, char *options, int *data_length, char *data);
16042 
16048 HC_INTERFACE void HC_CDECL HC_Show_Font_Count (int *count);
16049 
16119 HC_INTERFACE void HC_CDECL HC_Show_Font_Info (char const *driver, char const *name, char const *item, char *data);
16120 
16128 HC_INTERFACE void HC_CDECL HC_Show_Font_Size (char const *name, char *options, int *data_length);
16129 
16146 HC_INTERFACE void HC_CDECL HC_Show_Grid (Key key,
16147  char *type,
16148  Point *origin,
16149  Point *ref1,
16150  Point *ref2,
16151  int *count1,
16152  int *count2);
16153 
16170 HC_INTERFACE void HC_CDECL HC_Show_Handedness (char *value);
16171 
16206 HC_INTERFACE void HC_CDECL HC_Show_Heuristics (char *list);
16207 
16227 HC_INTERFACE void HC_CDECL HC_Show_Image (Key key, float *x, float *y, float *z, char *format, int *width, int *height, void *data);
16228 
16240 HC_INTERFACE void HC_CDECL HC_Show_Image_Size (Key key, float *x, float *y, float *z, char *format, int *width, int *height);
16241 
16267 HC_INTERFACE bool HC_CDECL HC_Show_Snapshot(const char * display, int *width, int *height, void * image_data);
16268 
16286 HC_INTERFACE void HC_CDECL HC_Show_Compressed_Image (Key key, float *x, float *y, float *z, char *format, int *width, int *height, int *size, void *data);
16287 
16297 HC_INTERFACE void HC_CDECL HC_Show_Compressed_Image_Size (Key key, char *format, int *width, int *height, int *size);
16298 HC_INTERFACE int HC_CDECL HC_Show_Image_Bytes_Per_Pixel (Key key);
16299 
16306 HC_INTERFACE void HC_CDECL HC_Show_Image_Format (Key key, char *format);
16307 
16314 HC_INTERFACE void HC_CDECL HC_Show_Image_Name (Key key, char *name);
16315 
16322 HC_INTERFACE void HC_CDECL HC_Show_Glyph (char const *name, char *data);
16323 
16330 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Size (char const *name, int *data_size);
16331 HC_INTERFACE void HC_CDECL HC_Show_Shape (char const *name, float *data);
16332 HC_INTERFACE void HC_CDECL HC_Show_Shape_Size (char const *name, int *data_size);
16333 
16349 HC_INTERFACE void HC_CDECL HC_Show_Line_Style (char const *style, char *definition);
16350 
16357 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Size (char const *style, int *size);
16358 
16375 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern (char *pattern);
16376 
16393 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern_Explicit (char *pattern);
16394 
16424 HC_INTERFACE void HC_CDECL HC_Show_Key_Status (Key key, char *status);
16425 
16506 HC_INTERFACE void HC_CDECL HC_Show_Key_Type (Key key, char *type);
16507 
16524 HC_INTERFACE void HC_CDECL HC_Show_LOD_Type (Key key, int level, char *type);
16525 
16542 HC_INTERFACE void HC_CDECL HC_Show_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16543 
16555 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16556 
16568 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Ray (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16569 
16580 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16581 
16592 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Ray (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16593 
16610 HC_INTERFACE void HC_CDECL HC_Show_Line_Weight (float *weight);
16611 
16629 HC_INTERFACE void HC_CDECL HC_Show_Local_Light (Key key, float *x, float *y, float *z);
16630 
16652 HC_INTERFACE void HC_CDECL HC_Show_Location (float *x, float *y);
16653 
16679 HC_INTERFACE void HC_CDECL HC_Show_Location_Source (char *locater, char *display, char *action, int *status);
16680 
16694 HC_INTERFACE void HC_CDECL HC_Show_Marker (Key key, float *x, float *y, float *z);
16695 
16710 HC_INTERFACE void HC_CDECL HC_Show_Marker_Size (float *size);
16711 
16726 HC_INTERFACE void HC_CDECL HC_Show_Marker_Symbol (char *symbol);
16727 
16749 HC_INTERFACE void HC_CDECL HC_Show_Memory_Usage (long *allocated, long *in_use);
16750 
16775 HC_INTERFACE void HC_CDECL HC_Show_Memory_Statistics(char const * option, void * value);
16776 
16795 HC_INTERFACE void HC_CDECL HC_Show_Mesh (Key key, int *rows, int *columns, Point points[]);
16796 
16804 HC_INTERFACE void HC_CDECL HC_Show_Mesh_Size (Key key, int *rows, int *columns);
16805 
16820 HC_INTERFACE void HC_CDECL HC_Show_Modelling_Matrix (float matrix[]);
16821 
16826 HC_INTERFACE void HC_CDECL HC_DShow_Modelling_Matrix (double matrix[]);
16827 
16853 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve (Key key,
16854  int *degree,
16855  int *cp_count,
16856  Point points[],
16857  float weights[],
16858  float knots[],
16859  float *start_u,
16860  float *end_u);
16861 
16871 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve_Size (Key key, int *degree, int *cp_count, int *weight_count, int *knot_count);
16872 
16889 HC_INTERFACE void HC_CDECL HC_Show_Normal (float *x, float *y, float *z);
16890 
16897 HC_INTERFACE void HC_CDECL HC_Show_One_Callback (char const *callback_point, char *callback_name);
16898 
16906 HC_INTERFACE void HC_CDECL HC_Show_One_Callback_With_Data (char const *callback_point, char *callback, void **data);
16907 
16931 HC_INTERFACE void HC_CDECL HC_Show_One_Color (char const *type, char *color);
16932 
16942 HC_INTERFACE void HC_CDECL HC_Show_One_Color_By_Index (char const *type, int *index);
16943 
16953 HC_INTERFACE bool HC_CDECL HC_Show_One_Color_By_Value (char const *type, char *color_space, float *a, float *b, float *c);
16954 
16970 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map (int offset, char *color);
16971 
16984 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map_By_Value (int offset, char *color_space, float *a, float *b, float *c);
16985 
16992 HC_INTERFACE void HC_CDECL HC_Show_One_Driver_Option (char const *type, char *value);
16993 
17000 HC_INTERFACE void HC_CDECL HC_Show_One_Heuristic (char const *type, char *value);
17001 
17012 HC_INTERFACE void HC_CDECL HC_Show_One_Rendering_Option (char const *type, char *value);
17013 
17020 HC_INTERFACE void HC_CDECL HC_Show_One_Selectability (char const *type, char *value);
17021 
17028 HC_INTERFACE void HC_CDECL HC_Show_One_System_Option (char const *type, char *value);
17029 
17036 HC_INTERFACE void HC_CDECL HC_Show_One_Text_Font (char const *type, char *value);
17037 
17044 HC_INTERFACE bool HC_CDECL HC_Show_One_User_Index (long index, void **value);
17045 
17052 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option (char const *type, char *value);
17053 
17060 HC_INTERFACE void HC_CDECL HC_Show_One_Unicode_Option (unsigned short const *requestedOption, unsigned short *options);
17061 
17068 HC_INTERFACE void HC_CDECL HC_Show_One_Visibility (char const *type, char *value);
17069 
17075 HC_INTERFACE void HC_CDECL HC_Show_Open_Segment_Count (int *count);
17076 
17105 HC_INTERFACE Key HC_CDECL HC_Show_Owner (char const *segment, char *owner);
17106 
17114 HC_INTERFACE Key HC_CDECL HC_Show_Owner_By_Key (Key key, char *owner);
17115 
17131 HC_INTERFACE void HC_CDECL HC_Show_Parameter (int *size, float list[]);
17132 
17138 HC_INTERFACE void HC_CDECL HC_Show_Parameter_Size (int *size);
17139 
17150 HC_INTERFACE void HC_CDECL HC_Show_Partial_Image (Key key, int xpos, int ypos, int xlen, int ylen, void *data);
17151 
17162 HC_INTERFACE void HC_CDECL HC_Show_Partial_Mesh (Key key,
17163  int row_offset,
17164  int col_offset,
17165  int row_count,
17166  int col_count,
17167  Point points[]);
17168 
17177 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polygon (Key key, int offset, int request, Point points[]);
17178 
17187 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polyline (Key key, int offset, int request, Point points[]);
17188 
17201 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell (Key key,
17202  int voffset,
17203  int vcnt,
17204  Point points[],
17205  int foffset,
17206  int fcnt,
17207  int *flist_length,
17208  int face_list[]);
17209 
17218 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell_Size (Key key, int foffset, int fcnt, int *flist_length);
17219 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Mesh (Key key,
17220  int row_offset,
17221  int col_offset,
17222  int row_count,
17223  int col_count,
17224  DPoint points[]);
17225 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polygon (Key key, int offset, int request, DPoint points[]);
17226 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polyline (Key key, int offset, int request, DPoint points[]);
17227 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Shell (Key key,
17228  int voffset,
17229  int vcnt,
17230  DPoint points[],
17231  int foffset,
17232  int fcnt,
17233  int *flist_length,
17234  int face_list[]);
17235 
17265 HC_INTERFACE void HC_CDECL HC_Show_Pathname_Expansion (char const *pathname, char *expansion);
17266 
17287 HC_INTERFACE void HC_CDECL HC_Show_Polygon (Key key, int *count, Point points[]);
17288 
17295 HC_INTERFACE void HC_CDECL HC_Show_Polygon_Count (Key key, int *count);
17296 
17317 HC_INTERFACE void HC_CDECL HC_Show_Polyline (Key key, int *count, Point points[]);
17318 
17325 HC_INTERFACE void HC_CDECL HC_Show_Polyline_Count (Key key, int *count);
17326 
17338 HC_INTERFACE bool HC_CDECL HC_Show_Priority (Key key, int *priority);
17339 
17390 HC_INTERFACE void HC_CDECL HC_Show_Rendering_Options (char *list);
17391 HC_INTERFACE int HC_CDECL HC_Show_Segment_Name_Length (Key key);
17392 HC_INTERFACE Key HC_CDECL HC_Show_Segment_Name (Key key, char *name);
17393 
17415 HC_INTERFACE Key HC_CDECL HC_Show_Segment (Key key, char *pathname);
17416 
17422 HC_INTERFACE void HC_CDECL HC_Show_Segment_Count (int *count);
17423 
17437 HC_INTERFACE void HC_CDECL HC_Show_Selectability (char *list);
17438 
17461 HC_INTERFACE void HC_CDECL HC_Show_Selection (char *segment);
17462 
17577 HC_INTERFACE void HC_CDECL HC_Show_Selection_Element (Key *key, int *offset1, int *offset2, int *offset3);
17578 
17592 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source_Elem (int *vertex, int *edge, int *face, Point *hit_location); // HC_Show_Selection_Source_Element
17593 
17601 HC_INTERFACE void HC_CDECL HC_DShow_Selection_Source_Elem (int *vertex, int *edge, int *face, DPoint *hit_location); // HC_DShow_Selection_Source_Element
17602 
17617 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Key (Key *key);
17618 
17664 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements (Key *key, int *count, int vertex1[], int vertex2[], int faces[]);
17665 
17674 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements_Coun (Key *key, int *count); // HC_Show_Selection_Elements_Count
17675 HC_INTERFACE void HC_CDECL HC_Show_Selection_Item (Key *key, int *offset1, int *offset2);
17676 
17690 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys (int *count, Key keys[]);
17691 
17705 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Keys (int *count, Key key[]);
17706 
17712 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys_Count (int *count);
17713 HC_INTERFACE void HC_CDECL HC_Show_Selection_Location (float *xw, float *yw, float *xc, float *yc, float *zc);
17714 
17798 HC_INTERFACE void HC_CDECL HC_Show_Selection_Pathname (char *segment);
17799 
17843 HC_INTERFACE int HC_CDECL HC_Show_Selection_Position (float *window_x, float *window_y, float *window_z, float *camera_x, float *camera_y, float *camera_z);
17844 
17854 HC_INTERFACE int HC_CDECL HC_DShow_Selection_Position (float *window_x, float *window_y, float *window_z, double *camera_x, double *camera_y, double *camera_z);
17855 
17885 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source (char *locater, char *picture, char *action, int *status);
17886 
17913 HC_INTERFACE void HC_CDECL HC_Show_Shell (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
17914 
17937 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips (Key key,
17938  int *pcount,
17939  Point points[],
17940  int *tristrips_length,
17941  int tristrips[],
17942  int *face_indices_length,
17943  int face_indices[]);
17944 
17953 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips_Size (Key key, int *pcount, int *tristrips_length, int *face_indices_length);
17954 
17962 HC_INTERFACE void HC_CDECL HC_Show_Shell_Size (Key key, int *pcount, int *flist_length);
17963 
17970 HC_INTERFACE void HC_CDECL HC_Show_Shell_Face_Count (Key key, int *face_count);
17971 
17981 HC_INTERFACE void HC_CDECL HC_Show_Shell_Tristrip_Count (Key key, int *tristrip_count);
17982 
18000 HC_INTERFACE void HC_CDECL HC_Show_Spot_Light (Key key, Point *position, Point *target, char *list);
18001 
18015 HC_INTERFACE void HC_CDECL HC_Show_Streaming_Mode (char *flag);
18016 
18043 HC_INTERFACE void HC_CDECL HC_Show_String (char *text);
18044 
18051 HC_INTERFACE void HC_CDECL HC_Show_String_Count (int *count);
18052 
18068 HC_INTERFACE void HC_CDECL HC_Show_String_Cursor (Key key, Key *text_key, int *row, int *col);
18069 
18075 HC_INTERFACE void HC_CDECL HC_Show_String_Length (int *length);
18076 
18090 HC_INTERFACE void HC_CDECL HC_Show_String_Source (char *keyboard, Key *cursor_key);
18091 
18098 HC_INTERFACE void HC_CDECL HC_Show_String_With_Encoding (char *encoding, void *text);
18099 
18112 HC_INTERFACE Key HC_CDECL HC_Show_Style_Segment (Key key, char *pathname);
18113 
18141 HC_INTERFACE bool HC_CDECL HC_Show_System_Info (char const *type, char *value);
18142 
18186 HC_INTERFACE void HC_CDECL HC_Show_System_Options (char *list);
18187 
18208 HC_INTERFACE void HC_CDECL HC_Show_Text (Key key, float *x, float *y, float *z, char *text);
18209 HC_INTERFACE void HC_CDECL HC_Show_Text_Leader (Key key, float *x, float *y, float *z, char *options);
18210 
18221 HC_INTERFACE void HC_CDECL HC_Show_Text_With_Encoding (Key key, float *x, float *y, float *z, char *encoding, void *text);
18222 
18237 HC_INTERFACE void HC_CDECL HC_Show_Text_Alignment (char *locater);
18238 
18245 HC_INTERFACE void HC_CDECL HC_Show_Text_Count (Key key, int *count);
18246 
18253 HC_INTERFACE void HC_CDECL HC_Show_Text_Encoding (Key key, char *encoding);
18254 
18290 HC_INTERFACE void HC_CDECL HC_Show_Text_Font (char *options);
18291 
18298 HC_INTERFACE void HC_CDECL HC_Show_Text_Length (Key key, int *length);
18299 
18316 HC_INTERFACE void HC_CDECL HC_Show_Text_Path (float *x, float *y, float *z);
18317 HC_INTERFACE void HC_CDECL HC_Show_Text_Size (float *value);
18318 
18332 HC_INTERFACE void HC_CDECL HC_Show_Text_Spacing (float *spacing);
18333 
18364 HC_INTERFACE void HC_CDECL HC_Show_Texture (char const *texture, char *definition);
18365 
18373 HC_INTERFACE void HC_CDECL HC_Show_Shader (char const *name, char *definition, char *shader_source);
18374 
18409 HC_INTERFACE void HC_CDECL HC_Show_Local_Texture (char const *texture_name, char *definition);
18410 
18416 HC_INTERFACE void HC_CDECL HC_Show_Texture_Count (int *count);
18417 
18423 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Count (int *count);
18424 HC_INTERFACE void HC_CDECL HC_Show_Shape_Count (int *count);
18425 
18431 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Count (int *count);
18432 
18447 HC_INTERFACE void HC_CDECL HC_Show_Texture_Matrix (float matrix[]);
18448 
18465 HC_INTERFACE void HC_CDECL HC_Show_Time (float *time);
18466 
18472 HC_INTERFACE void HC_CDECL HC_Show_User_Index_Count (int *count);
18473 
18489 HC_INTERFACE void HC_CDECL HC_Show_User_Indices (int count[], long indices[], void **values);
18490 
18507 HC_INTERFACE void HC_CDECL HC_Show_User_Options (char *list);
18508 
18519 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options (unsigned short *options);
18520 
18534 HC_INTERFACE void HC_CDECL HC_Show_User_Options_Length (int *length);
18535 
18541 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options_Length (int *length);
18542 HC_INTERFACE void HC_CDECL HC_Show_User_Value (intptr_t *data);
18543 
18558 HC_INTERFACE void HC_CDECL HC_Show_Visibility (char *list);
18559 
18570 HC_INTERFACE void HC_CDECL HC_Show_Wakeup (float *time);
18571 
18589 HC_INTERFACE void HC_CDECL HC_Show_Window (float *left, float *right, float *bottom, float *top);
18590 HC_INTERFACE void HC_CDECL HC_Show_Window_With_Options (float *left, float *right, float *bottom, float *top, char *list);
18591 
18606 HC_INTERFACE void HC_CDECL HC_Show_Window_Frame (char *flag);
18607 
18622 HC_INTERFACE void HC_CDECL HC_Show_Window_Pattern (char *pattern);
18623 
18642 HC_INTERFACE void HC_CDECL HC_Translate_Object (double x, double y, double z);
18643 
18650 HC_INTERFACE void HC_CDECL HC_DTranslate_Object (double x, double y, double z);
18651 
18670 HC_INTERFACE void HC_CDECL HC_Translate_Texture (double u, double v, double w);
18671 
18677 HC_INTERFACE void HC_CDECL HC_UnDefine_Alias (char const *name);
18678 
18684 HC_INTERFACE void HC_CDECL HC_UnDefine_Callback_Name (char const *name);
18685 
18691 HC_INTERFACE void HC_CDECL HC_UnDefine_Color_Name (char const *name);
18692 
18698 HC_INTERFACE void HC_CDECL HC_UnDefine_Error_Handler (Void_Routine handler);
18699 
18705 HC_INTERFACE void HC_CDECL HC_UnDefine_Exit_Handler (Void_Routine handler);
18706 
18712 HC_INTERFACE void HC_CDECL HC_UnDefine_Font (char const *name);
18713 
18719 HC_INTERFACE void HC_CDECL HC_UnDefine_Glyph (char const *name);
18720 
18726 HC_INTERFACE void HC_CDECL HC_UnDefine_Line_Style (char const *name);
18727 
18732 HC_INTERFACE void HC_CDECL HC_UnDefine_Shape (char const *name);
18733 
18739 HC_INTERFACE void HC_CDECL HC_UnDefine_Texture (char const *texture_name);
18740 
18746 HC_INTERFACE void HC_CDECL HC_UnDefine_Local_Texture (char const *texture_name);
18747 
18753 HC_INTERFACE void HC_CDECL HC_UnDefine_Shader (char const *iname);
18754 
18763 HC_INTERFACE void HC_CDECL HC_UnSet_Bounding_Volume (void);
18764 
18769 HC_INTERFACE void HC_CDECL HC_UnSet_Callback (void);
18770 
18775 HC_INTERFACE void HC_CDECL HC_UnSet_Camera (void);
18776 
18781 HC_INTERFACE void HC_CDECL HC_UnSet_Color (void);
18782 
18787 HC_INTERFACE void HC_CDECL HC_UnSet_Color_Map (void);
18788 
18793 HC_INTERFACE void HC_CDECL HC_UnSet_Driver_Options (void);
18794 
18799 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Pattern (void);
18800 
18805 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Weight (void);
18806 
18811 HC_INTERFACE void HC_CDECL HC_UnSet_Face_Pattern (void);
18812 
18817 HC_INTERFACE void HC_CDECL HC_UnSet_Handedness (void);
18818 
18823 HC_INTERFACE void HC_CDECL HC_UnSet_Heuristics (void);
18824 
18829 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Pattern (void);
18830 
18835 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Weight (void);
18836 
18841 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Size (void);
18842 
18847 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Symbol (void);
18848 
18853 HC_INTERFACE void HC_CDECL HC_UnSet_Modelling_Matrix (void);
18854 
18859 HC_INTERFACE void HC_CDECL HC_UnSet_Normal (void);
18860 
18866 HC_INTERFACE void HC_CDECL HC_UnSet_One_Callback (char const *callback);
18867 
18874 HC_INTERFACE void HC_CDECL HC_UnSet_One_Color (char const *which);
18875 
18881 HC_INTERFACE void HC_CDECL HC_UnSet_One_Driver_Option (char const *which);
18882 
18888 HC_INTERFACE void HC_CDECL HC_UnSet_One_Heuristic (char const *which);
18889 
18895 HC_INTERFACE void HC_CDECL HC_UnSet_One_Rendering_Option (char const *which);
18896 
18902 HC_INTERFACE void HC_CDECL HC_UnSet_One_Selectability (char const *which);
18903 
18909 HC_INTERFACE void HC_CDECL HC_UnSet_One_Text_Font (char const *which);
18910 
18916 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Index (long index);
18917 
18923 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Option (char const *which);
18924 
18930 HC_INTERFACE void HC_CDECL HC_UnSet_One_Unicode_Option (unsigned short const *which);
18931 
18937 HC_INTERFACE void HC_CDECL HC_UnSet_One_Visibility (char const *which);
18938 
18943 HC_INTERFACE void HC_CDECL HC_UnSet_Parameter (void);
18944 
18949 HC_INTERFACE void HC_CDECL HC_UnSet_Rendering_Options (void);
18950 
18955 HC_INTERFACE void HC_CDECL HC_UnSet_Selectability (void);
18956 
18961 HC_INTERFACE void HC_CDECL HC_UnSet_Streaming_Mode (void);
18962 
18967 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Alignment (void);
18968 
18973 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Font (void);
18974 
18979 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Path (void);
18980 
18985 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Spacing (void);
18986 
18991 HC_INTERFACE void HC_CDECL HC_UnSet_Texture_Matrix (void);
18992 
18997 HC_INTERFACE void HC_CDECL HC_UnSet_User_Options (void);
18998 
19003 HC_INTERFACE void HC_CDECL HC_UnSet_Unicode_Options (void);
19004 HC_INTERFACE void HC_CDECL HC_UnSet_User_Indices (void);
19005 HC_INTERFACE void HC_CDECL HC_UnSet_User_Data (void);
19006 HC_INTERFACE void HC_CDECL HC_UnSet_User_Value (void);
19007 
19012 HC_INTERFACE void HC_CDECL HC_UnSet_Visibility (void);
19013 
19018 HC_INTERFACE void HC_CDECL HC_UnSet_Window (void);
19019 
19024 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Frame (void);
19025 
19030 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Pattern (void);
19031 
19068 HC_INTERFACE bool HC_CDECL HC_Update_Display (void);
19069 
19089 HC_INTERFACE bool HC_CDECL HC_Update_Display_Timed (double time);
19090 
19106 HC_INTERFACE bool HC_CDECL HC_Update_One_Display (char const *segment);
19107 
19122 HC_INTERFACE bool HC_CDECL HC_Update_One_Display_Timed (char const *segment, double time);
19123 
19198 HC_INTERFACE bool HC_CDECL HC_Write_Metafile (char const *segment, char const *file, char const *options);
19199 
19216 HC_INTERFACE void HC_CDECL HC_Zoom_Camera (double zoom);
19217 
19266 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Pointer (Key key, const char * data_type, void * value);
19267 
19279 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Options (Key key, char *list);
19280 
19321 HC_INTERFACE void HC_CDECL HC_Set_Geometry_Options (Key key, const char *list); // HC_Edit_Geometry_Options
19322 
19363 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Surface (
19364  int u_degree,
19365  int v_degree,
19366  int u_count,
19367  int v_count,
19368  Point const points[],
19369  float const weights[],
19370  float const u_knots[],
19371  float const v_knots[]);
19372 
19397 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface_Size (
19398  Key key,
19399  int *u_degree,
19400  int *v_degree,
19401  int *u_count,
19402  int *v_count,
19403  int *weights_count,
19404  int *u_knots_count,
19405  int *v_knots_count);
19406 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface (
19407  Key key,
19408  int *u_degree,
19409  int *v_degree,
19410  int *u_count,
19411  int *v_count,
19412  Point points[],
19413  float weights[],
19414  float u_knots[],
19415  float v_knots[]);
19416 
19445 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Poly (
19446  int cpcount,
19447  float const points[]);
19448 
19489 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Curve (
19490  int degree,
19491  int cpcount,
19492  float const control_points[],
19493  float const weights[],
19494  float const knots[],
19495  double start_u,
19496  double end_u);
19497 
19526 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface (
19527  Key key,
19528  int cp_offset,
19529  int weights_offset,
19530  int u_knot_offset,
19531  int v_knot_offset,
19532  int cp_replace_count,
19533  int weights_replace_count,
19534  int u_knot_replace_count,
19535  int v_knot_replace_count,
19536  Point const points[],
19537  float const weights[],
19538  float const u_knots[],
19539  float const v_knots[]);
19540 
19550 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Points (
19551  Key key,
19552  int cp_offset,
19553  int cp_replace_count,
19554  Point const points[]);
19555 
19565 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Weights (
19566  Key key,
19567  int weights_offset,
19568  int weights_replace_count,
19569  float const weights[]);
19570 
19583 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Knots (
19584  Key key,
19585  int u_knot_offset,
19586  int v_knot_offset,
19587  int u_knot_replace_count,
19588  int v_knot_replace_count,
19589  float const u_knots[],
19590  float const v_knots[]);
19591 
19638 HC_INTERFACE void HC_CDECL HC_Show_Trim_Count (
19639  int * count);
19640 
19699 HC_INTERFACE void HC_CDECL HC_Show_Trim_Type (
19700  int index,
19701  char * trim_type);
19702 
19725 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly (
19726  int index,
19727  int * count,
19728  float points[]);
19729 
19736 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly_Count (
19737  int index,
19738  int * count);
19739 
19769 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve (
19770  int index,
19771  int * degree,
19772  int * cp_count,
19773  float points[],
19774  float weights[],
19775  float knots[],
19776  float * start_u,
19777  float * end_u);
19778 
19788 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve_Count (
19789  int index,
19790  int * degree,
19791  int * cp_count,
19792  int * w_count,
19793  int * knot_count);
19794 
19825 HC_INTERFACE void HC_CDECL HC_Delete_Trim (
19826  int index);
19827 
19840 HC_INTERFACE void HC_CDECL HC_Open_Trim (
19841  int offset);
19842 
19847 HC_INTERFACE void HC_CDECL HC_Close_Trim (void);
19848 
19860 HC_INTERFACE void HC_CDECL HC_Set_Trim_Operation (
19861  int index,
19862  char const * operation);
19863 
19875 HC_INTERFACE void HC_CDECL HC_Show_Trim_Operation (
19876  int index,
19877  char * operation);
19878 
19885 HC_INTERFACE void HC_CDECL HC_Create_Trim_Collection (void);
19886 
19894 HC_INTERFACE void HC_CDECL HC_Set_Variable_Line_Weight (
19895  char const * weight);
19896 
19904 HC_INTERFACE void HC_CDECL HC_Set_Variable_Edge_Weight (
19905  char const * weight);
19906 
19969 HC_INTERFACE void HC_CDECL HC_Set_Variable_Marker_Size (
19970  char const * size);
19971 
19981 HC_INTERFACE void HC_CDECL HC_Show_Variable_Edge_Weight (
19982  char * weight);
19983 
19994 HC_INTERFACE void HC_CDECL HC_Show_Variable_Line_Weight (
19995  char * weight);
19996 
20007 HC_INTERFACE void HC_CDECL HC_Show_Variable_Marker_Size (
20008  char * size);
20009 
20023 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Edge_Weight (
20024  int count,
20025  Key const keys[],
20026  char * weight); // HC_PShow_Net_Variable_Edge_Weight
20027 
20041 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Line_Weight (
20042  int count,
20043  Key const keys[],
20044  char * weight); // HC_PShow_Net_Variable_Line_Weight
20045 
20059 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Marker_Size (
20060  int count,
20061  Key const keys[],
20062  char * size); // HC_PShow_Net_Variable_Marker_Size
20063 
20078 HC_INTERFACE void HC_CDECL HC_MShow_Character_Attributes(
20079  Key key,
20080  int offset,
20081  int count,
20082  char * options);
20083 
20090 HC_INTERFACE void HC_CDECL HC_Show_Character_Attribute_Cou(
20091  Key key,
20092  int * count); // HC_Show_Character_Attribute_Count
20093 
20102 HC_INTERFACE void HC_CDECL HC_Show_One_Character_Attribute(
20103  Key key,
20104  int offset,
20105  char const *which,
20106  char * options);
20107 
20113 HC_INTERFACE void HC_CDECL HC_Set_Faces (
20114  int first_face,
20115  int face_count);
20116 
20121 HC_INTERFACE void HC_CDECL HC_Set_Region (
20122  int region);
20123 
20131 HC_INTERFACE void HC_CDECL HC_MSet_Region_Faces (
20132  Key key,
20133  int region,
20134  int first_face,
20135  int face_count);
20136 
20144 HC_INTERFACE void HC_CDECL HC_MSet_Face_Regions (
20145  Key key,
20146  int first_face,
20147  int face_count,
20148  int const regions[]);
20149 
20155 HC_INTERFACE void HC_CDECL HC_Show_Faces (
20156  int * face_count,
20157  int faces[]);
20158 
20164 HC_INTERFACE void HC_CDECL HC_Show_Faces_Count (
20165  int * face_count);
20166 
20171 HC_INTERFACE void HC_CDECL HC_Show_Region (
20172  int region[]);
20173 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces (
20174  Key key,
20175  int region,
20176  int * face_count,
20177  int faces[]);
20178 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces_Count (
20179  Key key,
20180  int region,
20181  int * face_count);
20182 
20189 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions (
20190  Key key,
20191  int * face_count,
20192  int regions[]);
20193 
20200 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions_Count (
20201  Key key,
20202  int * face_count);
20203 HC_INTERFACE void HC_CDECL HC_MShow_Partial_Face_Regions (
20204  Key key,
20205  int first_face,
20206  int face_count,
20207  int regions[]);
20208 
20215 HC_INTERFACE void HC_CDECL HC_Show_Region_Range (
20216  Key key,
20217  int * lowest,
20218  int * highest);
20219 
20244 HC_INTERFACE Key HC_CDECL HC_Insert_PolyCylinder (int p_count, Point const pts[], int r_count, float const radii[], char const *capping);
20245 
20256 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder (Key key, int *p_count, Point pts[], int *r_count, float radii[], char *capping);
20257 
20266 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder_Counts (Key key, int *p_count, int *r_count, char *capping);
20267 
20275 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_From_Region (Key key1, int region, char const *options);
20276 
20285 HC_INTERFACE Key HC_CDECL HC_Insert_Unicode_Text (
20286  double x,
20287  double y,
20288  double z,
20289  unsigned short const text[]);
20290 
20299 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Text (
20300  Key key,
20301  float *x,
20302  float *y,
20303  float *z,
20304  unsigned short text[]);
20305 
20342 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Shell (
20343  char const *action,
20344  char const *start_seg,
20345  int point_count,
20346  Point const points[],
20347  int face_list_length,
20348  int const face_list[]);
20349 
20360 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Shell (
20361  char const *action,
20362  char const *start_seg,
20363  int point_count,
20364  DPoint const points[],
20365  int face_list_length,
20366  int const face_list[]);
20367 
20402 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Sh_W_Op (
20403  char const *action,
20404  char const *start_seg,
20405  int point_count,
20406  Point const points[],
20407  int face_list_length,
20408  int const face_list[],
20409  char const *options); // HC_Compute_Selection_By_Shell_With_Options
20410 
20422 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Sh_W_O (
20423  char const *action,
20424  char const *start_seg,
20425  int point_count,
20426  DPoint const points[],
20427  int face_list_length,
20428  int const face_list[],
20429  char const *options); // HC_DCompute_Selection_By_Shell_With_Options
20430 
20481 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_S (
20482  char const *action,
20483  char const *start_seg,
20484  Key shellkey,
20485  int number_of_sweeps,
20486  float const matrices[],
20487  char const *options); // HC_Compute_Selection_By_Swept_Shell
20488 
20499 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_S (
20500  char const *action,
20501  char const *start_seg,
20502  Key shellkey,
20503  int number_of_sweeps,
20504  double const matrices[],
20505  char const *options); // HC_DCompute_Selection_By_Swept_Shell
20506 
20518 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_2 (
20519  char const *action,
20520  char const *start_seg,
20521  Key shellkey,
20522  int sweepcount,
20523  float const matrices[],
20524  char const *options,
20525  float bounding_box[]); // HC_Compute_Selection_By_Swept_Shell2
20526 
20538 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_2 (
20539  char const *action,
20540  char const *start_seg,
20541  Key shellkey,
20542  int sweepcount,
20543  double const matrices[],
20544  char const *options,
20545  double bounding_box[]); // HC_DCompute_Selection_By_Swept_Shell2
20546 
20573 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Key (
20574  char const *action,
20575  char const *start_seg,
20576  Key key, float const matrix[]);
20577 
20585 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Key (
20586  char const *action,
20587  char const *start_seg,
20588  Key key, double const matrix[]);
20589 
20609 HC_INTERFACE Key HC_CDECL HC_Compute_Swept_Shell(
20610  Key shellkey,
20611  Vector const * direction_in,
20612  Key * front_key,
20613  Key * back_key,
20614  Key * side_key,
20615  char const * options);
20616 
20626 HC_INTERFACE Key HC_CDECL HC_DCompute_Swept_Shell(
20627  Key shellkey,
20628  DVector const * direction_in,
20629  Key * front_key,
20630  Key * back_key,
20631  Key * side_key,
20632  char const * options);
20633 
20670 HC_INTERFACE void HC_CDECL HC_Compute_Swept_Shell_Along_P (
20671  Key shellkey,
20672  int number_of_sweeps,
20673  float const matrices[],
20674  char const * options); // HC_Compute_Swept_Shell_Along_Path
20675 
20683 HC_INTERFACE void HC_CDECL HC_DCompute_Swept_Shell_Along_P (
20684  Key shellkey,
20685  int number_of_sweeps,
20686  double const matrices[],
20687  char const * options); // HC_DCompute_Swept_Shell_Along_Path
20688 
20720 HC_INTERFACE float HC_CDECL HC_Compute_Selection_Dist_By_Sh (
20721  char const * action,
20722  char const * start_segment,
20723  int pcount,
20724  Point const points[],
20725  int flist_length,
20726  int const faces[] ,
20727  const char * options); // HC_Compute_Selection_Distance_By_Shell
20728 
20740 HC_INTERFACE double HC_CDECL HC_DCompute_Selection_Dist_By_S (
20741  char const * action,
20742  char const * start_segment,
20743  int pcount,
20744  DPoint const points[],
20745  int flist_length,
20746  int const faces[] ,
20747  const char * options); // HC_DCompute_Selection_Distance_By_Shell
20748 
20761 HC_INTERFACE void HC_CDECL HC_Begin_Shell_Selection (void);
20762 
20767 HC_INTERFACE void HC_CDECL HC_End_Shell_Selection (void);
20768 
20809 HC_INTERFACE int HC_CDECL HC_Compute_Intersect_Polyline (
20810  int pcount1,
20811  Point const points1[],
20812  int flist_length3,
20813  int const face_list1[],
20814  int pcount2,
20815  Point const points2[],
20816  int flist_length2,
20817  int const face_list2[],
20818  int *polyline_count,
20819  int polyline_lengths[],
20820  int *polyline_points_count,
20821  Point polyline_points[]);
20822 
20838 HC_INTERFACE int HC_CDECL HC_Show_Intersect_Polyline_Size (
20839  int pcount1,
20840  Point const points1[],
20841  int flist_length3,
20842  int const face_list1[],
20843  int pcount2,
20844  Point const points2[],
20845  int flist_length2,
20846  int const face_list2[],
20847  int *polyline_count,
20848  int *polyline_points_count);
20849 
20866 HC_INTERFACE int HC_CDECL HC_DCompute_Intersect_Polyline (
20867  int pcount1,
20868  DPoint const points1[],
20869  int flist_length3,
20870  int const face_list1[],
20871  int pcount2,
20872  DPoint const points2[],
20873  int flist_length2,
20874  int const face_list2[],
20875  int *polyline_count,
20876  int polyline_lengths[],
20877  int *polyline_points_count,
20878  DPoint polyline_points[]);
20879 HC_INTERFACE int HC_CDECL HC_DShow_Intersect_Polyline_Size (
20880  int pcount1,
20881  DPoint const points1[],
20882  int flist_length3,
20883  int const face_list1[],
20884  int pcount2,
20885  DPoint const points2[],
20886  int flist_length2,
20887  int const face_list2[],
20888  int *polyline_count,
20889  int *polyline_points_count);
20890 
20907 HC_INTERFACE bool HC_CDECL HC_Compute_Point_Inside_Shell (
20908  Point const *test_point,
20909  int point_count,
20910  Point const points[],
20911  int face_list_length,
20912  int const face_list[]);
20913 
20923 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_Inside_Shell (
20924  DPoint const *test_point,
20925  int point_count,
20926  DPoint const points[],
20927  int face_list_length,
20928  int const face_list[]);
20929 
20947 HC_INTERFACE bool HC_CDECL HC_Compute_Point_On_Shell (
20948  Point const *test_point,
20949  double tolerance,
20950  int point_count,
20951  Point const points[],
20952  int face_list_length,
20953  int const face_list[]);
20954 
20965 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_On_Shell (
20966  DPoint const *test_point,
20967  double tolerance,
20968  int point_count,
20969  DPoint const points[],
20970  int face_list_length,
20971  int const face_list[]);
20972 
21010 HC_INTERFACE void HC_CDECL HC_Compute_Points_Inside_Shell (
21011  int test_point_count,
21012  Point const test_points[],
21013  Vector const test_points_vectors[],
21014  int point_count,
21015  Point const points[],
21016  int face_list_length,
21017  int const face_list[],
21018  char const *options,
21019  int results[]);
21020 HC_INTERFACE void HC_CDECL HC_DCompute_Points_Inside_Shell (
21021  int test_point_count,
21022  DPoint const test_points[],
21023  DVector const test_points_vectors[],
21024  int point_count,
21025  DPoint const points[],
21026  int face_list_length,
21027  int const face_list[],
21028  char const *options,
21029  int results[]);
21030 
21053 HC_INTERFACE int HC_CDECL HC_Compute_Points_On_Shell (
21054  int test_point_count,
21055  Point const test_points[],
21056  double tolerance,
21057  int point_count,
21058  Point const points[],
21059  int face_list_length,
21060  int const face_list[],
21061  int results[]);
21062 
21075 HC_INTERFACE int HC_CDECL HC_DCompute_Points_On_Shell (
21076  int test_point_count,
21077  DPoint const test_points[],
21078  double tolerance,
21079  int point_count,
21080  DPoint const points[],
21081  int face_list_length,
21082  int const face_list[],
21083  int results[]);
21084 
21117 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_Sh (
21118  int test_point_count,
21119  Point const test_points[],
21120  double tolerance,
21121  int point_count,
21122  Point const points[],
21123  int face_list_length,
21124  int const face_list[],
21125  const char *options,
21126  float results[]); // HC_Compute_Points_Distance_From_Shell
21127 
21141 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_F_S (
21142  int test_point_count,
21143  DPoint const test_points[],
21144  double tolerance,
21145  int point_count,
21146  DPoint const points[],
21147  int face_list_length,
21148  int const face_list[],
21149  const char *options,
21150  double results[]); // HC_DCompute_Points_Distance_From_Shell
21151 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_S2 (
21152  int test_pcount,
21153  Point const test_pt[],
21154  double tolerance,
21155  int point_count1,
21156  Point const points1[],
21157  int face_list_length3,
21158  int const face_list1[],
21159  const char *options,
21160  float results[],
21161  int face_results[]); // HC_Compute_Points_Distance_From_Shell2
21162 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_FS2 (
21163  int test_pcount,
21164  DPoint const test_pt[],
21165  double tolerance,
21166  int point_count1,
21167  DPoint const points1[],
21168  int face_list_length3,
21169  int const face_list1[],
21170  const char *options,
21171  double results[],
21172  int face_results[]); // HC_DCompute_Points_Distance_From_Shell2
21173 
21202 HC_INTERFACE void HC_CDECL HC_Compute_Shell_Enclosure (
21203  int point_count1,
21204  Point const points1[],
21205  int face_list_length3,
21206  int const face_list1[],
21207  int point_count2,
21208  Point const points2[],
21209  int face_list_length2,
21210  int const face_list2[],
21211  char *result);
21212 
21224 HC_INTERFACE void HC_CDECL HC_DCompute_Shell_Enclosure (
21225  int point_count1,
21226  DPoint const points1[],
21227  int face_list_length3,
21228  int const face_list1[],
21229  int point_count2,
21230  DPoint const points2[],
21231  int face_list_length2,
21232  int const face_list2[],
21233  char *result);
21234 
21271 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Ray (
21272  char const *action,
21273  char const *start_seg,
21274  Point const *start_point,
21275  Vector const *direction);
21276 
21285 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Ray (
21286  char const *action,
21287  char const *start_seg,
21288  DPoint const *start_point,
21289  DVector const *direction);
21290 
21316 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid (char const *segment, char const *options, Point *min, Point *max);
21317 
21329 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Key (Key segKey, char const *options, Point *min, Point *max);
21330 
21345 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, Point *min, Point *max);
21346 
21373 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere (char const *segment, char const *options, Point *center, float *radius);
21374 
21384 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Key (Key segKey, char const *options, Point *center, float *radius);
21385 
21400 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Path (int count, Key const keys[], char const *options, Point *center, float *radius);
21401 
21410 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid (char const *segment, char const *options, DPoint *min, DPoint *max);
21411 
21421 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Key (Key segKey, char const *options, DPoint *min, DPoint *max);
21422 
21432 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, DPoint *min, DPoint *max);
21433 
21442 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere (char const *segment, char const *options, DPoint *center, double *radius);
21443 
21453 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Key (Key segKey, char const *options, DPoint *center, double *radius);
21454 
21465 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Path (int count, Key const keys[], char const *options, DPoint *center, double *radius);
21466 
21501 HC_INTERFACE void HC_CDECL HC_Set_Polygonal_Clip_Region (int count, Point const points[], char const * options);
21502 
21509 HC_INTERFACE void HC_CDECL HC_DSet_Polygonal_Clip_Region (int count, DPoint const points[], char const * options);
21510 
21548 HC_INTERFACE void HC_CDECL HC_Set_Complex_Clip_Region (int loops, int const lengths[], Point const points[], char const * options);
21549 
21557 HC_INTERFACE void HC_CDECL HC_DSet_Complex_Clip_Region (int loops, int const lengths[], DPoint const points[], char const * options);
21558 
21568 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region (
21569  int *loopCount, int loopSizeArray[], Point points[], char *options);
21570 
21578 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region (
21579  int *loopCount, int loopSizeArray[], DPoint points[], char *options);
21580 
21592 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region_Size (
21593  int *loopCount, int *totalPointCount, char *options);
21594 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region_Size (
21595  int *loopCount, int *totalPointCount, char *options);
21596 
21619 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region (
21620  int count, Key const keys[], int *loopCount, int loopSizeArray[], Point points[], char *spec);
21621 
21637 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region_Size (
21638  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
21639 
21650 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region (
21651  int count, Key const keys[], int *loopCount, int loopSizeArray[], DPoint points[], char *spec);
21652 
21662 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region_Size (
21663  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
21664 
21669 HC_INTERFACE void HC_CDECL HC_UnSet_Clip_Region (void);
21670 
21688 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD (char const *segment, char const *options);
21689 
21696 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD_By_Key (Key segKey, char const *options);
21697 
21744 HC_INTERFACE void HC_CDECL HC_Set_Text_Region (int pCount, Point const points[], char const *options);
21745 
21758 HC_INTERFACE void HC_CDECL HC_Show_Text_Region (int *count, Point points[], char *options);
21759 
21766 HC_INTERFACE void HC_CDECL HC_DSet_Text_Region (int pCount, DPoint const points[], char const *options);
21767 
21768 
21769 HC_INTERFACE void HC_CDECL HC_DShow_Text_Region (int *count, DPoint points[], char *options);
21770 
21776 HC_INTERFACE void HC_CDECL HC_Show_Text_Region_Count (int *count);
21777 
21782 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Region (void);
21783 
21821 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent (
21822  char const *segment, char const *options, float *left, float *right, float *bottom, float *top);
21823 
21835 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Pat (
21836  int count, Key const keys[], char const *options, float *left, float *right, float *bottom, float *top); // HC_Compute_Screen_Extent_By_Path
21837 
21848 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Key (
21849  Key segKey, char const *options, float *left, float *right, float *bottom, float *top);
21850 
21869 HC_INTERFACE void HC_CDECL HC_Set_Camera_Near_Limit (double wlimit);
21870 
21877 HC_INTERFACE bool HC_CDECL HC_Show_Camera_Near_Limit (float *limit);
21878 
21892 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Camera_Near_Limit (int count, Key const keys[], float *limit);
21893 
21900 HC_INTERFACE void HC_CDECL HC_UnSet_Camera_Near_Limit (void);
21901 
21911 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Opt_Len (int count, Key const keys[], char const * which, int *length); // HC_PShow_One_Net_User_Option_Length
21912 
21919 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option_Length (char const *which, int *length);
21920 
21930 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Uni_Opt_Len (int count, Key const keys[], unsigned short const * which, int * length); // HC_PShow_One_Net_Unicode_Option_Length
21931 
21938 HC_INTERFACE void HC_CDECL HC_Show_One_Uni_Option_Length (unsigned short const *text, int *length); // HC_Show_One_Unicode_Option_Length
21939 
21959 HC_INTERFACE Key HC_CDECL HC_Show_Original_Key (Key key);
21960 
21980 HC_INTERFACE Key HC_CDECL HC_Show_Renumbered_Key (Key key, char *status);
21981 
21990 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Angle (Vector const *vector, Vector const *vector2);
21991 
21998 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Angle (DVector const *vector, DVector const *vector2);
21999 
22020 HC_INTERFACE void HC_CDECL HC_Set_Conditions (char const *list);
22021 
22026 HC_INTERFACE void HC_CDECL HC_UnSet_Conditions (void);
22027 
22033 HC_INTERFACE void HC_CDECL HC_UnSet_One_Condition (char const *condition);
22034 
22057 HC_INTERFACE void HC_CDECL HC_Set_Conditional_Action (char const * options, char const * condition);
22058 
22064 HC_INTERFACE void HC_CDECL HC_Show_Cond_Action_Types (char * action_types); // HC_Show_Conditional_Action_Types
22065 
22073 HC_INTERFACE void HC_CDECL HC_Show_One_Conditional_Action (char const * action_type, char * options, char * condition);
22074 
22079 HC_INTERFACE void HC_CDECL HC_UnSet_Conditional_Actions (void);
22080 
22086 HC_INTERFACE void HC_CDECL HC_UnSet_One_Conditional_Action (char const *which);
22087 
22100 HC_INTERFACE Key HC_CDECL HC_Conditional_Style (char const *style, char const *conditions);
22101 
22109 HC_INTERFACE Key HC_CDECL HC_Conditional_Style_By_Key (Key seg_key, char const *conditions);
22110 HC_INTERFACE bool HC_CDECL HC_Evaluate_Condition(const char * expression, const char * conditions);
22111 HC_INTERFACE Key HC_CDECL HC_Conditional_Include (char const *include, char const *condition);
22112 
22120 HC_INTERFACE Key HC_CDECL HC_Conditional_Include_By_Key (Key seg_key, char const *condition);
22121 
22127 HC_INTERFACE void HC_CDECL HC_Show_Conditions (char *list);
22128 
22140 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions (int count, Key const keys[], char *options);
22141 
22147 HC_INTERFACE void HC_CDECL HC_Show_Conditions_Length (int *length);
22148 
22160 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions_Length (int count, Key const keys[], int *length);
22161 
22168 HC_INTERFACE void HC_CDECL HC_Show_One_Condition (char const *condition, char *value);
22169 
22180 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Condition (int count, Key const keys[], char const * condition, char * options);
22181 
22189 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Include (Key key, char *pathname, char *conditions);
22190 
22198 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Style (Key key, char *pathname, char *conditions);
22199 
22209 HC_INTERFACE Key HC_CDECL HC_Copy_Segment_With_Mapping (char const *source_seg, char const *destination, int count, Key const interesting_keys[], Key copied_keys[]);
22210 HC_INTERFACE void HC_CDECL HC_Reverse_Contents_Search (void);
22211 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Colors_By_Value (Key key, char const *type, int offset, int count, RGB rgb[]);
22212 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Colors_By_FInd (Key key, char const *type, int offset, int pcount, float indices[]); // HC_MShow_Vertex_Colors_By_FIndex
22213 
22222 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_Value (Key key, int offset, int count, RGB rgb[]);
22223 
22232 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_FIndex (Key key, int offset, int count, float findices[]);
22233 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22234 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameters (Key key, int offset, int pcount, int *number, float params[]);
22235 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameter_Size (Key key, int *number);
22236 
22253 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center (double x, double y, double z);
22254 
22268 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center_By_Key (Key key, double x, double y, double z);
22269 
22276 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center (double x, double y, double z);
22277 
22285 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center_By_Key (Key key, double x, double y, double z);
22286 
22304 HC_INTERFACE bool HC_CDECL HC_Show_Circular_Center (Key key, float * x, float * y, float * z);
22305 
22313 HC_INTERFACE bool HC_CDECL HC_DShow_Circular_Center (Key key, double * x, double * y, double * z);
22314 HC_INTERFACE void HC_CDECL HC_MShow_Net_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22315 
22329 HC_INTERFACE bool HC_CDECL HC_Show_Error (char * severity, int * category, int * severity_level);
22330 
22338 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Visibilities (Key key, int offset, int count, char const settings[]);
22339 
22346 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Visibilities (Key key, int offset, int count);
22347 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Visibilities (Key key, int offset, int count, char settings[]);
22348 
22377 HC_INTERFACE void HC_CDECL HC_MSet_Face_Visibilities (Key key, int offset, int count, char const settings[]);
22378 
22391 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Visibilities (Key key, int offset, int count);
22392 
22406 HC_INTERFACE void HC_CDECL HC_MShow_Face_Visibilities (Key key, int offset, int count, char settings[]);
22407 
22415 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Vertex_Vis (Key key, int count, int const indices[], char const settings[]); // HC_MSet_Specific_Vertex_Visibilities
22416 
22423 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vertex_Vis (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Visibilities
22424 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vertex_Vis (Key key, int count, int const indices[], char settings[]); // HC_MShow_Specific_Vertex_Visibilities
22425 
22439 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Face_Vis (Key key, int count, int const indices[], char const settings[]); // HC_MSet_Specific_Face_Visibilities,HC_MSet_Face_Visibilities_By_Index
22440 
22448 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Face_Vis (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Face_Visibilities,HC_MUnSet_Face_Visibilities_By_Index
22449 
22467 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Face_Vis (Key key, int count, int const indices[], char settings[]); // HC_MShow_Specific_Face_Visibilities,HC_MShow_Face_Visibilities_By_Index
22468 
22482 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Colors (Key key, int offset, int count);
22483 
22491 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors (Key key, int offset, int count);
22492 
22513 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Section (int count, Plane const planes[]);
22514 
22521 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Section (int count, DPlane const planes[]);
22522 
22535 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section (Key key, int *count, Plane planes[]);
22536 
22548 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section_Count (Key key, int *count);
22549 
22556 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Section (Key key, int *count, DPlane planes[]);
22557 
22567 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, Plane const iplanes[]);
22568 
22569 
22578 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, DPlane const iplanes[]);
22579 
22595 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation(Point const points[], int flist_length, int const face_list[], int *tlist_length, int triangle_list[]);
22596 
22605 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation_Size(Point const points[], int flist_length, int const face_list[], int *tlist_length);
22606 
22623 HC_INTERFACE bool HC_CDECL HC_Compute_Polyline_From_Curve(Key key, char const *options, int *pcount, Point points[]);
22624 
22632 HC_INTERFACE bool HC_CDECL HC_DCompute_Polyline_From_Curve(Key key, char const *options, int *pcount, DPoint points[]);
22633 
22641 HC_INTERFACE void HC_CDECL HC_Compute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_Compute_Polyline_From_Curve_Size
22642 
22649 HC_INTERFACE void HC_CDECL HC_DCompute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_DCompute_Polyline_From_Curve_Size
22650 
22739 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree (char const * segname, char const * option_string);
22740 
22747 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree_By_Key (Key segkey, char const * option_string);
22748 
22770 HC_INTERFACE void HC_CDECL HC_Show_Optimized_Mapping (char const * segname, char const * direction,
22771  Key in_owner, Key in_key, int in_region,
22772  Key * out_owner, Key * out_key, int * out_region);
22773 
22789 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture(int count, Key const keys[],char const * name, char *output, Key * out_image);
22790 
22807 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Texture(int count, Key const keys[], char const * name, char const * opt, char *output);
22808 
22822 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shader(int count, Key const keys[],char const * name, char *output, char *shader_source);
22823 
22835 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Shader_Option(int count, Key const keys[], char const * name, char const * opt, char *output);
22836 
22849 HC_INTERFACE void HC_CDECL HC_Show_Priority_Range (Key key, int *low, int *high);
22850 
22860 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Points (Key key, int count, int const indices[]);
22861 
22871 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Faces (Key key, int count, int const indices[]);
22872 
22873 
22888 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_FIndex (
22889  Key key, char const *types, int count, int const offsets[], float const indices[]); // HC_MSet_Specific_Vertex_Colors_By_FIndex
22890 
22906 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_Value (
22907  Key key, char const *types, int count, int const offsets[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Vertex_Colors_By_Value
22908 
22922 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_FIndex (
22923  Key key, int count, int const indices[], float const findices[]); // HC_MSet_Specific_Face_Colors_By_FIndex
22924 
22939 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_Value (
22940  Key key, int count, int const indices[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Face_Colors_By_Value
22941 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_FInd (
22942  Key key, char const *type, int pcount, int const offsets[], float indices[]); // HC_MShow_Specific_Vertex_Colors_By_FIndex
22943 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_Value (
22944  Key key, char const *type, int count, int const offsets[], RGB rgb[]); // HC_MShow_Specific_Vertex_Colors_By_Value
22945 
22954 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_FInd (
22955  Key key, int count, int const indices[], float findices[]); // HC_MShow_Specific_Face_Colors_By_FIndex
22956 
22965 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_Value (
22966  Key key, int count, int const indices[], RGB rgb[]); // HC_MShow_Specific_Face_Colors_By_Value
22967 
22975 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vertex_Colors (Key key, int count, int const offsets[]); // HC_MUnSet_Specific_Vertex_Colors
22976 
22984 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Face_Colors (Key key, int count, int const faces[]); // HC_MUnSet_Specific_Face_Colors
22985 
23003 HC_INTERFACE int HC_CDECL HC_Gather_Capping_Geometry (int key_count, Key const path_keys[], Key cut_key, char const * options);
23004 
23042 HC_INTERFACE Key HC_CDECL HC_Generate_Shell_From_Geometry(Key geom, char const *options);
23043 
23079 HC_INTERFACE Key HC_CDECL HC_Generate_Edges(Key geom, char const *options);
23080 
23096 HC_INTERFACE Key HC_CDECL HC_Generate_Poly_From_Geometry(Key geom, char const *options); // HC_Generate_Polyline_From_Geometry
23097 
23098 
23109 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood_Si (
23110  Key shell_key,
23111  int face_index,
23112  int *count); // HC_Compute_Face_Neighborhood_Size
23113 
23128 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood (
23129  Key shell_key,
23130  int face_index,
23131  int *count,
23132  int neighbors[]);
23133 
23143 HC_INTERFACE void HC_CDECL HC_Show_Net_Normal (float *x, float *y, float *z);
23144 
23159 HC_INTERFACE void HC_CDECL HC_Rollback_Ink(int count);
23160 
23190 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry (char const *segname);
23191 
23198 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_By_Key (Key geom_key);
23199 
23213 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference (char const *segname, char const *condition);
23214 
23222 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference_By_Key (Key geom_key, char const *condition);
23223 
23230 HC_INTERFACE Key HC_CDECL HC_Show_Reference_Geometry (Key reference_key);
23231 
23239 HC_INTERFACE Key HC_CDECL HC_Show_Conditional_Reference (Key reference_key, char *conditions);
23240 HC_INTERFACE void HC_CDECL HC_Show_Reference_Geometry_Filt (Key key, char *filter); // HC_Show_Reference_Geometry_Filter
23241 
23257 HC_INTERFACE void HC_CDECL HC_Begin_Open_Item_Search (void);
23258 
23268 HC_INTERFACE bool HC_CDECL HC_Find_Open_Item (Key *key, char *type, int *offset1, int *offset2);
23269 
23275 HC_INTERFACE void HC_CDECL HC_Show_Open_Item_Count (int *count);
23276 
23281 HC_INTERFACE void HC_CDECL HC_End_Open_Item_Search (void);
23282 
23296 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Length (int count, Key const keys[], int *value);
23297 
23303 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Length (int *value);
23304 
23311 HC_INTERFACE void HC_CDECL HC_Move_Key_By_Key (Key key, Key newowner); // HC_Move_By_Key_By_Key
23312 
23328 HC_INTERFACE void HC_CDECL HC_Set_User_Data (intptr_t index, void const *data, long data_length);
23329 
23346 HC_INTERFACE long HC_CDECL HC_Show_One_User_Data (intptr_t index, void *data, long data_length);
23347 
23360 HC_INTERFACE long HC_CDECL HC_Show_User_Data_Indices (intptr_t data_indices[], long data_indices_count);
23361 
23367 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Data (intptr_t index);
23368 
23385 HC_INTERFACE long HC_CDECL HC_PShow_One_Net_User_Data (
23386  int count,
23387  Key const keys[],
23388  intptr_t index,
23389  void *data,
23390  long data_length);
23391 HC_INTERFACE int HC_CDECL HC_MShow_Vertex_Colors_With_Ex (Key key, char const * geometry, int offset, int count, char result_type[], float index_colors[], RGB rgb_colors[], RGBA rgba_colors[]); // HC_MShow_Vertex_Colors_With_Existence
23392 
23400 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Normals (Key key, int offset, int count);
23401 
23409 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Normals (Key key, int offset, int count);
23410 
23419 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Parameters (Key key, int offset, int count);
23420 
23429 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Vertex_Normals (Key key, int count, int const indices[], Vector const normals[]);
23430 
23438 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vert_Normals (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Normals
23439 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vert_Normals (Key key, int count, int const indices[], Vector normals[]); // HC_MShow_Specific_Vertex_Normals
23440 
23449 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Face_Normals (Key key, int count, int const indices[], Vector const normals[]);
23450 
23458 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Face_Normals (Key key, int count, int const indices[]);
23459 
23468 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Face_Normals (Key key, int count, int const indices[], Vector normals[]);
23469 
23479 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vertex_Parameters (Key key, int count, int const indices[], int number_parameters, float const user_parameters[]); // HC_MSet_Specific_Vertex_Parameters
23480 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vertex_Parameters (Key key, int count, int const indices[], int * number_parameters, float user_parameters[]);
23481 
23489 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vert_Parameters (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Parameters
23490 
23499 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors2 (Key key, char const * type, int offset, int count);
23500 
23507 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vertex_Colors2 (Key key, char const * type, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Colors2
23508 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Vert_Colors_W_Ex (Key key, char const * geometry, int count, int const vertices[], char result_type[], float index_colors[], RGB rgb_colors[], RGBA rgba_colors[]); // HC_MShow_Specific_Vertex_Colors_With_Existence
23509 
23532 HC_INTERFACE int HC_CDECL HC_MShow_Face_Colors_With_Ex (Key key, char const * geometry, int offset, int count, char result_type[], float index_colors[], RGB rgb_colors[]); // HC_MShow_Face_Colors_With_Existence
23533 
23546 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Face_Colors_W_Ex (Key key, char const * geometry, int count, int const faces[], char result_type[], float index_colors[], RGB rgb_colors[]); // HC_MShow_Specific_Face_Colors_With_Existence
23547 HC_INTERFACE int HC_CDECL HC_MShow_Vertex_Parameters_W_Ex (Key key, int offset, int count, char existence[], int * param_width, float user_parameters[]); // HC_MShow_Vertex_Parameters_With_Existence
23548 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Vertex_Params_W_E (Key key, int count, int const specific_vertices[], char existence[], int * param_width, float user_parameters[]); // HC_MShow_Specific_Vertex_Parameters_With_Existence
23549 HC_INTERFACE int HC_CDECL HC_MShow_Vertex_Vis_W_Ex (Key key, int offset, int count, char existence[], char visibilities[]); // HC_MShow_Vertex_Visibilities_With_Existence
23550 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Vertex_Vis_W_Ex (Key key, int count, int const indices[], char existence[], char visibilities[]); // HC_MShow_Specific_Vertex_Visibilities_With_Existence
23551 
23569 HC_INTERFACE int HC_CDECL HC_MShow_Face_Vis_W_Ex (Key key, int offset, int count, char existence[], char visibilities[]); // HC_MShow_Face_Visibilities_With_Existence
23570 
23585 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Face_Vis_W_Ex (Key key, int count, int const indices[], char existence[], char visibilities[]); // HC_MShow_Specific_Face_Visibilities_With_Existence
23586 HC_INTERFACE int HC_CDECL HC_MShow_Vertex_Normals_W_Ex (Key key, int offset, int count, char existence[], Vector normals[]); // HC_MShow_Vertex_Normals_With_Existence
23587 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Vert_Normals_W_Ex (Key key, int count, int const indices[], char existence[], Vector normals[]); // HC_MShow_Specific_Vertex_Normals_With_Existence
23588 
23605 HC_INTERFACE int HC_CDECL HC_MShow_Face_Normals_W_Ex (Key key, int offset, int count, char existence[], Vector normals[]); // HC_MShow_Face_Normals_With_Existence
23606 
23621 HC_INTERFACE int HC_CDECL HC_MShow_Spec_Face_Normals_W_Ex (Key key, int count, int const indices[], char existence[], Vector normals[]); // HC_MShow_Specific_Face_Normals_With_Existence
23622 
23630 HC_INTERFACE Key HC_CDECL HC_Include_Segment_Key_By_Key (Key key, Key includer_key);
23631 
23640 HC_INTERFACE Key HC_CDECL HC_Conditional_Include_Key_By_Ke (Key key, char const *condition, Key includer_key); // HC_Conditional_Include_Key_By_Key
23641 
23658 HC_INTERFACE void HC_CDECL HC_Define_Named_Style (char const * style_name, char const * source_segment);
23659 HC_INTERFACE void HC_CDECL HC_Define_Named_Style_By_Key (char const * style_name, Key style_segment_key);
23660 
23666 HC_INTERFACE void HC_CDECL HC_UnDefine_Named_Style (char const * style_name);
23667 
23674 HC_INTERFACE Key HC_CDECL HC_Show_Named_Style (char const * style_name, char *style_source);
23675 
23680 HC_INTERFACE void HC_CDECL HC_Begin_Named_Style_Search (void);
23681 
23688 HC_INTERFACE bool HC_CDECL HC_Find_Named_Style (char * style_name);
23689 
23695 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Count (int * count);
23696 
23701 HC_INTERFACE void HC_CDECL HC_End_Named_Style_Search (void);
23702 
23712 HC_INTERFACE Key HC_CDECL HC_PShow_Net_Named_Style (
23713  int count,
23714  Key const path_keys[],
23715  char const * style_name,
23716  char * style_segment_name);
23717 
23728 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment (char const * style_name);
23729 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style (char const * style_name, char const * condition);
23730 
23737 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Segment (Key style_key, char * style_name);
23738 
23746 HC_INTERFACE Key HC_CDECL HC_Open_Segment_Key_By_Key (Key parent_segment, char const *child_segment_name);
23747 
23755 HC_INTERFACE Key HC_CDECL HC_Style_Segment_Key_By_Key (Key target_segment, Key style_segment);
23756 
23764 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment_By_Key (Key target_segment, char const * style_name);
23765 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style_By_Key (Key target_segment, char const * style_name, char const * condition);
23766 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Named_Style (
23767  Key style_key,
23768  char * style_name,
23769  char * condition);
23770 
23778 HC_INTERFACE Key HC_CDECL HC_Create_Segment_Key_By_Key (Key parent_segment, char const * child_segment_name);
23779 
23784 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles();
23785 
23791 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles_By_K(Key target_segment); // HC_Set_Default_Line_Styles_By_Key
23792 
23797 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs();
23798 
23804 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs_By_Key(Key target_segment);
23805 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes();
23806 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes_By_Key(Key target_segment);
23807 
23815 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_Key_By_Ke (Key target_segment, Key reference_key); // HC_Reference_Geometry_Key_By_Key
23816 
23829 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style (
23830  int count,
23831  Key const keys[],
23832  char const * name,
23833  char * definition);
23834 
23847 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style_Size (
23848  int count,
23849  Key const keys[],
23850  char const * name,
23851  int * size);
23852 
23865 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph (
23866  int count,
23867  Key const keys[],
23868  char const * name,
23869  char * definition);
23870 
23883 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph_Size (
23884  int count,
23885  Key const keys[],
23886  char const * name,
23887  int * size);
23888 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape (
23889  int count,
23890  Key const keys[],
23891  char const * name,
23892  float * definition);
23893 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape_Size (
23894  int count,
23895  Key const keys[],
23896  char const * name,
23897  int * size);
23898 
23920 HC_INTERFACE void HC_CDECL HC_Generate_Error (
23921  int level,
23922  int category,
23923  int specific,
23924  char const * buf1,
23925  char const * buf2,
23926  char const * buf3);
23927 HC_INTERFACE void HC_CDECL HC_Commit_Proxy (
23928  Key key,
23929  const char * options);
23930 HC_INTERFACE Key HC_CDECL HC_Create_Proxy (
23931  Key key);
23932 HC_INTERFACE int HC_CDECL HC_Inspect_Proxies(Key out_keys[], int n_out_keys);
23933 
23976 HC_INTERFACE void HC_CDECL HC_Begin_Error_Handler_Search ();
23977 
24017 HC_INTERFACE void HC_CDECL HC_Begin_Exit_Handler_Search ();
24018 
24023 HC_INTERFACE void HC_CDECL HC_End_Error_Handler_Search ();
24024 
24029 HC_INTERFACE void HC_CDECL HC_End_Exit_Handler_Search ();
24030 
24037 HC_INTERFACE bool HC_CDECL HC_Find_Error_Handler (Void_Routine * handler);
24038 
24045 HC_INTERFACE bool HC_CDECL HC_Find_Exit_Handler (Void_Routine * handler);
24046 
24054 HC_INTERFACE void HC_CDECL HC_Show_Error_Handler_Count (int * count);
24055 
24061 HC_INTERFACE void HC_CDECL HC_Show_Exit_Handler_Count (int * count);
24062 
24079 HC_INTERFACE Key HC_CDECL HC_Compute_Subshell (
24080  Key source,
24081  int keep_fcount,
24082  const int keep_faces[],
24083  int keep_pcount,
24084  const int keep_pts1[],
24085  const int keep_pts2[],
24086  int face_map[],
24087  int pts_map[]);
24088 
24097 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Edge_Vis (
24098  Key key,
24099  int count,
24100  int const indices1[],
24101  int const indices2[],
24102  char const settings[]); // HC_MSet_Specific_Edge_Visibilities
24103 
24112 HC_INTERFACE void HC_CDECL HC_MShow_Face_Normals (
24113  Key key,
24114  int offset,
24115  int count,
24116  Vector normals[]);
24117 
24130 HC_INTERFACE void HC_CDECL HC_MShow_Net_Face_Normals (
24131  Key key,
24132  int offset,
24133  int count,
24134  Vector normals[]);
24135 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Edge_Vis (
24136  Key key,
24137  int count,
24138  int const indices1[],
24139  int const indices2[],
24140  char settings[]); // HC_MShow_Specific_Edge_Visibilities
24141 
24142 
24150 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Edge_Vis (
24151  Key key,
24152  int count,
24153  int const indices1[],
24154  int const indices2[]); // HC_MUnSet_Specific_Edge_Visibilities
24155 
24169 HC_INTERFACE void HC_CDECL HC_Show_Font_Info_By_Path (
24170  int count,
24171  Key const keys[],
24172  char const * font,
24173  char const * item,
24174  char * data);
24175 
24183 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys (
24184  Key key,
24185  int * count,
24186  Key keys[]);
24187 
24194 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys_Count (
24195  Key key,
24196  int * count);
24197 
24211 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern_Exp (
24212  int count,
24213  Key const keys[],
24214  char * pattern); // HC_PShow_Net_Line_Pattern_Explicit
24215 
24229 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern_Exp (
24230  int count,
24231  Key const keys[],
24232  char * pattern); // HC_PShow_Net_Edge_Pattern_Explicit
24233 HC_INTERFACE int HC_CDECL HC_Begin_Buffered_Selection (
24234  char const * start_name,
24235  double left,
24236  double right,
24237  double bottom,
24238  double top,
24239  char const * options);
24240 
24273 HC_INTERFACE int HC_CDECL HC_Collect_Area_Samples (
24274  double left,
24275  double right,
24276  double bottom,
24277  double top);
24278 
24295 HC_INTERFACE int HC_CDECL HC_Show_Sample_Max_Length ();
24296 
24324 HC_INTERFACE bool HC_CDECL HC_Find_Next_Sample (
24325  int * key_count,
24326  Key keys[],
24327  int * offset1,
24328  int * offset2,
24329  int * offset3);
24330 
24341 HC_INTERFACE void HC_CDECL HC_End_Buffered_Selection ();
24342 
24343 HC_INTERFACE void HC_CDECL HC_UnSet_Priority (Key key);
24344 
24408 HC_INTERFACE void HC_CDECL HC_Define_Highlight (
24409  int count,
24410  Key const keys[],
24411  char const * style,
24412  char const * options);
24413 
24433 HC_INTERFACE void HC_CDECL HC_Define_Geometry_Highlight (
24434  int count,
24435  Key const keys[],
24436  char const * style,
24437  char const * options,
24438  int elements_count,
24439  int const offset1[],
24440  int const offset2[],
24441  int const offset3[]);
24442 
24462 HC_INTERFACE int HC_CDECL HC_UnDefine_Highlight (
24463  int count,
24464  Key const keys[],
24465  char const * style,
24466  char const * options);
24467 
24479 HC_INTERFACE int HC_CDECL HC_UnDefine_Geometry_Highlight (
24480  int count,
24481  Key const keys[],
24482  char const * style,
24483  char const * options,
24484  int elements_count,
24485  int const offset1[],
24486  int const offset2[],
24487  int const offset3[]);
24488 
24517 HC_INTERFACE void HC_CDECL HC_Begin_Highlight_Search (
24518  int count,
24519  Key const keys[],
24520  char const * list);
24521 
24529 HC_INTERFACE bool HC_CDECL HC_Find_Highlight (
24530  int * count,
24531  Key keys[],
24532  char * options);
24533 
24539 HC_INTERFACE void HC_CDECL HC_Show_Highlight_Count (
24540  int * count,
24541  int * max_length);
24542 
24546 HC_INTERFACE void HC_CDECL HC_End_Highlight_Search (void);
24547 
24563 HC_INTERFACE void HC_CDECL HC_Determine_Highlight_Status(
24564  int count,
24565  Key const keys[],
24566  int results[],
24567  char const * list);
24568 
24580 HC_INTERFACE bool HC_CDECL HC_Check_Double_Precision(Key key, char const * options);
24581 
24582 
24592 HC_INTERFACE void HC_CDECL HC_DSet_Camera (
24593  DPoint const *position,
24594  DPoint const *target,
24595  DVector const *up,
24596  double width,
24597  double height,
24598  char const *projection);
24599 
24608 HC_INTERFACE void HC_CDECL HC_DSet_Camera_By_Volume (
24609  char const * proj,
24610  double xmin,
24611  double xmax,
24612  double ymin,
24613  double ymax);
24614 
24621 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Position (double x, double y, double z);
24622 
24630 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Target (double x, double y, double z);
24631 
24639 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Up_Vector (double x, double y, double z);
24640 
24647 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Field (double width, double height);
24648 
24660 HC_INTERFACE void HC_CDECL HC_DShow_Camera (
24661  DPoint * position,
24662  DPoint * target,
24663  DVector * up,
24664  double * width,
24665  double * height,
24666  char * projection);
24667 
24676 HC_INTERFACE void HC_CDECL HC_DShow_Camera_By_Volume (
24677  char * proj,
24678  double * xmin,
24679  double * xmax,
24680  double * ymin,
24681  double * ymax);
24682 
24689 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Position (double *x, double *y, double *z);
24690 
24697 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Target (double *x, double *y, double *z);
24698 
24705 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Up_Vector (double *x, double *y, double *z);
24706 
24712 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Field (double *width, double *height);
24713 
24719 HC_INTERFACE void HC_CDECL HC_DOrbit_Camera (double horiz, double vert);
24720 
24726 HC_INTERFACE void HC_CDECL HC_DPan_Camera (double horiz, double vert);
24727 
24732 HC_INTERFACE void HC_CDECL HC_DRoll_Camera (double angle);
24733 
24740 HC_INTERFACE void HC_CDECL HC_DDolly_Camera (double x, double y, double z);
24741 
24746 HC_INTERFACE void HC_CDECL HC_DZoom_Camera (double zoom);
24747 
24757 HC_INTERFACE Key HC_CDECL HC_DInsert_Text (double x, double y, double z, char const *text);
24758 
24766 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
24767 
24778 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
24779 
24789 HC_INTERFACE void HC_CDECL HC_DShow_Text (Key key, double *x, double *y, double *z, char *text);
24790 HC_INTERFACE void HC_CDECL HC_DShow_Text_Leader (Key key, double *x, double *y, double *z, char *options);
24791 
24802 HC_INTERFACE void HC_CDECL HC_DShow_Text_With_Encoding (Key key, double *x, double *y, double *z, char *encoding, void *text);
24803 
24804 HC_INTERFACE void HC_CDECL HC_DEdit_Text_Leader (Key key, double x, double y, double z, char const *options);
24805 
24817 HC_INTERFACE Key HC_CDECL HC_DInsert_Line (double xa, double ya, double za, double xb, double yb, double zb);
24818 
24829 HC_INTERFACE void HC_CDECL HC_DEdit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
24830 
24842 HC_INTERFACE void HC_CDECL HC_DShow_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
24843 
24852 HC_INTERFACE Key HC_CDECL HC_DInsert_Marker (double x, double y, double z);
24853 
24861 HC_INTERFACE void HC_CDECL HC_DEdit_Marker (Key key, double x, double y, double z);
24862 
24872 HC_INTERFACE void HC_CDECL HC_DShow_Marker (Key key, double *x, double *y, double *z);
24873 
24880 HC_INTERFACE Key HC_CDECL HC_DInsert_Polygon (int count, DPoint const points[]);
24881 
24891 HC_INTERFACE void HC_CDECL HC_DEdit_Polygon (Key key, int offset, int ndelete, int insert, DPoint const points[]);
24892 
24900 HC_INTERFACE void HC_CDECL HC_DShow_Polygon (Key key, int *count, DPoint points[]);
24901 
24909 HC_INTERFACE Key HC_CDECL HC_DInsert_Polyline (int count, DPoint const points[]);
24910 
24921 HC_INTERFACE void HC_CDECL HC_DEdit_Polyline (Key key, int offset, int ndelete, int insert, DPoint const points[]);
24922 
24929 HC_INTERFACE void HC_CDECL HC_DShow_Polyline (Key key, int * count, DPoint points[]);
24930 
24940 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell (
24941  int point_count,
24942  DPoint const points[],
24943  int face_list_length,
24944  int const face_list[]);
24945 
24955 HC_INTERFACE void HC_CDECL HC_DShow_Shell (
24956  Key key,
24957  int * point_countp,
24958  DPoint points[],
24959  int * face_list_lengthp,
24960  int face_list[]);
24961 
24962 
24973 HC_INTERFACE void HC_CDECL HC_DShow_Shell_By_Tristrips (
24974  Key key,
24975  int * point_countp,
24976  DPoint points[],
24977  int * tristrip_list_lengthp,
24978  int tristrip_list[],
24979  int * face_indices_lengthp,
24980  int face_indices[]);
24981 
24992 HC_INTERFACE void HC_CDECL HC_DEdit_Shell_Points (
24993  Key key,
24994  int ioffset,
24995  int ndelete,
24996  int insert,
24997  DPoint const points[]);
24998 
25006 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25007 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle_By_Radius (DPoint const *center, double radius, DVector const *normal);
25008 
25017 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Arc (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25018 
25027 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Chord (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25028 
25037 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Wedge (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25038 
25046 HC_INTERFACE void HC_CDECL HC_DEdit_Circle (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25047 
25055 HC_INTERFACE void HC_CDECL HC_DEdit_Circle_By_Radius (Key key, DPoint const *center, double radius, DVector const *vector);
25056 
25064 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Arc (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25065 
25073 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Chord (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25074 
25082 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Wedge (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25083 
25092 HC_INTERFACE void HC_CDECL HC_DShow_Circle (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25093 
25101 HC_INTERFACE void HC_CDECL HC_DShow_Circle_By_Radius (Key key, DPoint *center, double *radius, DVector *normal);
25102 
25111 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Arc (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25112 
25120 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Chord (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25121 
25130 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Wedge (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25131 
25140 HC_INTERFACE Key HC_CDECL HC_DInsert_Ellipse (DPoint const *center, DPoint const *major, DPoint const *minor);
25141 
25152 HC_INTERFACE Key HC_CDECL HC_DInsert_Elliptical_Arc (
25153  DPoint const *center,
25154  DPoint const *major,
25155  DPoint const *minor,
25156  double start,
25157  double end);
25158 
25166 HC_INTERFACE void HC_CDECL HC_DEdit_Ellipse (Key key, DPoint const *center, DPoint const *major, DPoint const *minor);
25167 
25177 HC_INTERFACE void HC_CDECL HC_DEdit_Elliptical_Arc (
25178  Key key,
25179  DPoint const *center,
25180  DPoint const *major,
25181  DPoint const *minor,
25182  double start,
25183  double end);
25184 
25192 HC_INTERFACE void HC_CDECL HC_DShow_Ellipse (Key key, DPoint *center, DPoint *major, DPoint *minor);
25193 
25205 HC_INTERFACE void HC_CDECL HC_DShow_Elliptical_Arc (Key key,
25206  DPoint *center,
25207  DPoint *major,
25208  DPoint *minor,
25209  float *start,
25210  float *end);
25211 
25223 HC_INTERFACE Key HC_CDECL HC_DInsert_Grid (
25224  char const *type,
25225  DPoint const *origin,
25226  DPoint const *ref1,
25227  DPoint const *ref2,
25228  int count1,
25229  int count2);
25230 
25231 
25243 HC_INTERFACE void HC_CDECL HC_DShow_Grid (
25244  Key key,
25245  char *type,
25246  DPoint *origin,
25247  DPoint *ref1,
25248  DPoint *ref2,
25249  int *count1,
25250  int *count2);
25251 
25262 HC_INTERFACE void HC_CDECL HC_DEdit_Grid (
25263  Key key,
25264  char const *type,
25265  DPoint const *origin,
25266  DPoint const *ref1,
25267  DPoint const *ref2,
25268  int count1,
25269  int count2);
25270 
25279 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh (int rows, int columns, DPoint const points[]);
25280 
25289 HC_INTERFACE void HC_CDECL HC_DShow_Mesh (Key key, int *rows, int *columns, DPoint points[]);
25290 
25300 HC_INTERFACE void HC_CDECL HC_DEdit_Mesh (Key key, int row_offset, int column_offset, int row_count, int column_count, DPoint const points[]);
25301 
25313 HC_INTERFACE Key HC_CDECL HC_DInsert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
25314 HC_INTERFACE Key HC_CDECL HC_DInsert_Compressed_Image (double x, double y, double z, char const *format, int width, int height, int size, void const *data);
25315 
25328 HC_INTERFACE void HC_CDECL HC_DShow_Image (Key key, double *x, double *y, double *z, char *format, int *width, int *height, void *data);
25329 
25341 HC_INTERFACE void HC_CDECL HC_DShow_Image_Size (Key key, double *x, double *y, double *z, char *format, int *width, int *height);
25342 
25355 HC_INTERFACE void HC_CDECL HC_DShow_Compressed_Image (Key key, double *x, double *y, double *z, char *format, int *width, int *height, int *size, void *data);
25356 
25364 HC_INTERFACE void HC_CDECL HC_DMove_Image (Key key, double x, double y, double z);
25365 
25374 HC_INTERFACE Key HC_CDECL HC_DInsert_Ink (double x, double y, double z);
25375 
25385 HC_INTERFACE Key HC_CDECL HC_DInsert_PolyCylinder (int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping);
25386 
25396 HC_INTERFACE void HC_CDECL HC_DShow_PolyCylinder (Key key, int *p_count, DPoint pts[], int *r_count, double radii[], char *capping);
25397 
25407 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder (Key key, int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping);
25408 
25419 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_With_Basis (Key key, int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping, DVector const basis[]);
25420 
25430 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Plane (double a, double b, double c, double d);
25431 
25440 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Plane (Key key, double *a, double *b, double *c, double *d);
25441 
25450 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Plane (Key key, double a, double b, double c, double d);
25451 
25461 HC_INTERFACE Key HC_CDECL HC_DInsert_Cylinder (DPoint const *center_point_1, DPoint const *center_point_2, double radius, char const *cap);
25462 
25472 HC_INTERFACE void HC_CDECL HC_DShow_Cylinder (Key key, DPoint *p1, DPoint *p2, double *radius, char *cap);
25473 
25482 HC_INTERFACE void HC_CDECL HC_DEdit_Cylinder (Key key, DPoint const *p1, DPoint const *p2, double radius, char const *cap);
25483 
25492 HC_INTERFACE Key HC_CDECL HC_DInsert_Sphere (DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
25493 
25502 HC_INTERFACE void HC_CDECL HC_DShow_Sphere (Key key, DPoint *center, double *radius, DVector *axis, DVector *ortho);
25503 
25512 HC_INTERFACE void HC_CDECL HC_DEdit_Sphere (Key key, DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
25513 
25514 
25515 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Curve (
25516  int degree,
25517  int cpcount,
25518  DPoint const control_points[],
25519  float const weights[],
25520  float const knots[],
25521  double start_u,
25522  double end_u);
25523 
25537 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Curve (
25538  Key key,
25539  int *degree,
25540  int *cp_count,
25541  DPoint points[],
25542  float weights[],
25543  float knots[],
25544  float *start_u,
25545  float *end_u);
25546 
25559 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Curve (
25560  Key key,
25561  int cp_offset,
25562  int knot_offset,
25563  int cp_count,
25564  int knot_count,
25565  DPoint const control_points[],
25566  float const weights[],
25567  float const knots[]);
25568 
25582 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Surface (
25583  int u_degree,
25584  int v_degree,
25585  int u_count,
25586  int v_count,
25587  DPoint const points[],
25588  float const weights[],
25589  float const u_knots[],
25590  float const v_knots[]);
25591 
25592 
25607 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Surface (
25608  Key key,
25609  int *u_degree,
25610  int *v_degree,
25611  int *u_count,
25612  int *v_count,
25613  DPoint points[],
25614  float weights[],
25615  float u_knots[],
25616  float v_knots[]);
25617 
25636 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface (
25637  Key key,
25638  int cp_offset,
25639  int weights_offset,
25640  int u_knot_offset,
25641  int v_knot_offset,
25642  int cp_replace_count,
25643  int weights_replace_count,
25644  int u_knot_replace_count,
25645  int v_knot_replace_count,
25646  DPoint const points[],
25647  float const weights[],
25648  float const u_knots[],
25649  float const v_knots[]);
25650 
25660 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface_Points (
25661  Key key,
25662  int cp_offset,
25663  int cp_replace_count,
25664  DPoint const points[]);
25665 
25674 HC_INTERFACE Key HC_CDECL HC_DInsert_Local_Light (double x, double y, double z);
25675 
25684 HC_INTERFACE void HC_CDECL HC_DShow_Local_Light (Key key, double *x, double *y, double *z);
25685 
25694 HC_INTERFACE Key HC_CDECL HC_DInsert_Spot_Light (DPoint const *position, DPoint const *target, char const *list);
25695 
25704 HC_INTERFACE void HC_CDECL HC_DShow_Spot_Light (Key key, DPoint *position, DPoint *target, char *list);
25705 
25714 HC_INTERFACE Key HC_CDECL HC_DInsert_Area_Light (int count, DPoint const points[], char const *listptr);
25715 
25723 HC_INTERFACE void HC_CDECL HC_DShow_Area_Light (Key key, int *ucount, DPoint upoints[], char *listptr);
25724 
25735 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates (
25736  char const *segment,
25737  char const *in_system,
25738  DPoint const *in_position,
25739  char const *out_system,
25740  DPoint *out_position);
25741 
25753 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates_By_Path (
25754  int count,
25755  Key const keys[],
25756  char const *in_system,
25757  DPoint const *in_position,
25758  char const *out_system,
25759  DPoint *out_position);
25760 
25769 HC_INTERFACE void HC_CDECL HC_DCompute_Transformed_Points (int count, DPoint const points[], double const matrix[], DPoint out_points[]);
25770 
25771 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell2 (
25772  int in_pt_count_target,
25773  Point const in_pts_target[],
25774  Vector const in_normals_target[],
25775  int in_flist_len_target,
25776  int const in_flist_target[],
25777 
25778  int in_pt_count_tool,
25779  Point const in_pts_tool[],
25780  Vector const in_normals_tool[],
25781  int in_flist_len_tool,
25782  int const in_flist_tool[],
25783 
25784  char const * option_string,
25785  RGB const * in_color1,
25786  RGB const * in_color2,
25787  unsigned char const in_vis1[],
25788  unsigned char const in_vis2[]);
25789 
25811 HC_INTERFACE Key HC_CDECL HC_DCompute_Boolean_Shell (
25812  int in_pt_count_target,
25813  DPoint const in_pts_target[],
25814  Vector const in_normals_target[],
25815  int in_flist_len_target,
25816  int const in_flist_target[],
25817 
25818  int in_pt_count_tool,
25819  DPoint const in_pts_tool[],
25820  Vector const in_normals_tool[],
25821  int in_flist_len_tool,
25822  int const in_flist_tool[],
25823 
25824  char const * option_string,
25825  RGB const * in_color1,
25826  RGB const * in_color2,
25827  unsigned char const in_vis1[],
25828  unsigned char const in_vis2[]);
25829 
25830 
25848 HC_INTERFACE void HC_CDECL HC_DCompute_Optimized_Shell (
25849  int pcount,
25850  DPoint const points[],
25851  Vector const normals[],
25852  int flist_length,
25853  int const face_list[],
25854  char const * options,
25855  int * new_pcount,
25856  DPoint new_points[],
25857  int * new_flist_length,
25858  int new_face_list[],
25859  int point_mapping_list[],
25860  int face_mapping_list[]);
25861 
25862 HC_INTERFACE intptr_t HC_CDECL HC_Memory_Usage_By_Key (
25863  Key key,
25864  char const * which);
25865 
25866 HC_INTERFACE void HC_CDECL HC_Apply_Attribute_Filter (
25867  Key key,
25868  char const * filter);
25869 
25870 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter (
25871  Key key,
25872  char * filter);
25873 
25874 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter_Length (
25875  Key key,
25876  int * filter_length);
25877 
25878 HC_INTERFACE void HC_CDECL HC_Begin_Decimate_Shell (Key key);
25879 HC_INTERFACE void HC_CDECL HC_End_Decimate_Shell (void);
25880 HC_INTERFACE Key HC_CDECL HC_Decimate_Shell (int quality_percent, char const * options);
25881 
25882 #if __APPLE__
25883 #pragma clang diagnostic pop
25884 #endif
25885 
25886 #endif // HPS_CORE_BUILD
25887 
25888 #define HC_PROTO_DEFINED 1
25889 #endif /* HC_PROTO_DEFINED */
25890 
25891 
void HC_Show_Face_Pattern(char *pattern)
Returns the face pattern that has been set on the currently open segment.
void HC_DShow_Line(Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb)
Similar to Show_Line(), but returns double-precision values.
void HC_DShow_Polyline(Key key, int *count, DPoint points[])
Similar to Show_Polyline(), but returns double-precision data.
int HC_UnDefine_Highlight(int count, Key const keys[], char const *style, char const *options)
UnDefines an existing highlight.
void HC_Show_Location(float *x, float *y)
Returns the raw 2-D position that was indicated by the user.
void HC_Show_Camera_Target(float *x, float *y, float *z)
Returns the viewing camera's target.
void HC_Show_Glyph_Size(char const *name, int *data_size)
Finds the size in bytes of a particular glyph. This is useful in determining the size of the structur...
void HC_UnSet_One_Text_Font(char const *which)
Removes a given setting established by a previous call to Set_Text_Font(), rather than all settings...
void HC_DRotate_Object(double theta, double phi, double psi)
Similar to Rotate_Object(), but operates on double-precision data.
void HC_Append_Modelling_Matrix(float const array[])
Allows direct manipulation of the matrix transform applied against all picture elements and subsegmen...
void HC_Set_Circular_Center(double x, double y, double z)
Allows the user to override the calculated center point for circle-based geometries such as circles...
void HC_Show_Circle(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circle, as referenced by a key.
bool HC_Update_Display(void)
Makes sure that external appearances are up-to-date with respect to the internal definitions.
void HC_Show_Trim_Poly_Count(int index, int *count)
Finds the number of points in a a trim polyline. This is useful in determining the size of the data s...
void HC_Set_Trim_Operation(int index, char const *operation)
Sets the trim operation associated with a particular object in the trim list.
void HC_DShow_Local_Light(Key key, double *x, double *y, double *z)
Similar to Show_Local_Light(), but returns double-precision values.
void HC_Compute_Convex_Hull(int pcount, Point const points[], int *fcount, int face_list[])
Given a set of points, determines the set of faces that minimally bind all the points.
void HC_Set_Line_Pattern(char const *pattern)
Applies a pattern of dashes and dots to lines and polylines.
void HC_DCompute_Optimized_Shell(int pcount, DPoint const points[], Vector const normals[], int flist_length, int const face_list[], char const *options, int *new_pcount, DPoint new_points[], int *new_flist_length, int new_face_list[], int point_mapping_list[], int face_mapping_list[])
Similar to Compute_Optimized_Shell(), but computes and returns double-precision values.
void HC_Regenerate_LOD_By_Key(Key segKey, char const *options)
Similar to Regenerate_LOD(), but operates on an object referenced by an HC_KEY.
void HC_Rename_Segment_By_Key(Key key, char const *new_seg_name)
void HC_MSet_Face_Colors_By_FIndex(Key key, char const *type, int offset, int count, float const findices[])
Sets the drawing attributes on a contiguous range of shell or mesh faces speedily.
void HC_Set_Selectability(char const *list)
Allows you to make part of your picture sensitive or insensitive to being "selected" by the user...
bool HC_PShow_One_Net_Callback(int count, Key const keys[], char const *callback_point, char *callback_name)
Similar to PShow_Callback, but returns the net effective setting of a single callback along a path of...
void HC_Edit_NURBS_Surface_Weights(Key key, int weights_offset, int weights_replace_count, float const weights[])
Edits only the weights in a NURBS surface.
void HC_DShow_NURBS_Curve(Key key, int *degree, int *cp_count, DPoint points[], float weights[], float knots[], float *start_u, float *end_u)
Similar to Show_NURBS_Curve, but operates on double-precision values.
Key HC_Insert_Local_Light(double x, double y, double z)
Inserts an omni-directional "point" source of light into your scene.
void HC_DEdit_Mesh(Key key, int row_offset, int column_offset, int row_count, int column_count, DPoint const points[])
Similar to Edit_Mesh(), but can operate on double-precision geometry represented by key...
void HC_Show_Named_Style_Segment(Key style_key, char *style_name)
Returns the name of a named style previously defined by Define_Named_Style().
void HC_MSet_Vertex_Colors_By_FIndex(Key key, char const *types, int offset, int count, float const findices[])
Sets the color on a contiguous range of shell, mesh, or polycylinder vertices.
void HC_Generate_Error(int level, int category, int specific, char const *buf1, char const *buf2, char const *buf3)
Injects an error into HOOPS 3DF.
void HC_Show_User_Index_Count(int *count)
Returns the size of the indices array.
bool HC_DCompute_Matrix_Inverse(double const matrix[], double out_matrix[])
Similar to Compute_Matrix_Inverse(), but operates on double-precision data.
bool HC_PShow_Net_Handedness(int key_count, Key const path_keys[], char *value)
Similar to Show_Handedness(), but returns the net effective setting along a discrete segment path...
void HC_UnSet_Text_Alignment(void)
Removes all settings established by a previous call to Set_Text_Alignment().
void HC_MUnSet_Spec_Vertex_Colors(Key key, int count, int const offsets[])
Removes vertex-specific color settings from a set of vertices with arbitrary offsets.
void HC_Show_Texture_Count(int *count)
Finds out how many textures will be returned. This is useful for determining the size of a data struc...
Key HC_Style_Segment_Key_By_Key(Key target_segment, Key style_segment)
Similar to Style_Segment(), but styles a segment identified by target_segment.
void HC_Edit_Grid(Key key, char const *type, Point const *origin, Point const *ref1, Point const *ref2, int count1, int count2)
Edits a grid object as it sits in the database.
void HC_DShow_Selection_Source_Elem(int *vertex, int *edge, int *face, DPoint *hit_location)
Similar to Show_Selection_Source_Element(), but operates on double-precision data.
void HC_Control_Update_By_Key(Key key, char const *options)
Similar to Control_Update(), but operates on an object referenced by an HC_KEY.
void HC_MSet_Specific_Vertex_Normals(Key key, int count, int const indices[], Vector const normals[])
Speedily sets the normal values a set of faces on a large number of shell, mesh, or polycylinder vert...
void HC_DShow_Camera_Field(double *width, double *height)
Similar to Show_Camera_Field(). This command should be used in conjunction with the other double-prec...
bool HC_Filter_Circumsphere(char const *segment, char const *options, Point *center, float *radius)
Determines the bounding sphere for a particular segment, based on visibility settings in the tree...
void HC_UnSet_One_User_Option(char const *which)
Removes a given setting established by a previous call to Set_User_Options(), rather than all setting...
void HC_Set_Geometry_Options(Key key, const char *list)
Allows users to make geometry-specific settings on a variety of 3dGS geometric primitives.
void HC_Set_PBR_Material(char const *base_color_map, char const *normal_map, char const *emissive_map, char const *metalness_map, int metalness_map_channel, char const *roughness_map, int roughness_map_channel, char const *occlusion_map, int occlusion_map_channel, RGBA const *base_color_factor, float normal_factor, float metalness_factor, float roughness_factor, float occlusion_factor, float alpha_factor, char const *options)
void HC_DEdit_PolyCylinder(Key key, int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping)
Similar to Edit_PolyCylinder(), but operates on double-precision data.
void HC_Define_Callback_Name(char const *name, Void_Routine callback)
Defines a unique name as a legal callback.
void HC_Begin_Open_Item_Search(void)
Returns the keys to all currently open segments or geometric primitives.
void HC_Define_Geometry_Highlight(int count, Key const keys[], char const *style, char const *options, int elements_count, int const offset1[], int const offset2[], int const offset3[])
Specifies a method of highlighting a subpart of an item.
void HC_DShow_Spot_Light(Key key, DPoint *position, DPoint *target, char *list)
Similar to Show_Spot_Light(), but returns double-precision values.
bool HC_Compute_Transformed_Plane(Plane const *plane, float const matrix[], Plane *out_plane)
Applies a user-defined transform to a single plane.
bool HC_PShow_One_Net_Color_Map_By_V(int count, Key const keys[], int offset, char *color_space, float *x, float *y, float *z)
Similar to Show_One_Color_Map(), but returns the net effective value of a single attribute along a pa...
Key HC_DInsert_Polyline(int count, DPoint const points[])
Similar to Insert_Polyline(), but accepts double-precision values for points.
void HC_Show_System_Options(char *list)
Examines the current list of debugging/control "system options".
bool HC_PShow_Net_Color(int count, Key const keys[], char *color_spec)
Similar to Show_Color(), but returns the net effective settings along a discrete path of segments...
void HC_DEdit_NURBS_Surface(Key key, int cp_offset, int weights_offset, int u_knot_offset, int v_knot_offset, int cp_replace_count, int weights_replace_count, int u_knot_replace_count, int v_knot_replace_count, DPoint const points[], float const weights[], float const u_knots[], float const v_knots[])
Similar to Edit_NURBS_Surface(), but accepts double-precision parameters.
void HC_Record_Profile_Source(char const *section, char const *filename)
Identifies the INI file name and section to use for evaluating profile strings.
void HC_UnSet_Unicode_Options(void)
Removes all settings established by a previous call to Set_Unicode_Options().
long HC_Show_User_Data_Indices(intptr_t data_indices[], long data_indices_count)
Returns the list of user data indices associated with the current segment.
double HC_Compute_Vector_Length(Vector const *vector)
void HC_UnSet_Normal(void)
Removes all settings established by a previous call to Set_Normal().
void HC_Set_Text_Alignment(char const *locater)
Determines where in each chunk of text the "reference point" is to fall.
void HC_Set_Conditions(char const *list)
Allows the user to set conditions on a segment that will be used to determine whether or not a Condit...
bool HC_PShow_One_Net_Uni_Opt_Len(int count, Key const keys[], unsigned short const *which, int *length)
Similar to PShow_Net_Unicode_Opt_Length(), but returns the net effective value of a single attribute ...
int HC_MShow_Spec_Face_Colors_W_Ex(Key key, char const *geometry, int count, int const faces[], char result_type[], float index_colors[], RGB rgb_colors[])
Returns face color settings from an arbitrary set of faces without having to open each face...
void HC_UnSet_One_Unicode_Option(unsigned short const *which)
Removes a given setting established by a previous call to Set_Unicode_Options(), rather than all sett...
void HC_UnSet_One_Conditional_Action(char const *which)
Removes a given action established by a previous call to Set_Conditional_Actions().
bool HC_Find_Shader(char *sname)
Retrieves the shader names, one at a time. The function returns false when all shaders have been retu...
void HC_MSet_Face_Normals(Key key, int offset, int count, Vector const *normals)
Speedily sets the drawing attributes on a large number of shell or mesh faces.
Key HC_DInsert_Circular_Chord(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circular_Chord(), but accepts parameters of type double for increased precision...
void HC_Set_Default_Shapes()
void HC_Show_Cutting_Plane(Key key, float *a, float *b, float *c, float *d)
Returns the the coefficients used to define the cutting plane, as referenced.
void HC_End_Decimate_Shell(void)
void HC_Compute_Text_Outline_By_Path(int count, Key const keys[], char const *text, int *pcount, Point points[], int *flist_length, int face_list[])
Similar to Compute_Text_Outline(), but concatenates the matrices along a segment path rather than the...
void HC_Show_Glyph(char const *name, char *data)
Returns the definition of a glyph as established by a previous call to Define_Glyph().
void HC_Show_Geometry_Options(Key key, char *list)
Shows options that have been attached to geometry by Set_Geometry_Options.
Key HC_Insert_Mesh(int rows, int columns, Point const points[])
Puts a rectangular array of faces into the database.
void HC_Begin_Color_Name_Search(void)
These routines recall all the defined color names.
void HC_DShow_Text(Key key, double *x, double *y, double *z, char *text)
Similar to Show_Text(), but returns double-precision values.
void HC_Show_Memory_Usage(long *allocated, long *in_use)
Tells your program how much memory is being used for graphics data storage.
void HC_DShow_Circular_Chord(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circular_Chord(), but returns double-precision values.
void HC_Close_Face(void)
Closes the session that began with an opening call to Open_Face().
int HC_DPShow_Net_Camera_Target(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Target(), but operates on double-precision cameras.
void HC_Show_Marker_Symbol(char *symbol)
Returns the marker symbol that has been set on the currently open segment.
void HC_Show_Trim_Poly(int index, int *count, float points[])
Returns the definition of an existing trimming polyline.
Key HC_Insert_Polyline(int count, Point const points[])
Generates a connected chain of line segments. Can be used to approximate arcs.
void HC_Set_Edge_Weight(double weight)
Makes the edges of polygons, circles, ellipses, shells, and meshes broader or narrower than normal...
void HC_Show_Streaming_Mode(char *flag)
Returns the streaming mode that has been set on the currently open segment.
bool HC_Convert_Precision(Key key, char const *options)
bool HC_PShow_Net_Window(int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top)
Similar to Show_Window() but returns the net effective setting along a discrete segment path...
int HC_DCompute_Points_Distance_F_S(int test_point_count, DPoint const test_points[], double tolerance, int point_count, DPoint const points[], int face_list_length, int const face_list[], const char *options, double results[])
Similar to Compute_Points_Distance_From_Shell, but operates on double-precision data.
void HC_DOrbit_Camera(double horiz, double vert)
Similar to Orbit_Camera(), but operates on double-precision cameras.
void HC_Edit_Image(Key key, int xoffset, int yoffset, int xcount, int ycount, const void *data)
Modifies one, some, or all the pixel values in a previously-inserted image.
void HC_End_Texture_Search(void)
Terminates the texture search sequence and frees any involved memory.
void HC_DShow_Compressed_Image(Key key, double *x, double *y, double *z, char *format, int *width, int *height, int *size, void *data)
Similar to Show_Compressed_Image(), but operates on double-precision data.
void HC_Show_NURBS_Surface(Key key, int *u_degree, int *v_degree, int *u_count, int *v_count, Point points[], float weights[], float u_knots[], float v_knots[])
Key HC_Insert_Shell(int pcount, Point const points[], int flist_length, int const face_list[])
Generates an object that is an arbitrarily-connected collection of arbitrary polygonal facets...
Key HC_DInsert_Circle(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circle(), but accepts parameters of type double for increased precision.
void HC_End_Font_Search(void)
Terminates the font search sequence and frees any involved memory.
void HC_DShow_Image_Size(Key key, double *x, double *y, double *z, char *format, int *width, int *height)
Similar to Show_Image_Size(), but operates on double-precision data.
void HC_Set_Color_By_FIndex(char const *types, double findex)
This is a specialized version of Set_Color_By_Index for use with false-colored pictures.
void HC_Edit_Image_Options(Key image_key, char const *options)
Modifies the the options associated with a specific image.
void HC_DEdit_Polygon(Key key, int offset, int ndelete, int insert, DPoint const points[])
Similar to Edit_Polygon(), but accepts double-precision values.
Key HC_Show_Owner_Original_Key(Key key)
Similar to Show_Owner() but returns the non-renumber key of the owning segment.
Key HC_Insert_Infinite_Ray(double xa, double ya, double za, double xb, double yb, double zb)
Adds an infinitely long line to the currently open segment.
void HC_Show_Bounding_Info_By_Key(Key key, char *list)
Similar to Show_Bounding_Info(), but operates on an object referenced by an HC_KEY.
bool HC_Compute_Transformed_Planes(int count, Plane const planes[], float const matrix[], Plane out_planes[])
Applies a user-defined transform to a group of planes.
int HC_Compute_Selection_By_Volume(char const *display, char const *start_seg, char const *action, double left, double right, double bottom, double top, double hither, double yon)
Similar to Compute_Selection(), but operates on a cuboid volume.
int HC_DCompute_Selection_By_Swpt_2(char const *action, char const *start_seg, Key shellkey, int sweepcount, double const matrices[], char const *options, double bounding_box[])
Similar to Compute_Selection_By_Swept_Shell2(), but operates on double-precision data.
void HC_Compute_Face_Neighborhood(Key shell_key, int face_index, int *count, int neighbors[])
Returns the indices of the faces within a shell that share an edge with the specified face...
void HC_Show_Text_Font(char *options)
Returns the font settings that have been made on the currrently open segment.
void HC_Show_Reference_Keys(Key key, int *count, Key keys[])
Returns a list of keys that a given segment references.
void HC_MShow_Spec_Vertex_Parameters(Key key, int count, int const indices[], int *number_parameters, float user_parameters[])
int HC_Compute_Selection_By_Sh_W_Op(char const *action, char const *start_seg, int point_count, Point const points[], int face_list_length, int const face_list[], char const *options)
Allows users to set additional criteria that should be considered when performing a selection event b...
void HC_Show_Text_Length(Key key, int *length)
Finds the number of bytes in a given text string, as referenced by a key.
Key HC_DInsert_Circular_Wedge(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circular_Wedge, but accepts parameters of type double for increased precision...
Key HC_Style_Segment_By_Key(Key seg_key)
Similar to Style_Segment(), but operates on a style referenced by an HC_KEY.
void HC_Define_Driver_Config(char const *driver, char const *id, char const *version, char const *config)
Sets up driver device-dependent configuration.
void HC_Compute_Rotation_Matrix(double alpha, double beta, double theta, float out_matrix[])
Key HC_DInsert_Text_Leader(Key ownerkey, double x, double y, double z, char const *options)
Inserts a leader line with double precision parameters. Unlike Insert_Text_Leader, these parameters will not be truncated.
bool HC_Check_Double_Precision(Key key, char const *options)
void HC_UnSet_Heuristics(void)
Removes all settings established by a previous call to Set_Heuristics().
bool HC_Filter_Circumcuboid(char const *segment, char const *options, Point *min, Point *max)
Determines the bounding cuboid for a particular segment, based on visibility settings in the segment ...
void HC_Show_One_Unicode_Option(unsigned short const *requestedOption, unsigned short *options)
Similar to Show_Unicode_Options(), but returns the value of a single attribute in the currently open ...
void HC_Compute_Minimized_Shell(int in_point_count, Point const in_points[], int in_face_list_length, int const in_face_list[], char const *option_string, int *out_point_count, Point out_points[], int *out_face_list_length, int out_face_list[], int vertex_mapping[], int face_mapping[])
void HC_Show_Line_Style(char const *style, char *definition)
Returns the line style that has been set on the currently open segment.
void HC_Define_Local_Texture(char const *texture_name, char const *definition)
Define a texture on the currently open segment.
Key HC_Show_Segment_Name(Key key, char *name)
void HC_MUnSet_Vertex_Colors(Key key, int offset, int count)
Removes vertex-specific color settings from a range of vertices with adjacent offsets.
bool HC_PShow_Net_Text_Path(int key_count, Key const path_keys[], float *x, float *y, float *z)
Similar to Show_Text_Path(), but returns the net effective setting along a discrete segment path...
void HC_UnSet_User_Data(void)
bool HC_Find_Line_Style(char *name)
Retrieves the line style names, one at a time. The function returns false when all line styles have b...
int HC_DPShow_Net_Clip_Region_Size(int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec)
Similar to PShow_Clip_Region_Size(), but operates on double-precision data.
void HC_Set_Camera_Near_Limit(double wlimit)
Controls the near camera plane setting.
void HC_Move_Image(Key key, double x, double y, double z)
Changes the location, in object space, of a previously-inserted Image. Double-precision parameters...
void HC_Set_Bounding_Cuboid(Point const *min, Point const *max)
Specifies the cuboid used by HOOPS to circumscribe the geometry within a segment. ...
void HC_Rename_Segment(char const *old_seg_name, char const *new_seg_name)
Changes the name of a segment, and/or moves it somewhere else in the segment tree.
void HC_Rotate_Object(double theta, double phi, double psi)
Moves the represented object about its X-, Y-, or Z-axis.
void HC_Set_Modelling_Matrix(float const matrix[])
Allows direct manipulation of the transformation that is applied against all the picture elements in ...
void HC_DEdit_Infinite_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Similar to Edit_Infinite_Line(), but operates on double-precision data.
void HC_DShow_Elliptical_Arc(Key key, DPoint *center, DPoint *major, DPoint *minor, float *start, float *end)
Similar to Show_Elliptical_Arc(), but returns double-precision values.
void HC_DCompute_Matrix_Adjoint(double const matrix[], double out_matrix[])
Similar to Compute_Matrix_Adjoint(), but operates on double-precision data.
void HC_MSet_Vertex_Visibilities(Key key, int offset, int count, char const settings[])
Sets per-vertex visibility settings of a range of vertices at once. This overrides the visibility set...
double HC_DCompute_Vector_Length(DVector const *vector)
Similar to Compute_Vector_Length(), but operates on double-precision data.
int HC_Compute_Points_Distance_F_S2(int test_pcount, Point const test_pt[], double tolerance, int point_count1, Point const points1[], int face_list_length3, int const face_list1[], const char *options, float results[], int face_results[])
int HC_MShow_Face_Normals_W_Ex(Key key, int offset, int count, char existence[], Vector normals[])
Returns the normal settings for a range of faces without having to open each face.
bool HC_DCompute_Transform_By_Path(int count, Key const keys[], char const *in_system, char const *out_system, double matrix[])
Similar to Compute_Transform_By_Path(), but operates on double-precision data.
void HC_DShow_Camera_Up_Vector(double *x, double *y, double *z)
Similar to Show_Camera_Up_Vector(). This command should be used in conjunction with the other double-...
bool HC_Compute_Coordinates(char const *segment, char const *in_system, Point const *in_position, char const *out_system, Point *out_position)
Converts positions back and forth among the various coordinate systems.
bool HC_DCompute_Point_Inside_Shell(DPoint const *test_point, int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Compute_Point_Inside_Shell, but operates on double-precision data.
Key HC_Insert_Infinite_Line(double xa, double ya, double za, double xb, double yb, double zb)
Adds an infinitely long line to the currently open segment.
Key HC_DInsert_Ellipse(DPoint const *center, DPoint const *major, DPoint const *minor)
Similar to Insert_Ellipse(), but accepts parameters of type double for increased precision.
void HC_Compute_Face_Neighborhood_Si(Key shell_key, int face_index, int *count)
Returns the number of faces within a shell that share an edge with the specified face.
bool HC_PShow_Net_Explicit_Color(int keycount, Key const pathkeys[], char const *type, char const *channel, float rgb[], char *texture, char *options)
Similar to Show_Explicit_Color(), but shows the net effective settings along a discrete segment path...
Key HC_Compute_Subshell(Key source, int keep_fcount, const int keep_faces[], int keep_pcount, const int keep_pts1[], const int keep_pts2[], int face_map[], int pts_map[])
Creates a subshell from the source shell or mesh in the currently open segment and subject to the spe...
Key HC_Insert_Shell_By_Tristrips(int pcount, Point const points[], int tristrips_length, int const tristrips[], int face_indices_length, int const face_indices[])
Generates an object that is an arbitrarily-connected collection of arbitrary polygonal facets...
bool HC_Show_Camera_Near_Limit(float *limit)
Returns information about the camera near limit.
void HC_Compute_Text_Outline_Size(char const *segment, char const *text, int *pcount, int *flist_length)
Finds out the size of the text outline. This is useful for determining the size of the points array n...
bool HC_Show_Snapshot(const char *display, int *width, int *height, void *image_data)
Takes a snapshot of the scene.
bool HC_Compute_Color_By_Value(char const *in_type, RGB const *in_value, char const *out_type, RGB *out_value)
Similar to Compute_Color(), but operates with a color values rather than names or map indices...
void HC_Show_One_Uni_Option_Length(unsigned short const *text, int *length)
Similar to PShow_Net_Unicode_Opt_Length(), but returns the value of a single attribute in the current...
void HC_Roll_Camera(double theta)
Pinwheels the user's point of view around the viewing axis.
bool HC_Compute_Normalized_Matrix(float const matrix[], float out_matrix[])
void HC_DShow_Partial_Polyline(Key key, int offset, int request, DPoint points[])
bool HC_Filter_Circumcuboid_By_Key(Key segKey, char const *options, Point *min, Point *max)
Similar to Filter_Circumcuboid(), but operates on an object referenced by an HC_KEY.
void HC_UnSet_One_Driver_Option(char const *which)
Removes a given setting established by a previous call to Set_Driver_Options(), rather than all setti...
bool HC_DCompute_Circumcuboid_By_Key(Key key, DPoint *min, DPoint *max)
Similar to Compute_Circumcuboid_By_Key(), but operates on double-precision data.
void HC_Show_Edge_Pattern(char *pattern)
Returns the edge pattern that has been set on the currently open segment.
void HC_DPan_Camera(double horiz, double vert)
Similar to Pan_Camera(), but operates on double-precision data.
void HC_Show_One_Color_Map_By_Value(int offset, char *color_space, float *a, float *b, float *c)
Similar to Show_One_Color_Map(), but returns the value of a single attribute in the currently open se...
void HC_End_Open_Item_Search(void)
Terminates the open item search sequence, and frees any involved memory.
void HC_Show_Reference_Keys_Count(Key key, int *count)
Returns the number of references that a given segment references.
void HC_UnDefine_Color_Name(char const *name)
Removes all settings established by a previous call to Define_Color_Name().
Key HC_Conditional_Include_By_Key(Key seg_key, char const *condition)
Similar to Conditional_Include(), but accepts a key rather than a pathname to identify the segment to...
void HC_UnSet_Edge_Pattern(void)
Removes all settings established by a previous call to Set_Edge_Pattern().
void HC_Show_User_Options_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_User_Options.
void HC_Show_Variable_Edge_Weight(char *weight)
Show the current variable edge weight setting.
void HC_Begin_Alias_Search(void)
These routines recall the name of each alias.
void HC_Show_Trim_Type(int index, char *trim_type)
Returns the type of an object on the trim list of the currently open NURBS surface or trim collection...
Key HC_Insert_Shell_By_Ref(int pcount, Point const points[], int flist_length, int const face_list[])
void HC_DShow_Camera_By_Volume(char *proj, double *xmin, double *xmax, double *ymin, double *ymax)
Similar to Show_Camera_By_Volume(), but operates on double-precision cameras.
Key HC_DInsert_NURBS_Surface(int u_degree, int v_degree, int u_count, int v_count, DPoint const points[], float const weights[], float const u_knots[], float const v_knots[])
Similar to Insert_NURBS_Surface(), but accepts parameters of type double for increased precision...
int HC_MShow_Spec_Vertex_Vis_W_Ex(Key key, int count, int const indices[], char existence[], char visibilities[])
void HC_DCompute_Offcenter_Rotation(double alpha, double beta, double theta, double x, double y, double z, double out_matrix[])
Similar to Compute_Offcenter_Rotation, but operates on double-precision data.
void HC_Set_Window(double left, double right, double bottom, double top)
Limits the amount of the screen (or the containing Window) to be used by the referenced segment upon ...
void HC_Rotate_Object_Offaxis(double x, double y, double z, double theta)
Moves the represented object about an arbitrary axis.
void HC_DShow_Mesh(Key key, int *rows, int *columns, DPoint points[])
Similar to Show_Mesh(), but returns double-precision values.
void HC_DCompute_Transformed_Points(int count, DPoint const points[], double const matrix[], DPoint out_points[])
Similar to Compute_Transformed_Points() but accepts and returns double-precision values.
void HC_Set_Color_By_Value(char const *types, char const *colorspace, double a, double b, double c)
Changes the color to be used when rendering the contents of a segment. The color is defined numerical...
void HC_MShow_Spec_Face_Col_By_FInd(Key key, int count, int const indices[], float findices[])
Returns face color settings from an arbitrary set of faces without having to open geometry...
void HC_UnSet_Text_Region(void)
Removes all settings established by a previous call to Set_Text_Region().
void HC_Set_Parameter(int number, float const parameters[])
Defines texture mapping coordinates for a previously opened Shell or Mesh vertex. ...
void HC_Show_PolyCylinder_Counts(Key key, int *p_count, int *r_count, char *capping)
Finds the number of items in a given polycylinder. This is useful in determining the size of the data...
Key HC_Show_Owner_By_Key(Key key, char *owner)
Similar to Show_Owner(), but operates on an object referenced by an HC_KEY.
bool HC_Compute_Circumsphere_By_Key(Key key, Point *center, float *radius)
Similar to Compute_Circumsphere(), but operates on an object referenced by an HC_KEY.
bool HC_PShow_One_Net_Color_By_Index(int count, Key const keys[], char const *type, int *index)
Similar to Show_One_Color(), but returns the net effective value of a single attribute along a path o...
void HC_Show_Camera_Field(float *width, float *height)
Returns the viewing camera's field of view.
void HC_Scroll_Text(Key key, int left_scroll, int up_scroll)
To shift text around as you would on a scrolling alphanumeric terminal screen.
void HC_Show_Shell_By_Tristrips(Key key, int *pcount, Point points[], int *tristrips_length, int tristrips[], int *face_indices_length, int face_indices[])
Returns the previous definition of a shell, as referenced by a key.
Key HC_Insert_Circular_Chord(Point const *point1, Point const *point2, Point const *point3)
Generates a polygon describing a portion of a circle.
bool HC_Find_Contents_Original_Key(char *type, Key *key)
If keys have been renumbered, this function retrieves the original object keys, one at a time...
void HC_Translate_Texture(double u, double v, double w)
Moves texture images about on the surface of texture mapped shells and meshes by transforming their (...
void HC_Show_Color_Name_Count(int *count)
Finds out how many color names will be returned. This is useful for determining the size of a data st...
Key HC_Copy_Segment(char const *old_seg_name, char const *new_seg_name)
Completely duplicates a segment.
bool HC_PShow_Net_Shape(int count, Key const keys[], char const *name, float *definition)
void HC_MUnSet_Face_Colors(Key key, int offset, int count)
Removes color settings from a contiguous range of faces.
Key HC_Show_Style_Segment(Key key, char *pathname)
Returns the segment that is referenced by a style inclusion.
void HC_Show_LOD_Type(Key key, int level, char *type)
Determines whether a given LOD level exists, and if so, its type.
void HC_Show_Circle_By_Radius(Key key, Point *center, float *radius, Vector *normal)
Returns the center, radius and normal values used to define the circle, as referenced by a key...
Key HC_Show_Owner(char const *segment, char *owner)
Returns the segment which contains a given segment or which contains an item with a given key...
bool HC_Update_One_Display(char const *segment)
Executes Update_Display on a single driver instance.
void HC_Show_Local_Texture(char const *texture_name, char *definition)
Retrieves a texture definition from the currently open segment.
void HC_Show_Window_Frame(char *flag)
Returns the window frame visibility setting.
bool HC_PShow_One_Net_Unicode_Opt(int key_count, Key const keys[], unsigned short const *requested_option, unsigned short *options)
Similar to Show_Unicode_Options(), but returns the net effective value of a single attribute along a ...
bool HC_PShow_Net_Color_Map_By_Value(int key_count, Key const path_keys[], char *color_space, int *count, RGB values[])
Similar to Show_Color_Map_By_Value(), but returns the net effective setting along a discrete segment ...
void HC_Show_Conditions_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_Conditions().
void HC_Set_Camera_Up_Vector(double x, double y, double z)
Given a "camera" position and target, which define a line of sight, the "up vector" defines how much ...
bool HC_Show_Attribute_Filter_Length(Key key, int *filter_length)
void HC_DShow_Text_With_Encoding(Key key, double *x, double *y, double *z, char *encoding, void *text)
Similar to Show_Text_With_Encoding(), but returns double-precision values.
void HC_Begin_Contents_Search(char const *segment, char const *filter)
These routines are used to "dump" the contents of a segment or certain types of geometry.
void HC_Show_Infinite_Ray(Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb)
Returns the vector of points that define an infinite ray, as referenced by a key. The key might come ...
bool HC_Compute_Coordinates_By_Path(int count, Key const keys[], char const *in_system, Point const *in_position, char const *out_system, Point *out_position)
Similar to Compute_Coordinates(), but concatenates the matrices along a segment path rather than the ...
void HC_DSet_Camera_Field(double width, double height)
Similar to Set_Camera_Field(). This command should be used in conjunction with other double-precision...
Key HC_DCompute_Swept_Shell(Key shellkey, DVector const *direction_in, Key *front_key, Key *back_key, Key *side_key, char const *options)
Similar to Compute_Swept_Shell(), but operates on double-precision data.
bool HC_DFilter_Circumcuboid_By_Path(int count, Key const keys[], char const *options, DPoint *min, DPoint *max)
Similar to Filter_Circumcuboid_By_Path(), but operates on double-precision data.
int HC_Compute_Selection_By_Polylin(char const *display, char const *start_seg, char const *action, int pcount, Point const points[])
Similar to Compute_Selection(), but operates on polyline intersections.
void HC_DEdit_NURBS_Surface_Points(Key key, int cp_offset, int cp_replace_count, DPoint const points[])
Similar to Edit_NURBS_Surface_Points(), but accepts double-precision parameters.
void HC_Show_Image_Size(Key key, float *x, float *y, float *z, char *format, int *width, int *height)
Finds the size of a particular image, This is useful in determining the size of the data structure th...
bool HC_DShow_Bounding_Cuboid_By_Key(Key key, DPoint *min, DPoint *max)
Similar to Show_Bounding_Cuboid_By_Key(), but operates on double-precision data.
void HC_Compute_Matrix_Product(float const matrix1[], float const matrix2[], float out_matrix[])
bool HC_Compute_Matrix_Inverse(float const matrix[], float out_matrix[])
void HC_UnSet_Line_Weight(void)
Removes all settings established by a previous call to Set_Line_Weight().
void HC_UnSet_Conditions(void)
Removes all the conditions established by a previous call to Set_Conditions().
bool HC_PShow_Net_Texture_Matrix(int key_count, Key const path_keys[], float matrix[])
Similar to Show_Texture_Matrix(), but returns the net effective matrix along a discrete segment path...
bool HC_PShow_Net_Callback(int key_count, Key const path_keys[], char *callbacks)
Returns the net effective callback settings along a path of segments specified by an array of HC_KEY'...
void HC_DEdit_Cutting_Plane(Key key, double a, double b, double c, double d)
Similar to Edit_Cutting_Plane(), but operates on double-precision data.
void HC_Show_Selection_Pathname(char *segment)
Returns the fully-qualified name of the segment that was selected by the user.
Key HC_Show_Segment(Key key, char *pathname)
Returns the segment name corresponding to the given key.
void HC_DEdit_Shell_Points(Key key, int ioffset, int ndelete, int insert, DPoint const points[])
Similar to Edit_Shell_Points(), but accepts double-precision values.
void HC_Open_Face(int id)
Prepares a face within a shell or mesh for the local overriding of drawing attributes.
Key HC_Conditional_Style(char const *style, char const *conditions)
Similar to Style_Segment(), but uses a list of conditions that must be satisfied in order for the inc...
void HC_UnSet_Marker_Symbol(void)
Removes all settings established by a previous call to Set_Marker_Symbol().
void HC_UnDefine_Texture(char const *texture_name)
Removes all settings established by a previous call to Define_Texture().
bool HC_Find_Alias(char *alias)
Retrieves the alias names, one at a time. The function returns false when all aliases have been retur...
int HC_DPShow_Net_Clip_Region(int count, Key const keys[], int *loopCount, int loopSizeArray[], DPoint points[], char *spec)
Like PShow_Net_Clip_Region, but operates on double-precision data.
void HC_MUnSet_Specific_Face_Normals(Key key, int count, int const indices[])
Removes the normal values for a set of specific faces at once. This allows the shell or mesh to inher...
bool HC_Compute_Circumcuboid(char const *segment, Point *min, Point *max)
Returns points defining a cuboid that circumscribes the geometry within a segment.
void HC_Edit_Mesh(Key key, int row_offset, int column_offset, int row_count, int column_count, Point const points[])
Modifies one, some, or all of the vertex values in a previously-inserted mesh.
void HC_Show_One_Conditional_Action(char const *action_type, char *options, char *condition)
Shows the options and conditions for the specified action.
void HC_Define_Image_Glyph(const char *name, const char *definition)
void HC_Flush_Geometry(char const *segment)
Flushes just geometry from a segment but leaves attributes, styles, segments, and subsegments...
void HC_Show_Trim_Curve(int index, int *degree, int *cp_count, float points[], float weights[], float knots[], float *start_u, float *end_u)
Returns the definition of an existing NURBS curve trim object.
bool HC_Compute_Text_Metrics_Size(int count, Key const *keys, char const *encoding, void const *text, char const *options, int *size)
void HC_Show_Clip_Region(int *loopCount, int loopSizeArray[], Point points[], char *options)
Show the clip region settings on the currently open segment.
double HC_Compute_Matrix_Determinant(float const matrix[])
Key HC_Show_Reference_Geometry(Key reference_key)
Returns the identifier of the original geometry or segment referenced by a particular reference key...
void HC_MSet_Vertex_Parameters(Key key, int offset, int pcount, int number, float const parameters[])
Speedily sets the drawing attributes on a large number of shell, mesh, or polycylinder vertices...
int HC_Compute_Selection_By_Key(char const *action, char const *start_seg, Key key, float const matrix[])
Forces a selection event between a supplied shell, as referenced by a key, and a specified portion of...
void HC_DSet_Complex_Clip_Region(int loops, int const lengths[], DPoint const points[], char const *options)
Similar to Set_Complex_Clip_Region(), but takes double-precision precision points.
void HC_MUnSet_Vertex_Parameters(Key key, int offset, int count)
Unsets the drawing attributes on a large number of shell, mesh, or polycylinder vertices.
void HC_DScale_Object(double x, double y, double z)
Similar to Scale_Object(), but operates on double-precision data.
bool HC_Compute_Transform(char const *segment, char const *in_system, char const *out_system, float matrix[])
Converts positions back and forth among the various coordinate systems.
int HC_Begin_Buffered_Selection(char const *start_name, double left, double right, double bottom, double top, char const *options)
bool HC_Compute_Polyline_From_Curve(Key key, char const *options, int *pcount, Point points[])
Calculates and returns a tesselated version of a specified curve.
void HC_Orbit_Camera(double theta, double phi)
Walks the viewer's point of view around the object being looked at.
void HC_Close_Vertex(void)
Closes the session that began with an opening call to Open_Vertex().
bool HC_Show_PBR_Material(char *base_color_map, char *normal_map, char *emissive_map, char *metalness_map, int *metalness_map_channel, char *roughness_map, int *roughness_map_channel, char *occlusion_map, int *occlusion_map_channel, RGBA *base_color_factor, float *normal_factor, float *metalness_factor, float *roughness_factor, float *occlusion_factor, float *alpha_factor, char *options)
Shows a physically-based rendering material on a segment with the attributes specified.
void HC_Show_String_Cursor(Key key, Key *text_key, int *row, int *col)
Retrieves the key of the owning text, and position within that text, of a previously defined string c...
int HC_MShow_Spec_Vert_Colors_W_Ex(Key key, char const *geometry, int count, int const vertices[], char result_type[], float index_colors[], RGB rgb_colors[], RGBA rgba_colors[])
void HC_Show_Key_Type(Key key, char *type)
Returns the type of object referenced by a key.
void HC_Show_Conditions(char *list)
Returns the conditions that have been set on the currently open segment during a previous call to Set...
int HC_Show_Sample_Max_Length()
Returns the maximum number of keys that will be returned by a call to Find_Next_Sample.
void HC_Show_Callback(char *callbacks)
Returns the name of a procedural link between HOOPS database traversal and immediate mode rendering...
int HC_MShow_Vertex_Colors_With_Ex(Key key, char const *geometry, int offset, int count, char result_type[], float index_colors[], RGB rgb_colors[], RGBA rgba_colors[])
Key HC_Insert_Text_With_Encoding(double x, double y, double z, char const *encoding, void const *text)
Similar to Insert_Text(), but operates with encoded text rather than Latin1 text. ...
void HC_Show_Text_Region(int *count, Point points[], char *options)
Show the text region settings on the currently open text string.
void HC_Translate_Object(double x, double y, double z)
Moves objects about within the user data space.
Key HC_DInsert_Cutting_Plane(double a, double b, double c, double d)
Similar to Insert_Cutting_Plane(), but accepts parameters of type double for increased precision...
void HC_Set_Camera_Field(double width, double height)
After the viewing "camera" has been positioned, adjusts the width or height of the total field of vie...
int HC_Compute_Selection_By_Swept_S(char const *action, char const *start_seg, Key shellkey, int number_of_sweeps, float const matrices[], char const *options)
Forces a selection event between the volume created by a shell moving along a path and a specified po...
void HC_Show_User_Indices(int count[], long indices[], void **values)
Returns the user indices and values that have been set on the currently open segment by a previous ca...
void HC_MUnSet_Specific_Face_Vis(Key key, int count, int const indices[])
Removes the per-face visibility settings of a list of faces at once. This allows the shell or mesh to...
void HC_Show_Text_Leader(Key key, float *x, float *y, float *z, char *options)
void HC_Open_Geometry(Key key)
Readies an item of geometry – in particular a shell or a mesh – or a light to receive local attribu...
void HC_MUnSet_Spec_Face_Colors(Key key, int count, int const faces[])
Removes vertex-specific color settings from an arbitrary set of faces.
void HC_Show_Line_Weight(float *weight)
Returns the line weight that has been set on the currently open segment.
void HC_DRotate_Object_Offaxis(double x, double y, double z, double theta)
Similar to Rotate_Object_Offaxis(), but operates on double-precision data.
void HC_DCompute_Rotation_Matrix(double alpha, double beta, double theta, double out_matrix[])
Similar to Compute_Rotation_Matrix(), but operates on double-precision data.
double HC_DCompute_Vector_Angle(DVector const *vector, DVector const *vector2)
Similar to Compute_Vector_Angle(), but operates on double-precision data.
void HC_Compute_Transformed_Points(int count, Point const points[], float const matrix[], Point out_points[])
Applies a user-specified transform to any number of points.
void HC_Show_User_Options(char *list)
Returns the user options that have been set on the currently open segment.
Key HC_Insert_Circle_By_Radius(Point const *center, double radius, Vector const *normal)
Generates a flat, infinitely thin, colored-in circular object.
void HC_Show_Shape_Count(int *count)
int HC_DPShow_Net_Camera_Up_Vector(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Up_Vector(), but operates on double-precision cameras.
void HC_Set_User_Options(char const *list)
Allows you to create new "attributes" of your own choosing.
bool HC_PShow_Net_Color_Map(int key_count, Key const path_keys[], char *colors)
bool HC_Show_Environment(char const *variable, char *value)
Allows you to retrieve information from the operating system environment of your running program...
int HC_Compute_Points_On_Shell(int test_point_count, Point const test_points[], double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[], int results[])
Tests, within a certain tolerance, whether a given set of points reside on the surface of a shell...
bool HC_PShow_One_Net_Rendering_Opti(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Rendering_Option() but returns the net settings along a discrete path...
void HC_Show_Circular_Chord(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular chord, as referenced by a key.
void HC_Show_One_User_Option(char const *type, char *value)
Similar to Show_User_Options() but returns a single setting, rather than the entire set...
void HC_DEdit_Circular_Arc(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Arc(), but operates on double-precision data.
void HC_End_Shader_Search(void)
Terminates the shader search sequence and frees any involved memory.
bool HC_Compute_Point_Inside_Shell(Point const *test_point, int point_count, Point const points[], int face_list_length, int const face_list[])
Tests whether a given point is inside a shell, which is assumed to be a closed surface.
void HC_Show_Marker(Key key, float *x, float *y, float *z)
Returns the position of a marker, as referenced by a key.
void HC_Set_User_Index(long index, void const *data)
Associates a segment with an index into a user-defined array of option strings.
bool HC_PShow_Net_User_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_User_Options(), but returns the net effective settings along a discrete segment path...
bool HC_Find_Related_Selection(void)
Allows you to inspect the "next best" geometry item with the current Selection Event.
void HC_MShow_Vertex_Parameters(Key key, int offset, int pcount, int *number, float params[])
void HC_DShow_Clip_Region_Size(int *loopCount, int *totalPointCount, char *options)
Key HC_DInsert_Line(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Line(), but accepts parameters of type double for increased precision. Unlike Insert_Line, the parameters are not truncated.
bool HC_DCompute_Coordinates(char const *segment, char const *in_system, DPoint const *in_position, char const *out_system, DPoint *out_position)
Similar to Compute_Coordinates(), but returns double-precision values for position.
void HC_MUnSet_Specific_Vertex_Vis(Key key, int count, int const indices[])
Removes per-vertex visibility settings on several individual vertices at once. This allows the shell ...
void HC_Set_Conditional_Action(char const *options, char const *condition)
Allows the user to associated specific action(s) with a set of conditions.
Key HC_DInsert_NURBS_Curve(int degree, int cpcount, DPoint const control_points[], float const weights[], float const knots[], double start_u, double end_u)
void HC_Show_Font_Info_By_Path(int count, Key const keys[], char const *font, char const *item, char *data)
Similar to Show_Font_Info(), but returns the net effective font information along a discrete segment ...
void HC_UnSet_Parameter(void)
Removes all settings established by a previous call to Set_Parameter().
Key HC_Insert_Cylinder(Point const *center_point_1, Point const *center_point_2, double radius, char const *cap)
Inserts a cylinder into the currently open segment.
void HC_Show_Text_Encoding(Key key, char *encoding)
Finds the type of encoding with which a particular string was inserted, as referenced by a key...
void HC_UnDefine_Named_Style(char const *style_name)
Removes a named style definintion established by a previous call to Define_Named_Style.
void HC_Begin_Open_Segment_Search(void)
Returns the pathnames of all open segments.
Key HC_Reference_Geometry_By_Key(Key geom_key)
Similar to Reference_Geometry(), but references a particular item, rather than a segment and all of i...
void HC_Show_Shape_Size(char const *name, int *data_size)
void HC_End_Error_Handler_Search()
Terminates the error handler search sequence and frees any memory involved.
void HC_Show_Window_Pattern(char *pattern)
Returns the window pattern set on the currently open segment.
void HC_Set_Edge_Pattern(char const *pattern)
Applies a pattern of dots and dashes, or whatever, to the edges of polygons, circles, ellipses, shells, and meshes.
void HC_DShow_Camera_Target(double *x, double *y, double *z)
Similar to Show_Camera_Target(). This command should be used in conjunction with other double-precisi...
void HC_Show_Mesh(Key key, int *rows, int *columns, Point points[])
Returns the previous definition of a mesh, as referenced by a key.
void HC_Begin_Shape_Search(void)
void HC_Set_Text_Spacing(double spacing)
Allows you to space out or squeeze the text strings in a segment.
bool HC_DCompute_Coordinates_By_Path(int count, Key const keys[], char const *in_system, DPoint const *in_position, char const *out_system, DPoint *out_position)
Similar to Compute_Coordinates_By_Path(), but operates on double-precision data.
void HC_Show_Unicode_Options_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_Unicode_Options.
Key HC_Insert_Sphere(Point const *center, double radius, Vector const *axis, Vector const *ortho)
Generates a sphere.
void HC_Show_Selection_Source_Elem(int *vertex, int *edge, int *face, Point *hit_location)
Returns the location on a shell where a hit would occur if that shell was moved along the vector to t...
void HC_Edit_PolyCylinder_With_Basis(Key key, int p_count, Point const pts[], int r_count, float const radii[], char const *capping, Vector const basis[])
Edits the polycylinder's points, radii, and vector basis.
Key HC_Insert_Image_By_Ref(double x, double y, double z, char const *format, int width, int height, const void *data)
Similar to Insert_Image(), but does not create a copy of the image data within HOOPS.
void HC_DShow_Infinite_Ray(Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb)
Similar to Show_Infinite_Ray(), but returns double-precision values.
void HC_DRoll_Camera(double angle)
Similar to Roll_Camera(), but operates on double-precision data.
bool HC_Find_Next_Sample(int *key_count, Key keys[], int *offset1, int *offset2, int *offset3)
Allows you to inspect the next item in the list of items found by Collect_Area_Samples.
void HC_Compute_Screen_Extent_By_Pat(int count, Key const keys[], char const *options, float *left, float *right, float *bottom, float *top)
Similar to Compute_Screen_Extent(), but concatenates the matrices along a segment path rather than th...
void HC_Show_Partial_Shell_Size(Key key, int foffset, int fcnt, int *flist_length)
Finds the size of a portion of a shell. This is useful in determining the size of the data structure ...
int HC_Show_Existence(char const *filter)
A utility routine to determine how much of something exists within a segment, or if it exists at all...
void HC_MSet_Face_Colors_By_Value(Key key, char const *type, int offset, char const *color_space, int count, RGB const values[])
Sets the drawing attributes on a contiguous range of shell or mesh faces speedily.
void HC_Show_Cond_Action_Types(char *action_types)
Shows all actions set in the current segment.
bool HC_PShow_One_Net_Visibility(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Visibility() but returns the net settings along a discrete path.
void HC_DShow_Modelling_Matrix(double matrix[])
Similar to Show_Modelling_Matrix(), but operates on double-precision matrices.
void HC_MSet_Specific_Face_Normals(Key key, int count, int const indices[], Vector const normals[])
Speedily sets the normal values for a specific faces on a shell or mesh faces.
void HC_MShow_Spec_Vert_Col_By_Value(Key key, char const *type, int count, int const offsets[], RGB rgb[])
void HC_UnSet_Face_Pattern(void)
Removes all settings established by a previous call to Set_Face_Pattern().
void HC_Move_Distant_Light(Key key, double di, double dj, double dk)
Changes the location, in object space, of a previously-inserted "distant light".
int HC_DCompute_Intersect_Polyline(int pcount1, DPoint const points1[], int flist_length3, int const face_list1[], int pcount2, DPoint const points2[], int flist_length2, int const face_list2[], int *polyline_count, int polyline_lengths[], int *polyline_points_count, DPoint polyline_points[])
Similar to Compute_Intersect_Polyline(), but operates on double-precision data.
void HC_Show_Geometry_Pointer(Key key, const char *data_type, void *value)
Retrieves a pointer to the internal data structure of the object identified by key.
void HC_DShow_Image(Key key, double *x, double *y, double *z, char *format, int *width, int *height, void *data)
Similar to Show_Image(), but returns double-precision values.
void HC_Set_Marker_Size(double weight)
Makes marker symbols larger or smaller than usual.
void HC_Show_Selection_Item(Key *key, int *offset1, int *offset2)
void HC_Set_Driver_Options(char const *list)
Provides information to the system about a variety of special device-specific display options...
void HC_DCompute_Offaxis_Rotation(double x, double y, double z, double theta, double out_matrix[])
Similar to Compute_Offaxis_Rotation, but operates on double-precision data.
int HC_PShow_Net_Camera_By_Volume(int count, Key const keys[], char *proj, float *xmin, float *xmax, float *ymin, float *ymax)
Similar to Show_Camera_By_Volume(), but returns the net effective camera along a discrete segment pat...
void HC_Set_Default_Shapes_By_Key(Key target_segment)
void HC_Reverse_Contents_Search(void)
void HC_Show_Device_Info_By_Key(Key key, char const *item, char *data)
Similar to Show_Device_Info(), but the driver segment is identified by a key instead of by name...
void HC_Show_Variable_Line_Weight(char *weight)
Show the current variable line weight setting.
void HC_Trim_NURBS_Surface_By_Curve(int degree, int cpcount, float const control_points[], float const weights[], float const knots[], double start_u, double end_u)
Inserts a NURBS curve into the trim list and applies the trim to a surface.
double HC_DCompute_Selection_Dist_By_S(char const *action, char const *start_segment, int pcount, DPoint const points[], int flist_length, int const faces[], const char *options)
Similar to Compute_Selection_Distance_By_Shell(), but operates on double-precision data...
void HC_DSet_Camera(DPoint const *position, DPoint const *target, DVector const *up, double width, double height, char const *projection)
Similar to Set_Camera(), but operates on double-precision parameter values.
int HC_Compute_Selection_By_Swept_2(char const *action, char const *start_seg, Key shellkey, int sweepcount, float const matrices[], char const *options, float bounding_box[])
Similar to Compute_Selection_By_Swept_Shell(), but takes an extra parameter which receives a bounding...
bool HC_Compute_Circumsphere(char const *segment, Point *center, float *radius)
Returns points defining a sphere that circumscribes the geometry within a segment.
void HC_Show_Explicit_Color(char const *type, char const *channel, float rgb[], char *texture, char *options)
Returns the various components of a color definition.
int HC_DPShow_Net_Camera_Position(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Position(), but operates on double-precision cameras. ...
Key HC_Compute_Capping_Shell(int shell_count, Key const shell_list[], float const plane[])
Creates a shell in the currently open segment that contains an exact copy of the cap geometry that a ...
void HC_Show_One_Selectability(char const *type, char *value)
Similar to Show_Selectability() but returns a single setting, rather than the entire set...
bool HC_Compute_Text_Extent_Enc_Path(int count, Key const keys[], char const *encoding, void const *text, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent_By_Path(), but operates on encoded text rather that Latin1 text...
void HC_Optimize_Segment_Tree(char const *segname, char const *option_string)
Traverses the specified segment tree and makes modifications within it to try to improve rendering pe...
void HC_Show_One_Character_Attribute(Key key, int offset, char const *which, char *options)
Returns one per-character attribute setting from a given text string.
void HC_MShow_Face_Normals(Key key, int offset, int count, Vector normals[])
Returns the normals set on the faces of some geometry without having to open each face...
void HC_DSet_Modelling_Matrix(double const matrix[])
Similar to Set_Modelling_Matrix(), but operates on double-precision matrices.
Key HC_DInsert_Ink(double x, double y, double z)
Similar to Insert_Ink() but accepts parameters of type double for increased precision. Unlike Insert_Ink, the parameters are not truncated.
void HC_MSet_Region_Faces(Key key, int region, int first_face, int face_count)
Adds a specified range of shell faces to the specified region without requiring open geometry or regi...
bool HC_Find_Shape(char *name)
void HC_Print_Version(void)
Prints out the version number of the HOOPS you're using.
void HC_Begin_Exit_Handler_Search()
Finds all the currently defined exit handlers.
bool HC_DFilter_Circumsphere_By_Key(Key segKey, char const *options, DPoint *center, double *radius)
Similar to Filter_Circumsphere_By_Key(), but operates on double-precision data.
void HC_Append_Texture_Matrix(float const array[])
Allows direct manipulation of the matrix transform applied against all shell and mesh (u...
void HC_Compute_Text_Outline_By_Key(Key key, int *pcount, Point points[], int *flist_length, int face_list[])
Similar to Compute_Text_Outline(), but operates on an object referenced by an HC_KEY.
void HC_UnSet_User_Options(void)
Removes all settings established by a previous call to Set_User_Options().
bool HC_Compute_Polygon_Normal(int count, Point const points[], char const *hand, Vector *out_vector)
Key HC_DInsert_Polygon(int count, DPoint const points[])
Similar to Insert_Polygon(), but accepts double-precision values for points.
void HC_Show_One_Condition(char const *condition, char *value)
Similar to Show_Conditions() but returns the value of a single option rather than the entire list...
bool HC_DCompute_Normalized_Matrix(double const matrix[], double out_matrix[])
Similar to Compute_Normalized_Matrix, but operates on double-precision data.
bool HC_Compute_Transform_By_Path(int count, Key const keys[], char const *in_system, char const *out_system, float matrix[])
Similar to Compute_Transform(), but concatenates the matrices along a segment path rather than the cu...
void HC_DShow_PolyCylinder(Key key, int *p_count, DPoint pts[], int *r_count, double radii[], char *capping)
Similar to Show_PolyCylinder(), but operates on double-precision data.
void HC_DEdit_Circle_By_Radius(Key key, DPoint const *center, double radius, DVector const *vector)
Similar to Edit_Circle_By_Radius(), but operates on double-precision data.
void HC_DShow_Infinite_Line(Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb)
Similar to Show_Infinite_Line(), but operates on double-precision data.
int HC_Inspect_Proxies(Key out_keys[], int n_out_keys)
bool HC_PShow_Net_Edge_Pattern_Exp(int count, Key const keys[], char *pattern)
Similar to Show_Edge_Pattern_Explicit(), but returns the net effective setting along a discrete path ...
bool HC_Show_Bounding_Sphere_By_Key(Key key, Point *center, float *radius)
Similar to Show_Bounding_Sphere(), but operates on an object referenced by an HC_KEY.
void HC_Define_Line_Style(char const *name, char const *definition)
Allows the user to create a custom line style using a combination of lines, blanks, glyphs, and attributes.
void HC_DSet_Bounding_Cuboid(DPoint const *min, DPoint const *max)
Similar to Set_Bounding_Cuboid(), but operates on double-precision data.
void HC_Edit_Polygon(Key key, int offset, int ndelete, int insert, Point const points[])
Adjusts the boundary of a previously declared polygon.
void HC_Show_One_Color(char const *type, char *color)
Returns the color value for one particular type of geometry.
bool HC_Find_Segment(char *segment)
Retrieves the segment names, one at a time. The function returns false when all segments have been re...
void HC_Show_Infinite_Line(Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb)
Returns the vector of points that define an infinite line, as referenced by a key.
void HC_MShow_Face_Regions(Key key, int *face_count, int regions[])
Show the regions defined for a given shell without requiring open geometry.
void HC_Show_Image(Key key, float *x, float *y, float *z, char *format, int *width, int *height, void *data)
Returns the rectangular array of pixel data, as referenced by a key.
bool HC_Find_Texture(char *name)
Retrieves the texture names, one at a time. The function returns false when all textures have been re...
bool HC_PShow_One_Net_Texture(int count, Key const keys[], char const *name, char const *opt, char *output)
Similar to Show_One_Net_Texture(), but calculates the net effective value of a specific setting on th...
void HC_DAppend_Modelling_Matrix(double const array[])
Similar to Append_Modelling_Matrix(), but accepts double-precision data.
void HC_Scale_Object(double x, double y, double z)
Enlarges or reduces objects within the user data space. Not to be confused with Zoom_Camera.
void HC_Edit_PolyCylinder(Key key, int p_count, Point const pts[], int r_count, float const radii[], char const *capping)
Edits a polycylinder as it sits in the database, without deleting and reinserting.
void HC_Show_Wakeup(float *time)
Returns the time specification of the current wakeup event.
void HC_Show_Alias_Count(int *count)
Finds out how many aliases will be returned. This is useful for determining the size of a data struct...
void HC_MShow_Vertex_Colors_By_Value(Key key, char const *type, int offset, int count, RGB rgb[])
Key HC_Insert_NURBS_Surface(int u_degree, int v_degree, int u_count, int v_count, Point const points[], float const weights[], float const u_knots[], float const v_knots[])
Generates a Non-Uniform Rational B-Spline (NURBS) surface.
void HC_Show_Line_Style_Count(int *count)
Finds out how many line styles will be returned. This is useful for determining the size of a data st...
int HC_PShow_Net_Modelling_Matrix(int key_count, Key const path_keys[], float matrix[])
Similar to Show_Modelling_Matrix(), but returns the net effective value along a discrete segment path...
void HC_UnSet_One_Rendering_Option(char const *which)
Removes a given setting established by a previous call to Set_Rendering_Options(), rather than all settings.
Key HC_DInsert_Local_Light(double x, double y, double z)
Similar to Insert_Local_Light(), but accepts parameters of type double for increased precision...
void HC_Begin_Font_Search(char const *display, char const *filter)
Finds the names of all the fonts available on a particular device.
void HC_DEdit_PolyCylinder_With_Basis(Key key, int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping, DVector const basis[])
Similar to Edit_PolyCylinder_With_Basis, but operates on double-precision data.
void HC_Compute_Text_Outline_Size_By(Key key, int *pcount, int *flist_length)
Similar to Compute_Text_Outline_Size(), but enables the user to pass in a key for the desired text ob...
Key HC_DInsert_Elliptical_Arc(DPoint const *center, DPoint const *major, DPoint const *minor, double start, double end)
Similar to Insert_Elliptical_Arc(), but accepts parameters of type double for increased precision...
void HC_Show_Net_Normal(float *x, float *y, float *z)
Similar to Show_Normal(), but returns the net effective normal rather than the local one...
int HC_QShow_Existence_Unicode(char const *segment, unsigned short const *filter)
Similar to Show_Existence_Unicode(), but operates on a given segment rather than the currently open o...
bool HC_PShow_Net_Text_Spacing(int key_count, Key const path_keys[], float *spacing)
Similar to Show_Text_Spacing(), but returns the net effective setting along a discrete segment path...
bool HC_PShow_Net_Glyph_Size(int count, Key const keys[], char const *name, int *size)
Similar to Show_Glyph_Size(), but returns the net effective value along a discrete segment path...
int HC_PShow_Net_Clip_Region(int count, Key const keys[], int *loopCount, int loopSizeArray[], Point points[], char *spec)
Returns all the clip regions found on the key path passed to the function.
void HC_Compute_Identity_Matrix(float out_matrix[])
void HC_MUnSet_Specific_Vert_Normals(Key key, int count, int const indices[])
Speedily unsets the normal values a set of faces on a large number of shell, mesh, or polycylinder vertices.
bool HC_PShow_Net_Conditions(int count, Key const keys[], char *options)
Similar to Show_Conditions() but returns the net effective settings along a discrete segment path...
void HC_Set_Callback(char const *callbacks)
Establishes a procedural link between HOOPS database traversal and immediate mode rendering...
void HC_Show_Cutting_Section(Key key, int *count, Plane planes[])
Returns the array of coefficients used to define a cutting section.
void HC_Set_Polygonal_Clip_Region(int count, Point const points[], char const *options)
Defines a polygonal region in the segment tree, where all geometry within and beneath that segment wi...
void HC_MShow_Region_Faces(Key key, int region, int *face_count, int faces[])
void HC_Set_Variable_Edge_Weight(char const *weight)
Defines weights for edges that scale in a similar manner to other geometric primitives.
void HC_Show_Callback_Name_Count(int *count)
Finds out how many callback names will be returned. This is useful for determining the size of a data...
void HC_Set_Bounding_Sphere(Point const *center, double radius)
Specifies the sphere used by HOOPS to circumscribe the geometry within a segment. ...
void HC_DSet_Text_Region(int pCount, DPoint const points[], char const *options)
Similar to Set_Text_Region, but operates on double-precision data.
void HC_Delete_Specific_Shell_Faces(Key key, int count, int const indices[])
Removes a particular face from the facelist of a particular shell.
void HC_UnDefine_Callback_Name(char const *name)
Removes all settings established by a previous call to Define_Callback_Name().
void HC_UnSet_One_User_Data(intptr_t index)
This function unsets binary user data associated with a segment or piece of geometry in the database...
void HC_Define_Shader(char const *name, char const *options, char const *shader_source)
Defines a section of code that will be injected into the HOOPS 3DF pixel shader.
void HC_DEdit_Grid(Key key, char const *type, DPoint const *origin, DPoint const *ref1, DPoint const *ref2, int count1, int count2)
Similar to Edit_Grid(), but operates on double-precision data.
void HC_Set_Default_Line_Styles()
Defines all default line styles in the currently open segment.
void HC_Edit_Circular_Wedge(Key key, Point const *point1, Point const *point2, Point const *point3)
Edits a circular wedge as it sits in the database.
intptr_t HC_Dump_Memory_Profile(char const *which)
void HC_MUnSet_Spec_Vert_Parameters(Key key, int count, int const indices[])
Unsets the parameter values for a specific set of vertices on shell, mesh, or polycylinder.
void HC_Show_Selection_Original_Keys(int *count, Key key[])
Returns an array of original HOOPS keys that delineate the ownership of the selection object...
void HC_Show_One_System_Option(char const *type, char *value)
Similar to Show_System_Options(), but returns the value of a single attribute in the currently open s...
void HC_UnSet_One_Selectability(char const *which)
Removes a given setting established by a previous call to Set_Selectability(), rather than all settin...
bool HC_PShow_Net_User_Opt_Length(int key_count, Key const path_keys[], int *length)
Finds the net effective value of the length along a path of segments specified by an array of HC_KEY'...
void HC_End_Buffered_Selection()
Ends the selection process for the current buffered selection event. that was previously started usin...
int HC_UnDefine_Geometry_Highlight(int count, Key const keys[], char const *style, char const *options, int elements_count, int const offset1[], int const offset2[], int const offset3[])
UnDefines an existing geometry highlight.
void HC_Compute_Text_Outline_Size_Pa(int count, Key const keys[], char const *text, int *pcount, int *flist_length)
Similar to Compute_Text_Outline(), but concatenates the matrices along a segment path rather than the...
void HC_Show_Shell(Key key, int *pcount, Point points[], int *flist_length, int face_list[])
Returns the previous definition of a shell, as referenced by a key.
Key HC_Include_Segment(char const *include)
Leaves a note for the system directing it to grab a copy of another segment whenever the current one ...
bool HC_PShow_Net_Glyph(int count, Key const keys[], char const *name, char *definition)
Similar to Show_Glyph(), but returns the net effective value along a discrete segment path...
bool HC_PShow_Net_Unicode_Opt_Length(int key_count, Key const path_keys[], int *length)
Returns the net effective value of the length along a path of segments specified by an array of HC_KE...
void HC_Move_Segment(char const *old_seg_name, char const *new_seg_name)
Changes the name of a segment, and/or moves it somewhere else in the segment tree.
void HC_Show_Parameter(int *size, float list[])
Returns the parameters that have been set on the currently open vertex.
bool HC_PShow_Net_Var_Marker_Size(int count, Key const keys[], char *size)
Similar to Show_Variable_Marker_Size(), but returns the net effective setting along a discrete segmen...
Key HC_DInsert_Marker(double x, double y, double z)
Similar to Insert_Marker(), but accepts parameters of type double for increased precision. Unlike Insert_Marker, the parameters are not truncated.
int HC_Compute_Selection_By_Ray(char const *action, char const *start_seg, Point const *start_point, Vector const *direction)
Forces a selection event between a supplied ray and all polyhedron-based objects within a specified p...
int HC_Show_Existence_Unicode_By_K(Key key, unsigned short const *filter)
Similar to Show_Existence_Unicode(), but operates on an object referenced by an HC_KEY.
void HC_Set_Color_By_Index(char const *types, int index)
Changes the color to be used when rendering the contents of a segment. The color is defined indirectl...
bool HC_Show_Bounding_Sphere(Point *center, float *radius)
Returns the sphere used by HOOPS to circumscribe the geometry within a segment.
bool HC_DCompute_Transformed_Plane(DPlane const *plane, double const matrix[], DPlane *out_plane)
Similar to Compute_Transformed_Plane(), but operates on double-precision data.
Key HC_Include_Segment_By_Key(Key seg_key)
Similar to Include_Segment(), but operates on an object referenced by an HC_KEY.
void HC_DSet_Camera_By_Volume(char const *proj, double xmin, double xmax, double ymin, double ymax)
Similar to Set_Camera_By_Volume(), but accepts double-precision parameters and operates on double-pre...
Key HC_Show_Named_Style(char const *style_name, char *style_source)
Returns the segment path of a named style established by a previous call to Define_Named_Style().
void HC_Move_Light_Position(Key key, double x, double y, double z)
Changes the location, in object space, of a previously inserted "local light" or "spot light"...
Key HC_Insert_Distant_Light(double di, double dj, double dk)
Inserts a distant point source of light into your scene.
void HC_MSet_Vertex_Colors_By_Value(Key key, char const *types, int offset, char const *color_space, int count, RGB const values[])
Sets the color on a contiguous range of shell, mesh, or polycylinder vertices.
void HC_Show_Selection_Element(Key *key, int *offset1, int *offset2, int *offset3)
Returns the key of the database element that was selected by the user, plus an offset within that ele...
void HC_Show_Named_Style_Count(int *count)
Returns the number of named styles established by previous calls to Define_Named_Style().
void HC_Show_Trim_Count(int *count)
Returns the number of objects in the trim list of the currently open NURBS surface or trim collection...
void HC_Define_Font_By_Reference(char const *name, char const *options, int data_length, char const data[])
Similar to Define_Font(), but avoids creating an internal copy of the font within HOOPS memory...
void HC_UnSet_Rendering_Options(void)
Removes all settings established by a previous call to Set_Rendering_Options().
void HC_UnSet_Text_Font(void)
Removes all settings established by a previous call to Set_Text_Font().
void HC_DShow_Ellipse(Key key, DPoint *center, DPoint *major, DPoint *minor)
Similar to Show_Ellipse(), but returns double-precision values.
void HC_Show_Local_Light(Key key, float *x, float *y, float *z)
Returns the position of a "local light", as referenced by a key.
int HC_PShow_Net_Camera_Position(int key_count, Key const path_keys[], float *x, float *y, float *z)
Returns the net effective setting along a discrete segment path.
void HC_Set_Camera(Point const *position, Point const *target, Vector const *up, double width, double height, char const *projection)
Allows the complete specification of the viewing camera's position, orientation, and field of view...
void HC_Show_Shell_By_Tristrips_Size(Key key, int *pcount, int *tristrips_length, int *face_indices_length)
Finds the size of a shell that has been inserted by tristrips. This is useful in determining the size...
bool HC_Show_Error(char *severity, int *category, int *severity_level)
Shows whether a severe error was generated during the previous HOOPS call and returns the error compo...
void HC_Set_Text_Size(double ivalue)
void HC_End_Callback_Name_Search(void)
Terminates the callback name search sequence and frees any involved memory.
void HC_Show_Color_Name(char const *color, char *definition)
Shows the definition of a color.
Key HC_DInsert_Circular_Arc(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circular_Arc(), but accepts parameters of type double for increased precision...
void HC_Show_Selection_Keys(int *count, Key keys[])
Returns the key of the item that was selected by the user, and the keys for all the segments in the p...
void HC_Show_Ellipse(Key key, Point *center, Point *major, Point *minor)
Returns the three points used to define the ellipse, as referenced by a key.
void HC_Show_Visibility(char *list)
Returns the visibility settings for the currently open segment.
void HC_Modify_Color_Map(int offset, char const *colors)
Changes the array of colors which are used when displaying Images, or "by index", color attributes...
void HC_Exit_Program(void)
Calls the defined exit handlers, and exits to the operating system with a normal status.
bool HC_DCompute_Circumsphere_By_Key(Key key, DPoint *center, double *radius)
Similar to Compute_Circumsphere_By_Key(), but operates on double-precision data.
bool HC_DShow_Bounding_Cuboid(DPoint *min, DPoint *max)
Similar to Show_Bounding_Cuboid(), but operates on double-precision data.
void HC_Flush_By_Key(Key key)
Throws away the contents of a geometric primitive or a segment but leaves the structure intact...
void HC_DEdit_Ellipse(Key key, DPoint const *center, DPoint const *major, DPoint const *minor)
Similar to Edit_Ellipse(), but operates on double-precision data.
void HC_Rotate_Texture(double theta, double phi, double psi)
Moves the represented texture about its U-, V-, or W-axis.
void HC_MUnSet_Vertex_Normals(Key key, int offset, int count)
Speedily unsets the normal values a range of faces on a large number of shell, mesh, or polycylinder vertices.
void HC_MShow_Spec_Vert_Col_By_FInd(Key key, char const *type, int pcount, int const offsets[], float indices[])
void HC_UnSet_Visibility(void)
Removes all settings established by a previous call to Set_Visibility().
Key HC_Insert_Compressed_Image(double x, double y, double z, char const *format, int width, int height, int size, void const *data)
Inserts a compressed pixel-based image in the HOOPS database.
Key HC_DInsert_Image(double x, double y, double z, char const *format, int width, int height, const void *data)
Similar to Insert_Image(), but accepts parameters of type double for increased precision.
bool HC_Find_Color_Name(char *name, char *er_name, char *ish_name)
Retrieves the color names, one at a time. The function returns false when all color names have been r...
bool HC_PShow_Net_Shader(int count, Key const keys[], char const *name, char *output, char *shader_source)
Similar to Show_Shader(), but returns the net effective value along a discrete segment path...
void HC_Compute_Text_Outline_Size_Wi(char const *segment, char const *encoding, void const *etext, int *pcount, int *flist_length)
Similar to Compute_Text_Outline_Size(), but operates on encoded text rather than Latin1 text...
Key HC_Insert_Ellipse(Point const *center, Point const *major, Point const *minor)
Generates a flat, infinitely thin, colored-in elliptical object.
bool HC_DCompute_Transformed_Planes(int count, DPlane const planes[], double const matrix[], DPlane out_planes[])
Applies a user-defined transform to a group of planes.
void HC_DSet_Camera_Target(double x, double y, double z)
Similar to Set_Camera_Target(). This command should be used in conjunction with other double-precisio...
void HC_Show_Open_Segment_Count(int *count)
Finds out how many segments will be returned. This is useful for determining the size of a data struc...
void HC_Show_Font_Info(char const *driver, char const *name, char const *item, char *data)
Returns selected information about the specified font.
void HC_Set_Normal(double x, double y, double z)
Forces the normal vector at a vertex, edge, or face to a particular value.
void HC_Show_One_Heuristic(char const *type, char *value)
Similar to Show_Heuristics() but returns a single setting, rather than the entire set...
void HC_Edit_PolyCylinder_Points(Key key, int offset, int delete_count, int insert_count, Point const points[])
Edits an existing polycylinder by inserting or deleting its points.
int HC_PShow_Net_Camera_Field(int key_count, Key const path_keys[], float *width, float *height)
Returns the net effective setting along a discrete segment path.
void HC_Show_Selection_Keys_Count(int *count)
Finds the number of keys for a given selection. This is useful in determining the size of the data st...
void HC_Show_Image_Format(Key key, char *format)
Returns the underlying format of the raster data in the provided image.
Key HC_Reference_Geometry_Key_By_Ke(Key target_segment, Key reference_key)
Similar to Reference_Geometry(), but operates on the segment identified by target_segment instead of ...
void HC_Show_Shell_Size(Key key, int *pcount, int *flist_length)
Finds the size of a given shell. This is useful in determining the size of the data structures that m...
bool HC_PShow_Net_Line_Style_Size(int count, Key const keys[], char const *name, int *size)
Similar to Show_Line_Style_Size(), but returns the net effective value along a discrete segment path...
void HC_DShow_Sphere(Key key, DPoint *center, double *radius, DVector *axis, DVector *ortho)
Similar to Show_Sphere(), but returns double-precision data.
void HC_Show_Cylinder(Key key, Point *p1, Point *p2, float *radius, char *cap)
Returns the previous definition of a cylinder, as referenced by a key.
void HC_MSet_Vertex_Normals(Key key, int offset, int count, Vector const normals[])
Speedily sets the drawing attributes on a large number of shell, mesh, or polycylinder vertices...
int HC_Compute_Selection_By_Area(char const *display, char const *start_seg, char const *action, double left, double right, double bottom, double top)
Similar to Compute_Selection(), but operates on a rectangular area.
void HC_Show_One_Color_By_Index(char const *type, int *index)
Similar to Show_One_Color(), but returns the value of a single attribute in the currently open segmen...
void HC_Dolly_Camera(double right, double up, double in)
One of a set of routines to manipulate one's point of view. "Dolly" moves the "camera" left and right...
int HC_Show_Existence_By_Key(Key key, char const *filter)
Similar to Show_Existence(), but operates on an object referenced by an HC_KEY.
Key HC_Insert_Unicode_Text(double x, double y, double z, unsigned short const text[])
Insert encoded text as an array of short integers.
void HC_Zoom_Camera(double zoom)
Narrows or enlarges the viewing field of the camera.
void HC_Show_Color_By_Value(char *types, char *colorspace, float *a, float *b, float *c)
Returns the numerically-defined colors of objects in the currently open segment.
bool HC_DCompute_Point_On_Shell(DPoint const *test_point, double tolerance, int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Compute_Point_On_Shell, but operates on double-precision data.
void HC_Begin_Texture_Search(void)
These routines recall all the defined texture names.
void HC_Show_Selection_Original_Key(Key *key)
Returns the original HOOPS key to a renumbered selection object.
void HC_Show_Conditional_Named_Style(Key style_key, char *style_name, char *condition)
void HC_Show_Line_Style_Size(char const *style, int *size)
Returns the size of the line style that has been set on the currently open segment.
void HC_Show_Color_Map_Length(int *value)
Returns the size of the color map that has been set on the currently open segment.
void HC_Show_Edge_Pattern_Explicit(char *pattern)
Returns the explicit edge pattern that has been set on the currently open segment.
void HC_Define_Color_Name(char const *name, char const *er_name, char const *ish_name, char const *definition)
Adds a new color name (for example, "VERMILION") to the existing colors in the system's tables (for e...
void HC_Move_Text(Key key, double x, double y, double z)
Changes the location, in object space, of a previously-inserted Text item.
void HC_Show_PolyCylinder(Key key, int *p_count, Point pts[], int *r_count, float radii[], char *capping)
Returns the previous definition of a polycylinder, as referenced by a key.
void HC_Begin_Error_Handler_Search()
Finds all currently defined error handlers.
void HC_DShow_Camera(DPoint *position, DPoint *target, DVector *up, double *width, double *height, char *projection)
Similar to Show_Camera() but accepts double-precision values. This command should be used in conjunct...
void HC_Scale_Texture(double u, double v, double w)
Gives the appearance of enlarging or reducing the size of a surface's texture map by scaling the refe...
void HC_Show_Variable_Marker_Size(char *size)
Show the current variable marker size setting.
void HC_Show_Shell_Face_Count(Key key, int *face_count)
Returns the number of faces in the shell in constant time.
void HC_DEdit_PolyCylinder_Radii(Key key, int offset, int delete_count, int insert_count, double const radii[])
Similar to Edit_PolyCylinder_Radii, but operates on double-precision data.
bool HC_Find_Named_Style(char *style_name)
Retrieves the style names, one at a time. The function returns false when all objects have been retur...
void HC_Set_Text_Path(double x, double y, double z)
Allows you to alter the direction in which text strings run.
bool HC_PShow_Net_Line_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Line_Pattern(), but returns the net effective setting along a discrete segment path...
int HC_MShow_Spec_Face_Normals_W_Ex(Key key, int count, int const indices[], char existence[], Vector normals[])
Returns the normal settings from an arbitrary set of faces without having to open each face...
void HC_Set_Default_Glyphs_By_Key(Key target_segment)
Similar to Set_Default_Glyphs() but operates on a key rather than an open segment.
Key HC_DInsert_Spot_Light(DPoint const *position, DPoint const *target, char const *list)
Similar to Insert_Spot_Light(), but accepts double-precision values for points.
bool HC_PShow_Net_Face_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Face_Pattern(), but returns the net effective setting rather than the local one...
void HC_MShow_Region_Faces_Count(Key key, int region, int *face_count)
bool HC_PShow_Net_Color_Map_Count(int key_count, Key const path_keys[], int *count)
Similar to Show_Color_Map_Count(), but returns the net effective value of the attribute(s) along a pa...
int HC_Show_Selection_Position(float *window_x, float *window_y, float *window_z, float *camera_x, float *camera_y, float *camera_z)
Shows the position that has just been used to select something. The position is returned in terms of ...
void HC_MShow_Character_Attributes(Key key, int offset, int count, char *options)
Returns attributes from a given text string on a per-character basis.
bool HC_Find_Open_Item(Key *key, char *type, int *offset1, int *offset2)
Retrieves the open items in a segment tree, one at a time. The function returns false when all items ...
bool HC_PShow_Net_User_Value(int key_count, Key const path_keys[], intptr_t *data)
void HC_DCompute_Matrix_Product(double const matrix1[], double const matrix2[], double out_matrix[])
Similar to Compute_Matrix_Product(), but operates on double-precision data.
void HC_Set_User_Data(intptr_t index, void const *data, long data_length)
This function allows the user to associate binary data with a segment or piece of geometry in the dat...
bool HC_Write_Metafile(char const *segment, char const *file, char const *options)
Writes the information in a segment out into a disk file.
void HC_UnSet_Handedness(void)
Removes all settings established by a previous call to Set_Handedness().
bool HC_PShow_One_Net_User_Option(int count, Key const keys[], char const *type, char *value)
void HC_Define_Alias(char const *name, char const *expansion)
Permits a "shorthand" name to be used in place of a longer proper name of a segment.
void HC_MSet_Face_Visibilities(Key key, int offset, int count, char const settings[])
Sets the visibility of a range of faces at once.
Key HC_Insert_Shell_From_Region(Key key1, int region, char const *options)
Creates a new shell containing the points and faces (and any associated attributes) in an existing sh...
void HC_Define_System_Options(char const *list)
Controls non-graphics system behavior.
void HC_MShow_Face_Visibilities(Key key, int offset, int count, char settings[])
void HC_UnSet_User_Value(void)
void HC_Begin_Shader_Search(void)
These routines recall the name of each shader.
void HC_Show_Spot_Light(Key key, Point *position, Point *target, char *list)
Returns a full description of the "spot light" referenced by a key.
void HC_Show_Circular_Wedge(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular wedge, as referenced by a key.
void HC_MShow_Specific_Edge_Vis(Key key, int count, int const indices1[], int const indices2[], char settings[])
void HC_Set_Edge_Pattern_Explicit(char const *pattern)
Applies line style and inner joins options to the edges of polygons, circles, ellipses, shells, and meshes.
void HC_DEdit_Circular_Chord(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Chord(), but operates on double-precision data.
void HC_UnSet_Window(void)
Removes all settings established by a previous call to Set_Window().
void HC_Edit_Sphere(Key key, Point const *center, double radius, Vector const *axis, Vector const *ortho)
Edits a sphere object as it sits in the database without deleting and re-inserting.
void HC_DEdit_Sphere(Key key, DPoint const *center, double radius, DVector const *axis, DVector const *ortho)
Similar to Edit_Sphere(), but operates on double-precision data.
void HC_MShow_Face_Colors_By_FIndex(Key key, int offset, int count, float findices[])
Returns face color settings from a contiguous range of faces without having to open geometry...
void HC_Show_Color_Map_Count(int *count)
Shows the number of entries in the current virtual color map.
void HC_Show_Text(Key key, float *x, float *y, float *z, char *text)
Returns the position, size, and contents of a previously defined text string, as referenced by a key...
bool HC_PShow_Net_Shape_Size(int count, Key const keys[], char const *name, int *size)
void HC_DCompute_Translation_Matrix(double x, double y, double z, double out_matrix[])
Similar to Compute_Translation_Matrix(), but operates on double-precision data.
int HC_DShow_Intersect_Polyline_Size(int pcount1, DPoint const points1[], int flist_length3, int const face_list1[], int pcount2, DPoint const points2[], int flist_length2, int const face_list2[], int *polyline_count, int *polyline_points_count)
bool HC_PShow_Net_Window_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Window_Pattern(), but returns the net effective setting along a discrete segment path...
void HC_Show_Font_Count(int *count)
Finds out how many font names will be returned. This is useful for determining the size of a data str...
bool HC_PShow_Net_Line_Pattern_Exp(int count, Key const keys[], char *pattern)
Similar to Show_Line_Pattern_Explicit(), but returns the net effective setting along a discrete path ...
Key HC_Insert_Circular_Wedge(Point const *point1, Point const *point2, Point const *point3)
Generates a wedge shaped polygon representing a portion of a circle.
Key HC_DInsert_Shell(int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Insert_Shell() but accepts double-precision values for points.
void HC_Begin_Local_Texture_Search(void)
Begins a texture search on the currently open segment.
void HC_Show_Faces(int *face_count, int faces[])
Show faces associated with the currently open region.
bool HC_Show_Attribute_Filter(Key key, char *filter)
void HC_Define_Glyph(char const *name, int data_size, char const data[])
Describes a set of simple geometries which can be later used to define a custom marker, edge, or line style.
Key HC_Conditional_Reference_By_Key(Key geom_key, char const *condition)
Similar to Conditional_Reference(), but references a particular item, rather than a segment and all o...
void HC_MShow_Vertex_Parameter_Size(Key key, int *number)
int HC_Show_Intersect_Polyline_Size(int pcount1, Point const points1[], int flist_length3, int const face_list1[], int pcount2, Point const points2[], int flist_length2, int const face_list2[], int *polyline_count, int *polyline_points_count)
Finds the size of the intersecting polyline. This is useful for determining the size of a data struct...
void HC_Begin_Named_Style_Search(void)
Used to locate all named styles previously defined by Define_Named_Style().
void HC_UnSet_One_Heuristic(char const *which)
Removes a given setting established by a previous call to Set_Heuristics(), rather than all settings...
bool HC_PShow_Net_Color_Map_Length(int count, Key const keys[], int *value)
Similar to Show_Color_Map(), but returns the net effective setting along a discrete segment path...
bool HC_DCompute_Polygon_Plane(int count, DPoint const points[], char const *hand, DPlane *out_plane)
Similar to Compute_Polygon_Plane, but operates on double-precision data.
void HC_Show_Parameter_Size(int *size)
Returns the size of the list array. Always three (3) for now.
void HC_UnSet_Bounding_Volume(void)
Forces HOOPS to recalculate the bounding volume used by HOOPS to circumscribe the geometry within a s...
int HC_DCompute_Selection_By_Swpt_S(char const *action, char const *start_seg, Key shellkey, int number_of_sweeps, double const matrices[], char const *options)
Similar to Compute_Selection_By_Swept_Shell(), but operates on double-precision data.
void HC_Flush_Contents(char const *segment, char const *filter)
Empties some or all of the drawing primitives, attributes, or subsegments from a segment.
void HC_DShow_Cutting_Section(Key key, int *count, DPlane planes[])
Similar to Show_Cutting_Section(), but operates on double-precision cutting sections.
void HC_Edit_Text_Leader(Key key, double x, double y, double z, char const *options)
void HC_Set_Unicode_Options(unsigned short const *options)
Stores a double byte character string in the currently opened segment.
void HC_Show_Selection_Location(float *xw, float *yw, float *xc, float *yc, float *zc)
bool HC_PShow_One_Net_Callback_WD(int count, Key const keys[], char const *callback_point, char *callback, void **data)
Returns the net effective setting of a single callback along a path of segment specified by an array ...
void HC_Show_One_User_Option_Length(char const *which, int *length)
Similar to Show_User_Options_Length(), but returns the value of a single attribute in the currently o...
void HC_MUnSet_Character_Attributes(Key key, int offset, int count, char const *options)
Un-sets text attributes established in a previous call to MSet_Character_Attributes.
void HC_Show_Distant_Light(Key key, float *di, float *dj, float *dk)
Returns the direction of a "distant light", as referenced by a key.
void HC_Show_Shell_Tristrip_Count(Key key, int *tristrip_count)
Returns the tristrip count for a shell after it has been prepared for rendering.
int HC_MShow_Vertex_Normals_W_Ex(Key key, int offset, int count, char existence[], Vector normals[])
bool HC_PShow_Net_Marker_Size(int key_count, Key const path_keys[], float *size)
Similar to Show_Marker_Size(), but returns the net effective setting along a discrete segment path...
void HC_Move_Key_By_Key(Key key, Key newowner)
Moves a single geometric primitive or segment from one segment to another. Locally renumbered keys re...
Key HC_Named_Style_Segment(char const *style_name)
Requests that the current segment be drawn in the style of the segment associated with the given name...
void HC_Edit_Elliptical_Arc(Key key, Point const *center, Point const *major, Point const *minor, double start, double end)
Edits an elliptical arc as it sits in the database.
void HC_MShow_Specific_Face_Vis(Key key, int count, int const indices[], char settings[])
Similar to MShow_Specific_Face_Visibilities() which shows the visibility settings for a precise list ...
void HC_DEdit_Circular_Wedge(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Wedge(), but operates on double-precision data.
void HC_DShow_Grid(Key key, char *type, DPoint *origin, DPoint *ref1, DPoint *ref2, int *count1, int *count2)
Similar to Show_Grid(), but returns double-precision values.
bool HC_PShow_Net_User_Indices(int key_count, Key const path_keys[], int *count, long *indices, void **values)
Similar to Show_User_Indices(), but returns the net effective settings along a discrete segment path...
void HC_UnDefine_Font(char const *name)
Removes all settings established by a previous call to Define_Font().
int HC_Compute_Selection(char const *display, char const *start_seg, char const *action, double x, double y)
Forces the explicit computation and generation of selection events.
bool HC_DFilter_Circumcuboid_By_Key(Key segKey, char const *options, DPoint *min, DPoint *max)
Similar to Filter_Circumcuboid(), but operates on an object referenced by an HC_KEY.
int HC_DCompute_Selection_By_Ray(char const *action, char const *start_seg, DPoint const *start_point, DVector const *direction)
Similar to Compute_Selection_By_Ray(), but operates on double-precision data.
void HC_Show_Selectability(char *list)
Returns a list of the selectability options that have been set on the currently open segment...
void HC_Show_Camera_Projection(char *projection)
Returns the viewing camera's projection.
void HC_Set_Marker_Symbol(char const *symbol)
Changes the screen icon used to represent graphical "markers" in the scene.
Key HC_Compute_Boolean_Shell(int target_pcount, Point const target_points[], Vector const target_normals[], int target_flist_length, int const target_face_list[], int tool_pcount, Point const tool_points[], Vector const tool_normals[], int tool_flist_length, int const tool_face_list[], char const *options)
Performs one of several boolean operations on two shells. IMPORTANT NOTE: This routine is primarily m...
void HC_MSet_Character_Attributes(Key key, int offset, int count, char const *options)
Allows developers to set text attributes on a per-character basis within a text string.
void HC_MShow_Specific_Face_Normals(Key key, int count, int const indices[], Vector normals[])
Shows the normal values for a list of faces.
void HC_DShow_Area_Light(Key key, int *ucount, DPoint upoints[], char *listptr)
Similar to Show_Area_Light, but operates on double-precision data.
void HC_Compute_Text16_From_Text(char const *intext, char const *encoding, int *outcount, unsigned short outtext16[])
Converts from integer-array representations of 16-bit characters to string representations.
void HC_End_Color_Name_Search(void)
Terminates the color name search sequence and frees any involved memory.
void HC_DShow_Polygon(Key key, int *count, DPoint points[])
Similar to Show_Polygon(), but returns double-precision values.
bool HC_PShow_One_Net_User_Opt_Len(int count, Key const keys[], char const *which, int *length)
Similar to Show_One_User_Option() but returns the net settings along a discrete path.
void HC_Compute_Translation_Matrix(double x, double y, double z, float out_matrix[])
void HC_Show_Text_Region_Count(int *count)
Finds the number of points in a text region. This is useful in determining the size of the data struc...
bool HC_Show_Bounding_Cuboid(Point *min, Point *max)
Returns the cuboid used by HOOPS to circumscribe the geometry within a segment.
void HC_Show_Polygon(Key key, int *count, Point points[])
Returns the vector of points along the edge of the polygon referenced by a key.
bool HC_Update_One_Display_Timed(char const *segment, double time)
Limit the amount of time allowed for an update.
void HC_Edit_Circle_By_Radius(Key key, Point const *center, double radius, Vector const *vector)
Generates a flat, infinitely thin, colored-in circular object.
void HC_DShow_Cutting_Plane(Key key, double *a, double *b, double *c, double *d)
Similar to Show_Cutting_Plane(), but returns double-precision values.
void HC_UnDefine_Exit_Handler(Void_Routine handler)
Removes all settings established by a previous call to Define_Exit_Handler().
bool HC_Compute_Color(char const *name, char const *out_type, RGB *out_value)
Allows access to the color-conversion routines used internally in HOOPS.
int HC_Collect_Area_Samples(double left, double right, double bottom, double top)
Gathers all objects that have been drawn in the selection area, and prepares them to be returned to t...
bool HC_Parse_String(char const *string, char const *delimiter, int offset, char *token)
A utility routine for extracting delimited strings from longer strings.
void HC_DEdit_Marker(Key key, double x, double y, double z)
Similar to Edit_Marker(), but operates on double-precision data.
bool HC_DFilter_Circumsphere(char const *segment, char const *options, DPoint *center, double *radius)
Similar to Filter_Circumsphere(), but operates on double-precision data.
void HC_Edit_Polyline(Key key, int offset, int ndelete, int insert, Point const points[])
Adjusts the contents of a previously declared polyline.
void HC_DEdit_NURBS_Curve(Key key, int cp_offset, int knot_offset, int cp_count, int knot_count, DPoint const control_points[], float const weights[], float const knots[])
Similar to Edit_NURBS_Curve() but accepts double-precision values.
void HC_Show_Camera_Position(float *x, float *y, float *z)
Returns the viewing camera's position.
void HC_DShow_Shell(Key key, int *point_countp, DPoint points[], int *face_list_lengthp, int face_list[])
Similar to Show_Shell(), but returns double-precision values.
int HC_MShow_Face_Vis_W_Ex(Key key, int offset, int count, char existence[], char visibilities[])
Shows the visibility settings for a range of faces.
intptr_t HC_Memory_Usage_By_Key(Key key, char const *which)
int HC_DCompute_Points_Distance_FS2(int test_pcount, DPoint const test_pt[], double tolerance, int point_count1, DPoint const points1[], int face_list_length3, int const face_list1[], const char *options, double results[], int face_results[])
void HC_Open_Trim(int offset)
Readies an item on the trim list for editing or querying.
void HC_Show_Polyline_Count(Key key, int *count)
Finds the number of points in a given polyline. This is useful in determining the size of the data st...
void HC_UnSet_One_Visibility(char const *which)
Removes a given setting established by a previous call to Set_Visibility(), rather than all settings...
void HC_DEdit_Text_Leader(Key key, double x, double y, double z, char const *options)
void HC_Open_Segment_By_Key(Key key)
Similar to Open_Segment(), but operates on an object referenced by an HC_KEY.
void HC_Set_Faces(int first_face, int face_count)
Adds a specified range of shell faces to an open region.
void HC_UnDefine_Shader(char const *iname)
Removes the shader code associated with the passed name.
Key HC_Insert_Spot_Light(Point const *position, Point const *target, char const *list)
Inserts a directional "point" source of light into your scene.
Key HC_Insert_String_Cursor(Key text_key, int row, int column)
Places a cursor into a text string.
void HC_Show_Faces_Count(int *face_count)
Finds the number of faces in a given region. This is useful in determining the size of the data struc...
void HC_Set_Line_Weight(double weight)
Makes simple lines and polylines broader or narrower than normal.
void HC_End_Open_Segment_Search(void)
Terminates the segment search sequence and frees any involved memory.
void HC_Show_Line(Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb)
Returns the endpoints of the line, as referenced by a key.
void HC_Show_Color_Map_By_Value(char *color_space, int *count, RGB values[])
Returns the color map that has been set on the currently open segment by a previous call to Set_Color...
bool HC_PShow_Net_Selectability(int key_count, Key const path_keys[], char *list)
Similar to Show_Selectability() but returns the net settings along a discrete path.
Key HC_Generate_Shell_From_Geometry(Key geom, char const *options)
bool HC_Compute_Text_Extent_By_Path(int count, Key const keys[], char const *text, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent(), but concatenates the matrices along a segment path rather than the ...
void HC_Show_Unicode_Text(Key key, float *x, float *y, float *z, unsigned short text[])
Returns the position, size, and contents of a previously-defined unicode text string, as referenced by a key.
void HC_Show_Rendering_Options(char *list)
Returns a list of the rendering options that have been set on the currently open segment.
void HC_UnSet_Driver_Options(void)
Removes all settings established by a previous call to Set_Driver_Options().
void HC_DZoom_Camera(double zoom)
Similar to Zoom_Camera, but operates on a double precision camera.
void HC_MShow_Vertex_Visibilities(Key key, int offset, int count, char settings[])
bool HC_PShow_Net_User_Index_Count(int key_count, Key const keys[], int *count)
Similar to Show_User_Index_Count(), but returns the net effective size rather than the local one...
void HC_Define_Highlight(int count, Key const keys[], char const *style, char const *options)
Specifies a method of highlighting an item.
bool HC_Find_Callback_Name(char *name)
Retrieves the callback names, one at a time. The function returns false when all aliases have been re...
void HC_Edit_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Edits a line object as it sits in the database, without deleting and reinserting. ...
int HC_Compute_Selection_By_Shell(char const *action, char const *start_seg, int point_count, Point const points[], int face_list_length, int const face_list[])
Forces a selection event between the supplied shell and a specified portion of a segment tree...
void HC_Show_Text_Size(float *value)
void HC_Show_Camera_Up_Vector(float *x, float *y, float *z)
Returns the viewing camera's up-vector.
void HC_DTranslate_Object(double x, double y, double z)
Similar to Translate_Object(), but operates on double-precision data.
void HC_Edit_Text(Key key, int row, int column, int erase, int ndelete, char const *new_text)
Manipulate the characters in a previously defined string.
Key HC_DInsert_Image_By_Ref(double x, double y, double z, char const *format, int width, int height, const void *data)
Similar to Insert_Image_By_Ref(), but operates on double-precision data.
bool HC_Find_Open_Segment(char *segment)
Retrieves the segments, one at a time. The function returns false when all segments have been returne...
void HC_Set_Face_Pattern(char const *pattern)
Allows a pattern to be applied to surfaces in the scene.
void HC_MUnSet_Vertex_Visibilities(Key key, int offset, int count)
Removes per-vertex visibility settings of a range of vertices at once. This allows the shell or mesh ...
Key HC_DInsert_Infinite_Ray(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Infinite_Ray() but accepts parameters of type double for increased precision...
void HC_UnDefine_Local_Texture(char const *texture_name)
Remove a texture definition on the currently open segment.
void HC_Edit_NURBS_Surface_Knots(Key key, int u_knot_offset, int v_knot_offset, int u_knot_replace_count, int v_knot_replace_count, float const u_knots[], float const v_knots[])
Edits only the knots of in a NURBS surface.
void HC_Show_Conditional_Include(Key key, char *pathname, char *conditions)
Returns the pathname and valid conditions that have been established by a previous call to Conditiona...
void HC_Show_Priority_Range(Key key, int *low, int *high)
Returns the lowest and highest priority subsegments within a segment identified by key...
void HC_Control_Update(char const *segment, char const *options)
Controls the amount of redrawing for the subsequent update.
Key HC_Conditional_Named_Style_By_Key(Key target_segment, char const *style_name, char const *condition)
void HC_Set_Camera_By_Volume(char const *projection, double xmin, double xmax, double ymin, double ymax)
Sets up the Camera so that the screen will show one simple rectangular box extracted from the infinit...
void HC_DShow_Clip_Region(int *loopCount, int loopSizeArray[], DPoint points[], char *options)
Similar to Show_Clip_Region(), but returns double-precision data.
void HC_Show_Line_Pattern_Explicit(char *pattern)
Returns the explicit line pattern that has been set on the currently open segment.
void HC_Show_Handedness(char *value)
Returns the type of Cartesian coordinate system that has been set on the currently open segment...
void HC_Optimize_Segment_Tree_By_Key(Key segkey, char const *option_string)
Similar to Optimize_Segment_Tree(), but operates on a segme.
Key HC_Include_Segment_Key_By_Key(Key key, Key includer_key)
Similar to Include_Segment_By_Key(), but inserts the include into a the segment associated with the p...
void HC_Show_Segment_Count(int *count)
Finds out how many segments will be returned. This is useful for determining the size of a data struc...
void HC_Regenerate_LOD(char const *segment, char const *options)
Throws away any existing LODs in the provided segment tree and regenerates them according to the supp...
Key HC_Create_Segment_Key_By_Key(Key parent_segment, char const *child_segment_name)
Similar to Create_Segment(), but inserts a new segment into the segment associated with the passed ke...
void HC_Modify_Color_Map_By_Value(int offset, char const *color_space, int count, RGB const values[])
Similar to Modify_Color_Map() but operates with a color values rather than names or map indices...
Key HC_Insert_Mesh_By_Ref(int rows, int columns, Point const points[])
void HC_Set_Complex_Clip_Region(int loops, int const lengths[], Point const points[], char const *options)
Defines a complex clip region in the segment tree.
void HC_DSet_Camera_Position(double x, double y, double z)
Similar to Set_Camera_Position(), but operates on double-precision cameras.
void HC_Show_User_Value(intptr_t *data)
void HC_Set_Handedness(char const *value)
Changes the Cartesian world coordinate system from "left-handed" to "right-handed" and back again...
void HC_Show_Color_Map(char *colors)
Returns the color map that has been set on the currently open segment by a previous call to Set_Color...
void HC_DCompute_Scale_Matrix(double x, double y, double z, double out_matrix[])
Similar to Compute_Scale_Matrix, but operates on double-precision data.
Key HC_Show_Renumbered_Key(Key key, char *status)
Returns the key value of an object after it was renumbered.
void HC_Show_Mesh_Size(Key key, int *rows, int *columns)
Finds the size of a given mesh. This is usefule in determining the size of the data structure that mu...
void HC_DCompute_Pline_From_Crv_Size(Key key, char const *options, int *pcount)
Similar to Compute_Polyline_From_Curve, but operates on double-precision data.
void HC_Create_Trim_Collection(void)
Creates a trim collection object without opening it or otherwise defining it.
void HC_Show_Character_Attribute_Cou(Key key, int *count)
Returns the number of characters in a given text string that have per-character attributes.
void HC_DShow_Partial_Shell(Key key, int voffset, int vcnt, DPoint points[], int foffset, int fcnt, int *flist_length, int face_list[])
void HC_DCompute_Identity_Matrix(double out_matrix[])
Similar to Compute_Identity_Matrix(), but operates on double-precision data.
Key HC_Conditional_Style_By_Key(Key seg_key, char const *conditions)
Similar to Conditional_Style(), but accepts a key rather than a pathname to identify the segment to b...
Key HC_DInsert_Text_With_Encoding(double x, double y, double z, char const *encoding, void const *text)
Similar to Insert_Text_With_Encoding() but accepts double-precision values.
void HC_UnSet_One_Condition(char const *condition)
Removes a given condition established by a previous call to Set_Conditions().
bool HC_Update_Display_Timed(double time)
Executes Update_Display and returns true if completed within a given interval.
void HC_Show_Shader(char const *name, char *definition, char *shader_source)
Returns the options and source associated with the shader whose name was passed.
void HC_Show_String_With_Encoding(char *encoding, void *text)
Similar to Show_String(), but operates on encoded text rather than Latin1 text.
Key HC_Insert_Text(double x, double y, double z, char const *text)
Puts lettering into the current segment, and thence into the picture.
bool HC_DCompute_Circumcuboid(char const *segment, DPoint *min, DPoint *max)
Similar to Compute_Circumcuboid, but accepts double-precision parameters.
void HC_Set_Variable_Marker_Size(char const *size)
Defines marker sizes that scale in a similar manner to other geometric primitives.
Key HC_DInsert_Sphere(DPoint const *center, double radius, DVector const *axis, DVector const *ortho)
Similar to Insert_Sphere(), but operates on double-precision data.
void HC_UnSet_User_Indices(void)
void HC_Begin_Decimate_Shell(Key key)
void HC_Rollback_Ink(int count)
Removes vertices added to a polyline via Insert_Ink().
void HC_Show_Trim_Operation(int index, char *operation)
Shows the type of trimming currently associated with an object in the trim list.
bool HC_Find_Highlight(int *count, Key keys[], char *options)
Returns the next highlight that was collected.
void HC_Show_Region(int region[])
Show the region associated with the currently open face.
Key HC_DInsert_Circle_By_Radius(DPoint const *center, double radius, DVector const *normal)
void HC_DSet_Bounding_Sphere(DPoint const *center, double radius)
Similar to Set_Bounding_Sphere(), but operates on double-precision data.
bool HC_PShow_One_Net_Text_Font(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Text_Font() but returns the net settings along a discrete path.
bool HC_Find_Font(char *name)
Retrieves the font names, one at a time. The function returns false when all aliases have been return...
void HC_DShow_Text_Region(int *count, DPoint points[], char *options)
Key HC_Insert_Circular_Arc(Point const *point1, Point const *point2, Point const *point3)
Generates a portion of the circumference of a circle.
bool HC_PShow_One_Net_Shader_Option(int count, Key const keys[], char const *name, char const *opt, char *output)
Returns the value of the requested option set for a specific shader.
void HC_Set_Window_Frame(char const *flag)
Causes the system to automatically delineate any windows encountered.
void HC_MShow_Vertex_Colors_By_FInd(Key key, char const *type, int offset, int pcount, float indices[])
bool HC_PShow_One_Net_Condition(int count, Key const keys[], char const *condition, char *options)
Similar to Show_One_Condition() but returns the net effective value along a discrete segment path...
void HC_UnSet_Camera_Near_Limit(void)
Removes the hither camera plane value set by a previous call to Set_Camera_Limit().
void HC_DShow_Partial_Mesh(Key key, int row_offset, int col_offset, int row_count, int col_count, DPoint points[])
void HC_Close_Trim(void)
Closes the session that began with an opening call to Open_Trim().
void HC_Relinquish_Memory(void)
Returns temporary memory (kept internally by HOOPS) to the system.
void HC_Show_Modelling_Matrix(float matrix[])
Returns the modelling matrix that has been set on the currently open segment.
Key HC_Insert_Text_Leader(Key ownerkey, double x, double y, double z, char const *options)
Inserts a leader line.
int HC_Gather_Capping_Geometry(int key_count, Key const path_keys[], Key cut_key, char const *options)
Collects capping geometry generated by cutting planes. Geometry is deposited into the currently open ...
void HC_Show_One_Text_Font(char const *type, char *value)
Similar to Show_Text_Font() but returns a single setting, rather than the entire set.
void HC_Set_Texture_Matrix(float const matrix[])
Allows direct specification of the transformation that is applied against all vertex parameters in th...
void HC_Show_Pathname_Expansion(char const *pathname, char *expansion)
Identifies the full absolute pathname corresponding to a relative pathname.
bool HC_Find_Error_Handler(Void_Routine *handler)
Retrieves the address of the registered error handlers one at a time.
void HC_Define_Texture(char const *texture_name, char const *definition)
Assigns a name to a set of texture mapping options.
void HC_Show_Compressed_Image_Size(Key key, char *format, int *width, int *height, int *size)
Finds the size of a particular image, This is useful in determining the size of the data structure th...
void HC_DShow_NURBS_Surface(Key key, int *u_degree, int *v_degree, int *u_count, int *v_count, DPoint points[], float weights[], float u_knots[], float v_knots[])
Similar to Show_NURBS_Surface() but operates on double-precision values.
bool HC_PShow_Net_Edge_Weight(int key_count, Key const path_keys[], float *weight)
Similar to Show_Edge_Weight(), but returns the net effective setting along a discreet segment path...
Key HC_Conditional_Include(char const *include, char const *condition)
bool HC_PShow_Net_PBR_Material(int count, Key const *keys, char *base_color_map, char *normal_map, char *emissive_map, char *metalness_map, int *metalness_map_channel, char *roughness_map, int *roughness_map_channel, char *occlusion_map, int *occlusion_map_channel, RGBA *base_color_factor, float *normal_factor, float *metalness_factor, float *roughness_factor, float *occlusion_factor, float *alpha_factor, char *options)
Shows the net physically-based rendering material on a segment with the attributes specified...
void HC_Close_Edge(void)
Closes the session that began with an opening call to Open_Edge().
Key HC_Compute_Boolean_Shell2(int in_pt_count_target, Point const in_pts_target[], Vector const in_normals_target[], int in_flist_len_target, int const in_flist_target[], int in_pt_count_tool, Point const in_pts_tool[], Vector const in_normals_tool[], int in_flist_len_tool, int const in_flist_tool[], char const *option_string, RGB const *in_color1, RGB const *in_color2, unsigned char const in_vis1[], unsigned char const in_vis2[])
bool HC_Find_Glyph(char *name)
Retrieves the glyph names, one at a time. The function returns false when all glyphs have been return...
void HC_Show_NURBS_Curve_Size(Key key, int *degree, int *cp_count, int *weight_count, int *knot_count)
Finds the size of a given NURBS curve. This is useful in determining the size of the data structure t...
bool HC_PShow_One_Net_Selectability(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Selectability() but returns the net settings along a discrete path...
bool HC_Filter_Circumsphere_By_Path(int count, Key const keys[], char const *options, Point *center, float *radius)
Similar to Filter_Circumsphere(), but operates on a keypath instead of a single segment.
void HC_Close_Segment(void)
Closes the currently open segment.
void HC_DEdit_Elliptical_Arc(Key key, DPoint const *center, DPoint const *major, DPoint const *minor, double start, double end)
Similar to Edit_Elliptical_Arc(), but operates on double-precision data.
void HC_End_Exit_Handler_Search()
Terminates the exit handler search sequence and frees any memory involved .
bool HC_DCompute_Polyline_From_Curve(Key key, char const *options, int *pcount, DPoint points[])
Similar to Compute_Polyline_From_Curve(), but operates on double-precision data.
void HC_Show_Highlight_Count(int *count, int *max_length)
Returns the number of distinct highlights collected, and the maximum number of keys that will be retu...
void HC_Show_One_Driver_Option(char const *type, char *value)
Similar to Show_Driver_Options() but returns a single option rather than the entire set...
void HC_Show_Texture(char const *texture, char *definition)
Shows the definition of a texture.
void HC_Show_Button_Source(char *keyboard, char *button, int *status)
Returns the keyboard-device segment and the button specification that gave rise to the current button...
void HC_Set_Priority(Key key, int priority)
Overrides the default drawing priority automatically assigned by HOOPS.
void HC_UnSet_Edge_Weight(void)
Removes all settings established by a previous call to Set_Edge_Weight().
void HC_Compute_Optimized_Shell(int pcount, Point const points[], Vector const normals[], int flist_length, int const face_list[], char const *options, int *new_pcount, Point new_points[], int *new_flist_length, int new_face_list[], int point_mapping_list[], int face_mapping_list[])
Performs one of several computations to prepare shell data for improved rendering performance...
void HC_End_Highlight_Search(void)
Discards any remaining results from this search.
void HC_Edit_Shell_Points(Key key, int offset, int ndelete, int insert, Point const points[])
Changes or deletes vertex points of a previously declared shell, or adds new points.
Key HC_DInsert_Cylinder(DPoint const *center_point_1, DPoint const *center_point_2, double radius, char const *cap)
Similar to Insert_Cylinder(), but accepts parameters of type double for increased precision...
void HC_Show_Region_Range(Key key, int *lowest, int *highest)
Return the range of region numbers associated with a given shell.
Key HC_Insert_Line(double xa, double ya, double za, double xb, double yb, double zb)
Adds a simple line segment to the current graphics segment.
void HC_MShow_Face_Colors_By_Value(Key key, int offset, int count, RGB rgb[])
Returns face color settings from a contiguous range of faces without having to open geometry...
void HC_Show_Memory_Statistics(char const *option, void *value)
Tells your program how much memory is being used by the input option.
bool HC_Compute_Polygon_Plane(int count, Point const points[], char const *hand, Plane *out_plane)
bool HC_Compute_Text_Extent_By_Key(Key key, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent(), but operates on text referenced by an HC_KEY.
bool HC_PShow_Net_Marker_Symbol(int key_count, Key const path_keys[], char *symbol)
Similar to Show_Marker_Symbol(), but returns the net effective setting along a discrete segment path...
bool HC_DFilter_Circumcuboid(char const *segment, char const *options, DPoint *min, DPoint *max)
Similar to Filter_Circumcuboid(), but operates on double-precision data.
int HC_Show_Existence_Unicode(unsigned short const *filter)
A utility routine used to determine whether one or more unicode user options exist within a segment...
int HC_Show_Segment_Name_Length(Key key)
int HC_DPShow_Net_Camera_By_Volume(int count, Key const keys[], char *proj, double *xmin, double *xmax, double *ymin, double *ymax)
Similar to PShow_Net_Camera_By_Volume(), but operates on double-precision cameras.
Key HC_Insert_Cutting_Section(int count, Plane const planes[])
Creates a special piece of geometry which "cuts away" a portion of the scene.
long HC_PShow_One_Net_User_Data(int count, Key const keys[], intptr_t index, void *data, long data_length)
Similar to Show_One_User_Data() but returns the net effective settings along a discrete segment path...
void HC_Show_Location_Source(char *locater, char *display, char *action, int *status)
Returns the locater-device segment and the user action that gave rise to the current location event...
int HC_DPShow_Net_Modelling_Matrix(int key_count, Key const path_keys[], double matrix[])
Similar to PShow_Net_Modelling_Matrix(), but operates on double-precision modelling matrices...
void HC_Edit_Cylinder(Key key, Point const *p1, Point const *p2, double radius, char const *cap)
Edits a cylinder object as it sits in the database without deleting and reinserting.
void HC_Set_Camera_Position(double x, double y, double z)
Sets up your viewing tripod within the framework of the scene you've created.
void HC_Begin_Shell_Selection(void)
Begins a mode of operation whereby calls to Compute_Selection_By_Shell cache intermediate data in ord...
bool HC_Show_Bounding_Cuboid_By_Key(Key key, Point *min, Point *max)
Similar to Show_Bounding_Cuboid(), but operates on an object referenced by an HC_KEY.
bool HC_DShow_Bounding_Sphere(DPoint *center, double *radius)
Similar to Show_Bounding_Sphere(), but operates on double-precision data.
void HC_Delete_Trim(int index)
Deletes a trim object from the trim list.
void HC_Compute_Triangulation(Point const points[], int flist_length, int const face_list[], int *tlist_length, int triangle_list[])
Provides a triangle based tesselation of a HOOPS Shell which can contain facets which have more than ...
int HC_DPShow_Net_Camera(int key_count, Key const path_keys[], DPoint *position, DPoint *target, DVector *up, double *width, double *height, char *projection)
Similar to PShow_Net_Camera(), but operates on double-precision cameras.
void HC_Show_Conditional_Style(Key key, char *pathname, char *conditions)
Returns the pathname and valid conditions that have been established by a previous call to Conditiona...
void HC_Show_Text_Count(Key key, int *count)
Finds the number of characters in a given text string, as reference by a key.
void HC_Set_Rendering_Options(char const *list)
Allows you to control how carefully and accurately your scene is drawn, and to enable several special...
void HC_Begin_Glyph_Search(void)
These routines recall all the defined glyph names.
void HC_DEdit_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Similar to Edit_Line(), but operates on double-precision data.
bool HC_DShow_Circular_Center(Key key, double *x, double *y, double *z)
Similar to Show_Circular_Center(), but operates on double-precision data.
void HC_End_Glyph_Search(void)
Terminates the glyph search sequence and frees any involved memory.
Key HC_Open_Segment_Key_By_Key(Key parent_segment, char const *child_segment_name)
Similar to Open_Segment(), but opens a child segment under parent_segment instead of the currently op...
void HC_DEdit_Polyline(Key key, int offset, int ndelete, int insert, DPoint const points[])
Similar to Edit_Polyline(), but accepts double-precision values.
Key HC_Insert_NURBS_Curve(int degree, int cpcount, Point const control_points[], float const weights[], float const knots[], double start_u, double end_u)
Key HC_Insert_PolyCylinder(int p_count, Point const pts[], int r_count, float const radii[], char const *capping)
Create a polycylinder from a 3D array of points and an array of radii.
void HC_MShow_Net_Vertex_Normals(Key key, int offset, int count, Vector normals[])
void HC_Compute_Offaxis_Rotation(double x, double y, double z, double theta, float out_matrix[])
void HC_Edit_PolyCylinder_Radii(Key key, int offset, int delete_count, int insert_count, float const radii[])
Edits an existing polycylinder by inserting or deleting its points.
void HC_UnSet_Priority(Key key)
void HC_End_Named_Style_Search(void)
Terminates a named style search sequence and frees any involved memory.
void HC_Show_Camera_By_Volume(char *projection, float *xmin, float *xmax, float *ymin, float *ymax)
Returns the simple rectangular box in user data space as set in a previous call to Set_Camera_By_Volu...
void HC_Show_Alias(char const *alias, char *expansion)
Returns the expansion of a given alias.
void HC_Show_Selection_Source(char *locater, char *picture, char *action, int *status)
Returns the locater-device segment, the picture segment, and the user action that gave rise to the cu...
void HC_MSet_Spec_Face_Col_By_Value(Key key, int count, int const indices[], char const *color_space, RGB const values[])
Sets the drawing attributes on an arbitrary set of shell or mesh faces speedily.
int HC_PShow_Net_Clip_Region_Size(int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec)
Similar to Show_Clip_Region_Size(), but returns the net effective value of the attribute(s) along a p...
bool HC_PShow_Net_Var_Edge_Weight(int count, Key const keys[], char *weight)
Similar to Show_Variable_Edge_Weight(), but returns the net effective setting along a discrete segmen...
int HC_MShow_Spec_Vert_Normals_W_Ex(Key key, int count, int const indices[], char existence[], Vector normals[])
void HC_Show_Open_Item_Count(int *count)
Finds out how many items will be returned. This is useful for determining the size of a data structur...
void HC_Show_Texture_Matrix(float matrix[])
Returns the transformation that has been set against all vertex parameters in the scope of the curren...
Key HC_Compute_Swept_Shell(Key shellkey, Vector const *direction_in, Key *front_key, Key *back_key, Key *side_key, char const *options)
Sweeps an existing shell along a defined path to create new shells that containes the swept volume...
Key HC_Style_Segment(char const *style)
"Styles" the currently open segment to be drawn in the style of the referenced ones.
bool HC_Show_One_Color_By_Value(char const *type, char *color_space, float *a, float *b, float *c)
Similar to Show_One_Color(), but returns the value of a single attribute in the currently open segmen...
void HC_Show_NURBS_Curve(Key key, int *degree, int *cp_count, Point points[], float weights[], float knots[], float *start_u, float *end_u)
Returns the previous definition of a NURBS curve, as referenced by a key.
void HC_Show_NURBS_Surface_Size(Key key, int *u_degree, int *v_degree, int *u_count, int *v_count, int *weights_count, int *u_knots_count, int *v_knots_count)
Returns the definition of an existing NURBS surface, as referenced by a key.
void HC_Show_String_Length(int *length)
Finds the number of bytes in the string the user has just finished typing in.
bool HC_PShow_Net_Texture(int count, Key const keys[], char const *name, char *output, Key *out_image)
Returns the net effective texture definition and image instead of the local one.
Key HC_DCompute_Boolean_Shell(int in_pt_count_target, DPoint const in_pts_target[], Vector const in_normals_target[], int in_flist_len_target, int const in_flist_target[], int in_pt_count_tool, DPoint const in_pts_tool[], Vector const in_normals_tool[], int in_flist_len_tool, int const in_flist_tool[], char const *option_string, RGB const *in_color1, RGB const *in_color2, unsigned char const in_vis1[], unsigned char const in_vis2[])
Similar to Compute_Boolean_Shell(), but accepts and returns double-precision values.
void HC_Define_Error_Handler(Void_Routine handler)
Creates a legal name for an error handler that captures HOOPS error reports.
int HC_MShow_Face_Colors_With_Ex(Key key, char const *geometry, int offset, int count, char result_type[], float index_colors[], RGB rgb_colors[])
Returns face color settings from a range of faces without having to open each face.
void HC_Show_Heuristics(char *list)
Returns the heuristic settings that have been made on the currently open segment. ...
int HC_PShow_Net_Camera(int key_count, Key const path_keys[], Point *position, Point *target, Vector *up, float *width, float *height, char *projection)
Returns the net effective setting along a discrete segment path.
Key HC_Generate_Poly_From_Geometry(Key geom, char const *options)
Generates a polyline based on a specified curve.
bool HC_Compute_Normalized_Vector(Vector const *vector, Vector *out_vector)
Key HC_Create_Segment(char const *segment)
Brings a segment into existence without opening it.
void HC_Flush_Attributes(char const *segment)
Flushes attributes from a segment but leaves styles, geometry, segments, and subsegments.
Key HC_DInsert_Text(double x, double y, double z, char const *text)
Similar to Insert_Text(), but accepts parameters of type double for increased precision. Unlike Insert_Text, the parameters are not truncated.
void HC_Show_Unicode_Options(unsigned short *options)
Show the unicode user options string stored on the currently open segment.
void HC_Show_Partial_Shell(Key key, int voffset, int vcnt, Point points[], int foffset, int fcnt, int *flist_length, int face_list[])
Returns a portion of the previous definition of a shell, as referenced by a key.
void HC_Show_Text_With_Encoding(Key key, float *x, float *y, float *z, char *encoding, void *text)
Similar to Show_Text, but operates on encoded text rather than Latin1 text.
bool HC_PShow_Net_Line_Style(int count, Key const keys[], char const *name, char *definition)
Similar to Show_Line_Style(), but returns the net effective value along a discrete segment path...
void HC_Move_By_Key(Key key, char const *newowner)
Moves a single geometric primitive or segment from one segment to another.
bool HC_DCompute_Polygon_Normal(int count, DPoint const points[], char const *hand, DVector *out_vector)
Similar to Compute_Polygon_Normal, but operates on double-precision data.
void HC_Show_One_Color_Map(int offset, char *color)
Shows a single entry in the current virtual color map.
void HC_Set_Window_With_Options(double left, double right, double bottom, double top, char const *list)
void HC_MSet_Spec_Vertex_Parameters(Key key, int count, int const indices[], int number_parameters, float const user_parameters[])
Sets the parameter values for a specific set of vertices on shell, mesh, or polycylinder.
bool HC_PShow_Net_Conditions_Length(int count, Key const keys[], int *length)
Similar to Show_Conditions_Length() but shows the net effective length along a discrete segment path...
double HC_DCompute_Matrix_Determinant(double const matrix[])
Similar to Compute_Matrix_Determinant(), but operates on double-precision data.
void HC_DCompute_Swept_Shell_Along_P(Key shellkey, int number_of_sweeps, double const matrices[], char const *options)
Similar to Compute_Swept_Shell_Along_Path(), but operates on double-precision data.
void HC_Edit_Cutting_Plane(Key key, double a, double b, double c, double d)
Modifies a cutting plane as it exists in the database.
bool HC_PShow_Net_Window_With_Options(int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top, char *list)
int HC_DCompute_Selection_By_Sh_W_O(char const *action, char const *start_seg, int point_count, DPoint const points[], int face_list_length, int const face_list[], char const *options)
Similar to Compute_Selection_By_Shell_With_Options(), but operates on double-precision data...
void HC_Compute_Swept_Shell_Along_P(Key shellkey, int number_of_sweeps, float const matrices[], char const *options)
Creates a new set of shells by sweeping a shell along a path.
void HC_Show_Font_Size(char const *name, char *options, int *data_length)
Finds the size in bytes of a particular font. This is useful in determining the size of the data stru...
bool HC_Compute_Point_On_Shell(Point const *test_point, double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[])
Tests whether a given point is on the surface of a shell.
void HC_UnSet_Selectability(void)
Removes all settings established by a previous call to Set_Selectability().
void HC_End_Line_Style_Search(void)
Terminates the line style search sequence and frees any involved memory.
void HC_Define_Exit_Handler(Void_Routine handler)
Allows the program a chance to "clean up" upon termination.
void HC_UnSet_Color_Map(void)
Removes all settings established by a previous call to Set_Color_Map().
void HC_UnSet_One_User_Index(long index)
Removes a given setting established by a previous call to Set_User_Options(), rather than all setting...
Key HC_DInsert_Compressed_Image(double x, double y, double z, char const *format, int width, int height, int size, void const *data)
void HC_MShow_Face_Regions_Count(Key key, int *face_count)
Finds the number of face regions in a shell. This is useful for determining the size of the data stru...
void HC_UnDefine_Shape(char const *name)
Deletes the shape definition, frees any memory allocated to the shape object, and triggers a redraw o...
bool HC_PShow_Net_Rendering_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_Rendering_Options() but returns the net settings along a discrete path...
void HC_Show_Text_Path(float *x, float *y, float *z)
Returns the text path that has been set on the currrently open segment.
void HC_Apply_Attribute_Filter(Key key, char const *filter)
Key HC_DInsert_Cutting_Section(int count, DPlane const planes[])
Similar to Insert_Cutting_Section(), but operates on double-precision data.
void HC_DEdit_Cutting_Section(Key key, int ioffset, int ndelete, int insert, DPlane const iplanes[])
Similar to Edit_Cutting_Section(), but operates on double-precision data.
void HC_Pan_Camera(double theta, double phi)
Sweeps the camera across its current scene.
void HC_Set_Variable_Line_Weight(char const *weight)
Defines weights for lines that scale in a similar manner to other geometric primitives.
void HC_MUnSet_Vertex_Colors2(Key key, char const *type, int offset, int count)
Removes vertex-specific color settings from a range of vertices with adjacent offsets based on type...
void HC_DShow_Circular_Wedge(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circular_Wedge(), but returns double-precision values.
void HC_UnSet_Text_Path(void)
Removes all settings established by a previous call to Set_Text_Path().
void HC_Open_Edge(int offset1, int offset2)
Prepares an edge within a shell or mesh for the local overriding of drawing attributes.
bool HC_Filter_Circumcuboid_By_Path(int count, Key const keys[], char const *options, Point *min, Point *max)
Similar to Filter_Circumcuboid(), but operates on a keypath instead of a single segment.
void HC_Show_Camera(Point *position, Point *target, Vector *up, float *width, float *height, char *projection)
Returns the complete specification of the viewing camera's position, orientation, and field of view...
void HC_Show_Image_Name(Key key, char *name)
Returns the name associated with an image key.
void HC_Show_Trim_Curve_Count(int index, int *degree, int *cp_count, int *w_count, int *knot_count)
Finds the number of points in a trim curve. This is useful in determining the size of the data struct...
Key HC_Show_Include_Segment(Key key, char *pathname)
Returns the segment that is referenced by an inclusion.
void HC_Show_Sphere(Key key, Point *center, float *radius, Vector *axis, Vector *ortho)
Returns the parameters of a sphere, as defined in a previous call to Insert_Sphere().
int HC_MShow_Spec_Face_Vis_W_Ex(Key key, int count, int const indices[], char existence[], char visibilities[])
Returns the visibility settings from an arbitrary set of faces without having to open each face...
int HC_PShow_Net_Camera_Target(int key_count, Key const path_keys[], float *x, float *y, float *z)
Returns the net effective setting along a specified path of keys rather than the local one...
void HC_Set_Default_Line_Styles_By_K(Key target_segment)
Similar to Set_Default_Line_Styles() but operates on a key rather than an open segment.
void HC_UnDefine_Glyph(char const *name)
Removes the glyph definintion established in a previous call to Define_Glyph().
void HC_Show_One_Callback_With_Data(char const *callback_point, char *callback, void **data)
Retrieves the data pointer that was passed in during a previous call to Set_Callback_With_Data().
void HC_Show_Selection_Elements_Coun(Key *key, int *count)
Finds the number of elements in a particular item in a selection list. This is useful in determining ...
void HC_Show_Area_Light_Count(Key key, int *count, char *listptr)
double HC_Compute_Dot_Product(Vector const *vector1, Vector const *vector2)
Takes two 3-D vectors and computes their scalar dot-product.
bool HC_PShow_One_Net_Color_Map(int count, Key const keys[], int offset, char *color)
Similar to Show_One_Color_Map(), but returns the net effective value of a single attribute along a pa...
void HC_Edit_Cutting_Section(Key key, int ioffset, int ndelete, int insert, Plane const iplanes[])
Modifies a cutting section as it exists in the database.
void HC_Show_Text_Alignment(char *locater)
Returns the text alignment settings that have been made on the currrently open segment.
Key HC_DInsert_PolyCylinder(int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping)
Similar to Insert_PolyCylinder(), but operates on double-precision data.
void HC_Show_String_Source(char *keyboard, Key *cursor_key)
Returns the keyboard-device segment and cursor that gave rise to the current string event...
bool HC_Show_Priority(Key key, int *priority)
Returns the drawing priority corresponding to the given key.
void HC_Show_Partial_Mesh(Key key, int row_offset, int col_offset, int row_count, int col_count, Point points[])
Returns a portion of the previous definition of a mesh, as referenced by a key.
void HC_UnSet_Window_Frame(void)
Removes all settings established by a previous call to Set_Window_Frame().
bool HC_DShow_Bounding_Sphere_By_Key(Key key, DPoint *center, double *radius)
Similar to Show_Bounding_Sphere_By_Key(), but operates on double-precision data.
void HC_MSet_Specific_Edge_Vis(Key key, int count, int const indices1[], int const indices2[], char const settings[])
Sets per-edge visibility settings on multiple edges at once. This overrides the visibility settings i...
void HC_Close_LOD(void)
Closes the session that began with an opening call to Open_LOD().
void HC_Show_Callback_Name(char const *name, Void_Routine *callback)
Shows the definition of a callback name.
int HC_MShow_Vertex_Parameters_W_Ex(Key key, int offset, int count, char existence[], int *param_width, float user_parameters[])
void HC_Show_Key_Status(Key key, char *status)
Helps to maintain lists of valid keys.
void HC_Delete_Segment(char const *segment)
Throws away a segment when you no longer need it. Can also be used to shut down a display...
void HC_Show_Exit_Handler_Count(int *count)
Finds out how many exit handlers will be returned.
void HC_Bring_To_Front(char const *segment)
bool HC_PShow_Net_Edge_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Edge_Pattern(), but returns the net effective setting along a discrete segment path...
Key HC_Insert_Circle(Point const *point1, Point const *point2, Point const *point3)
Generates a flat, infinitely thin, filled circle.
void HC_DDolly_Camera(double x, double y, double z)
Similar to Dolly_Camera(), but operates on double-precision cameras.
void HC_Compute_Points_Inside_Shell(int test_point_count, Point const test_points[], Vector const test_points_vectors[], int point_count, Point const points[], int face_list_length, int const face_list[], char const *options, int results[])
Tests whether a given set of points reside within, on, or outside the volume defined by a shell...
Key HC_Insert_Ink(double x, double y, double z)
Utility routine to extend the "currently-being-inked-in" polyline.
Key HC_Reference_Geometry(char const *segname)
Directs HOOPS to create a reference to some geometry when processing a segment.
bool HC_PShow_One_Net_Color_By_Value(int count, Key const keys[], char const *type, char *color_space, float *a, float *b, float *c)
Similar to Show_One_Color(), but returns the net effective value of a single attribute along a path o...
void HC_Define_Shape(char const *name, int data_size, float const data[])
Defines a shape to be used for the background of a text annotation.
bool HC_DCompute_Normalized_Vector(DVector const *vector, DVector *out_vector)
void HC_Control_Update_Area_By_Key(Key key, double left, double right, double bottom, double top, char const *options)
Similar to Control_Update_Area(), but operates on an object referenced by an HC_KEY.
bool HC_DCompute_Circumsphere(char const *segment, DPoint *center, double *radius)
Similar to Compute_Circumsphere(), but operates on double-precision data.
void HC_Show_Selection_Elements(Key *key, int *count, int vertex1[], int vertex2[], int faces[])
Returns the key of the database element that was selected by the user, plus arrays of offsets describ...
Key HC_Conditional_Include_Key_By_Ke(Key key, char const *condition, Key includer_key)
Similar to Conditional_Include_By_Key(), but inserts the include into the segment associated with the...
void HC_Show_Glyph_Count(int *count)
Finds out how many glyphs will be returned. This is useful for determining the size of a data structu...
void HC_Set_Heuristics(char const *list)
Gives hints to the system about good short cuts to take during program execution. ...
void HC_Compute_Shell_Enclosure(int point_count1, Point const points1[], int face_list_length3, int const face_list1[], int point_count2, Point const points2[], int face_list_length2, int const face_list2[], char *result)
Classifies the relationship between the first shell and the second: "in", "out", and "clash"...
void HC_Show_Bounding_Info(char *list)
Identifies which type of bounding volume HOOPS is using to circumscribe geometry. ...
void HC_Show_Error_Handler_Count(int *count)
Finds out how many error handlers will be returned.
void HC_Set_User_Value(intptr_t data)
void HC_DShow_Circle_By_Radius(Key key, DPoint *center, double *radius, DVector *normal)
Similar to Show_Circle_By_Radius, but returns double-precision values.
void HC_Show_Partial_Polygon(Key key, int offset, int request, Point points[])
Returns a portion of the vector of points along the edge of a given polygon, as referenced by a key...
void HC_Record_Instance_Handle(void const *handle)
Registers the instance of the application with the HOOPS dynamic link library.
long HC_Show_One_User_Data(intptr_t index, void *data, long data_length)
Returns the user data that has been set on the currently open segment and associated with a specific ...
void HC_Show_Normal(float *x, float *y, float *z)
Returns the normal for the currently open vertex or face.
void HC_UnSet_Text_Spacing(void)
Removes all settings established by a previous call to Set_Text_Spacing().
int HC_PShow_Net_Camera_Up_Vector(int key_count, Key const path_keys[], float *x, float *y, float *z)
Returns the net effective setting along a discrete segment path.
void HC_Commit_Proxy(Key key, const char *options)
Key HC_Renumber_Key(Key oldkey, Key newkey, char const *scope)
Changes the key for a segment, include, style, or piece of geometry to a value more useful to your pr...
void HC_Set_Circular_Center_By_Key(Key key, double x, double y, double z)
Similar to Set_Circular_Center(), but operates on a piece of geometry identified by a key...
bool HC_PShow_Net_Heuristics(int key_count, Key const path_keys[], char *list)
Similar to Show_Heuristics(), but returns the net effective settings along a discrete segment path...
void HC_Set_Text_Region(int pCount, Point const points[], char const *options)
Allows the user to define a region into which the currently open text string will be fitted...
void HC_UnDefine_Error_Handler(Void_Routine handler)
Removes all settings established by a previous call to Define_Error_Handler().
void HC_Compute_Text_Outline(char const *segment, char const *text, int *pcount, Point points[], int *flist_length, int face_list[])
Calculates a polyhedral representation of the given text glyphs.
void HC_End_Shape_Search(void)
bool HC_Show_One_User_Index(long index, void **value)
Similar to Show_User_Index() but returns a single setting, rather than the entire set...
void HC_Compute_Offcenter_Rotation(double alpha, double beta, double theta, double x, double y, double z, float out_matrix[])
void HC_Show_Selection(char *segment)
Returns the name of the segment that was selected by the user.
void HC_Show_Window_With_Options(float *left, float *right, float *bottom, float *top, char *list)
void HC_Move_String_Cursor(Key key, int row, int column)
Changes the position of a previously created String Cursor.
void HC_Set_Text_Font(char const *list)
Chooses the character style to use for text.
void HC_End_Segment_Search(void)
Terminates the segment search sequence and frees any involved memory.
void HC_Compute_Scale_Matrix(double x, double y, double z, float out_matrix[])
void HC_UnSet_Streaming_Mode(void)
Removes all settings established by a previous call to Set_Streaming_Mode().
Key HC_Insert_Area_Light(int count, Point const points[], char const *listptr)
Inserts an area light.
Key HC_Conditional_Named_Style(char const *style_name, char const *condition)
Key HC_Show_Conditional_Reference(Key reference_key, char *conditions)
Returns the identifier of the original geometry or segment, and the conditions for the reference...
void HC_Show_Area_Light(Key key, int *ucount, Point upoints[], char *listptr)
Shows the points and options associated with the area light of the given key.
void HC_Set_Callback_With_Data(char const *callback, void const *data)
Allows the user to provide a pointer to some data that will be accessible from a callback. The data is accessible via a call to HIC_Show_Callback_Data from within the callback function.
void HC_Begin_Callback_Name_Search(void)
Finds the names of all previously defined callback routines.
void HC_Show_Window(float *left, float *right, float *bottom, float *top)
Returns the amount of screen used by the currently open segment upon display.
void HC_DEdit_Infinite_Ray(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Key HC_DInsert_Mesh_By_Ref(int rows, int columns, DPoint const points[])
Similar to Insert_Mesh_By_Ref(), but operates on double-precision data.
void HC_End_Alias_Search(void)
Terminates the alias search sequence and frees any involved memory.
bool HC_Evaluate_Condition(const char *expression, const char *conditions)
void HC_Delete_Specific_Shell_Points(Key key, int count, int const indices[])
Removes a specified set of points from the pointlist of a particular shell.
void HC_Show_Polygon_Count(Key key, int *count)
Finds the number of points in a given polygon. This is useful in determining the size of the data str...
int HC_PShow_Net_Camera_Projection(int key_count, Key const path_keys[], char *projection)
Returns the net effective setting along a discrete segment path specified with a set of keys...
void HC_Show_Font(char const *name, char *options, int *data_length, char *data)
Describes a specific set of simple geometry to be used as the actual shapes when drawing text charact...
void HC_Edit_NURBS_Surface(Key key, int cp_offset, int weights_offset, int u_knot_offset, int v_knot_offset, int cp_replace_count, int weights_replace_count, int u_knot_replace_count, int v_knot_replace_count, Point const points[], float const weights[], float const u_knots[], float const v_knots[])
Edits the properties of an existing NURBS surface.
void HC_Delete_By_Key(Key key)
Throws away a segment identified by key rather than by name, or throws away a particular geometry ite...
int HC_Show_Image_Bytes_Per_Pixel(Key key)
bool HC_Read_Metafile(char const *file, char const *segment, char const *options)
Reads a metafile into a segment from a file.
void HC_Compute_Pline_From_Crv_Size(Key key, char const *options, int *pcount)
Calculates and returns a the size of the tesselated curve, for use in a later call to Compute_Polylin...
void HC_Show_Shape(char const *name, float *data)
int HC_DPShow_Net_Camera_Field(int key_count, Key const path_keys[], double *width, double *height)
Similar to PShow_Net_Camera_Field(), but operates on double-precision cameras.
void HC_Move_Light_Target(Key key, double x, double y, double z)
Changes the location towards which a previously inserted "spot light" shines in user coordinates...
void HC_Set_Streaming_Mode(char const *flag)
Allows a segment to be dealt with in a "stream-of-consciousness" mode, in which setting an attribute ...
void HC_Determine_Highlight_Status(int count, Key const keys[], int results[], char const *list)
Determines if a particular key path invokes highlights.
void HC_Show_One_Rendering_Option(char const *type, char *value)
Similar to Show_Rendering_Options() but returns a single setting, rather than the entire set...
void HC_Show_String(char *text)
Returns the text string that caused the current string-input event.
void HC_Define_Named_Style_By_Key(char const *style_name, Key style_segment_key)
void HC_Begin_Line_Style_Search(void)
These routines recall all the defined line style names.
void HC_Set_Color(char const *color_spec)
Changes the color to be used when rendering the contents of a segment. Can also be used to select sur...
Key HC_Copy_Geometry(Key key, char const *segment)
Copies the geometry referred to by key to the given segment.
void HC_UnDefine_Line_Style(char const *name)
Removes a custom line style established by a previous call to Define_Line_Style().
void HC_Show_Clip_Region_Size(int *loopCount, int *totalPointCount, char *options)
Finds the size of a clip region. Use this function to determine the size of the data structure that m...
void HC_MUnSet_Face_Visibilities(Key key, int offset, int count)
Removes the per-face visibility settings of a range of faces at once. This allows the shell or mesh t...
void HC_Set_Color_Map(char const *colors)
Sets up the colors to be used when displaying images or "by index" color attributes.
int HC_DShow_Selection_Position(float *window_x, float *window_y, float *window_z, double *camera_x, double *camera_y, double *camera_z)
Similar to Show_Selection_Position(), but operates on double-precision data.
void HC_UnSet_Modelling_Matrix(void)
Removes all settings established by a previous call to Set_Modelling_Matrix().
void HC_Open_Vertex(int offset)
Prepares a vertex within a shell, mesh, or polycylinder for the local overriding of drawing attribute...
bool HC_PShow_One_Net_Driver_Option(int count, Key const keys[], char const *type, char *value)
Show_One_Driver_Option() but returns the net settings along a discrete path.
void HC_Rotate_Texture_Offaxis(double x, double y, double z, double theta)
Rotates the represented texture coordinates (vertex parameters) about an arbitrary axis...
void HC_Show_Compressed_Image(Key key, float *x, float *y, float *z, char *format, int *width, int *height, int *size, void *data)
Returns the pixel data associated with provided image key. This API should only be used if the underl...
void HC_Edit_Marker(Key key, double x, double y, double z)
Edits a marker object as it sits in the database.
void HC_UnSet_Conditional_Actions(void)
Removes all the actions in the current segment.
void HC_UnSet_Marker_Size(void)
Removes all settings established by a previous call to Set_Marker_Size().
Key HC_PShow_Net_Named_Style(int count, Key const path_keys[], char const *style_name, char *style_segment_name)
Similar to Show_Named_Style(), but returns the net effective value along a discrete segment path...
void HC_DShow_Text_Leader(Key key, double *x, double *y, double *z, char *options)
void HC_Compute_Matrix_Adjoint(float const matrix[], float out_matrix[])
float HC_Compute_Selection_Dist_By_Sh(char const *action, char const *start_segment, int pcount, Point const points[], int flist_length, int const faces[], const char *options)
Computes the closest distance between the specified shell and another geometric primitive within a HO...
void HC_Show_One_Callback(char const *callback_point, char *callback_name)
Similar to Show_Callback(), but returns the setting of a single callback point in the currently open ...
void HC_Show_Device_Info(char const *driver, char const *item, char *data)
Returns selected information about the physical device.
void HC_Show_Partial_Polyline(Key key, int offset, int request, Point points[])
Returns a portion of the vector of points along a given polyline, as referenced by a key...
void HC_Edit_NURBS_Curve(Key key, int cp_offset, int knot_offset, int cp_count, int knot_count, Point const control_points[], float const weights[], float const knots[])
Modifies the control points, weights, and/or knots of a previously-inserted NURBS curve...
int HC_Compute_Intersect_Polyline(int pcount1, Point const points1[], int flist_length3, int const face_list1[], int pcount2, Point const points2[], int flist_length2, int const face_list2[], int *polyline_count, int polyline_lengths[], int *polyline_points_count, Point polyline_points[])
Calculates the polyline of intersection between the faces of one shell and those of another...
void HC_Show_Color_By_Index(char *types, int *index)
Returns the color map indices used to render the contents of the currently open segment.
void HC_Abort_Program(char const *message)
Function to create a map linking PrcIds and A3DEntities.
void HC_MShow_Net_Face_Normals(Key key, int offset, int count, Vector normals[])
Similar to MShow_Face_Normals(), but returns the net effective normals set on the faces of some geome...
void HC_Compute_Cross_Product(Vector const *vector1, Vector const *vector2, Vector *out_vector)
Computes the cross product of two vectors.
void HC_Show_Time(float *time)
Returns the time elapsed in the current program execution.
void HC_Close_Geometry(void)
Closes the session that began with an opening call to Open_Geometry().
int HC_DCompute_Selection_By_Shell(char const *action, char const *start_seg, int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Compute_Selection_By_Shell(), but operates on double-precision data.
void HC_DShow_Camera_Position(double *x, double *y, double *z)
Similar to Show_Camera_Position(). This command should be used in conjunction with other double-preci...
bool HC_Compute_Text_Extent(char const *segment, char const *text, float *xsize, float *ysize)
Finds out what the dimensions are for a given text string.
void HC_Reset_System(void)
Performs a complete master reset of the HOOPS system.
Key HC_Generate_Edges(Key geom, char const *options)
Generates a set of shell/mesh edges and inserts them into the HOOPS segment tree. ...
void HC_Edit_NURBS_Surface_Points(Key key, int cp_offset, int cp_replace_count, Point const points[])
Edits only the control points in a NURBS surface.
bool HC_PShow_Net_Camera_Near_Limit(int count, Key const keys[], float *limit)
Populates the wlimit with the net effective near camera limit value along a path of segments specifie...
bool HC_Compute_Text_Extent_With_Enc(char const *segment, char const *encoding, void const *text, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent() but operates on encoded text rather than Latin1 text.
void HC_MSet_Spec_Vert_Col_By_FIndex(Key key, char const *types, int count, int const offsets[], float const indices[])
Sets the color on an arbitrary set of shell, mesh, or polycylinder vertices.
double HC_Compute_Vector_Angle(Vector const *vector, Vector const *vector2)
void HC_Show_Line_Pattern(char *pattern)
Returns the line pattern that has been set on the currently open segment.
Key HC_Insert_Cutting_Plane(double a, double b, double c, double d)
Creates a special geometric object that "cuts away" part of the normal scene.
void HC_Show_Polyline(Key key, int *count, Point points[])
Returns the vector of points along the polyline, as referenced by a key.
Key HC_Insert_Grid(char const *type, Point const *origin, Point const *ref1, Point const *ref2, int count1, int count2)
Generates a flat array of edges, faces, and/or markers.
Key HC_Insert_Polygon(int count, Point const points[])
Generates a simple flat, infinitely thin, colored-in object.
void HC_UnSet_One_Callback(char const *callback)
Removes a given callback setting established by a previous call to Set_Callback(), rather than all settings.
bool HC_Find_Contents(char *type, Key *key)
Retrieves the object keys, one at a time. The function returns false when all objects have been retur...
void HC_Set_Default_Glyphs()
Defines all default glyphs in the currently open segment.
void HC_UnSet_One_Color(char const *which)
Removes a given setting established by a previous call to Set_Color(), rather than all settings...
void HC_Show_Grid(Key key, char *type, Point *origin, Point *ref1, Point *ref2, int *count1, int *count2)
Retrieves the original definition of a grid.
bool HC_Compute_Text_Metrics(int count, Key const *keys, char const *encoding, void const *text, char const *options, int *size, float values[])
void HC_MShow_Vertex_Normals(Key key, int offset, int count, Vector normals[])
void HC_UnSet_Texture_Matrix(void)
Removes all settings established by a previous call to Set_Texture_Matrix().
void HC_Show_String_Count(int *count)
Finds the number of characters in the string the user has just finished typing in.
Key HC_Open_Segment(char const *segment)
Readies a segment to receive drawing commands. (Also useful when several attributes all need changing...
void HC_MShow_Specific_Vert_Normals(Key key, int count, int const indices[], Vector normals[])
void HC_Show_Circular_Arc(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular arc, as referenced by a key. ...
void HC_Compute_Screen_Extent_By_Key(Key segKey, char const *options, float *left, float *right, float *bottom, float *top)
Similar to Compute_Screen_Extent(), but operates on an object referenced by an HC_KEY.
void HC_Open_LOD(int level)
Allows user to open a LOD representation for the purpose of manually inserting a LOD.
void HC_MSet_Specific_Vertex_Vis(Key key, int count, int const indices[], char const settings[])
Sets per-vertex visibility settings on several individual vertices at once. This overrides the visibi...
void HC_MSet_Spec_Vert_Col_By_Value(Key key, char const *types, int count, int const offsets[], char const *color_space, RGB const values[])
Sets the color on an arbitrary set of shell, mesh, or polycylinder vertices.
void HC_Compute_Screen_Extent(char const *segment, char const *options, float *left, float *right, float *bottom, float *top)
Calculates a screen-space box that fully encloses the segment referred to by the supplied segment pat...
bool HC_PShow_One_Net_Heuristic(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Heuristic() but returns the net settings along a discrete path.
Key HC_Named_Style_Segment_By_Key(Key target_segment, char const *style_name)
Similar to Named_Style_Segment() but operates on a key rather than an open segment.
void HC_Restart_Ink(void)
Makes sure that the next Insert_Ink request in the current segment starts a brand-new line...
Key HC_Show_Original_Key(Key key)
Returns the original (non-renumbered) version of a key.
void HC_UnSet_Window_Pattern(void)
Removes all settings established by a previous call to Set_Window_Pattern().
void HC_DSet_Polygonal_Clip_Region(int count, DPoint const points[], char const *options)
Similar to Set_Polygonal_Clip_Region(), but operates on double-precision data.
bool HC_PShow_One_Net_Color(int count, Key const keys[], char const *type, char *color)
Similar to Show_One_Color(), but returns the net effective value of a single attribute along a path o...
void HC_Show_Cutting_Section_Count(Key key, int *count)
Returns the number of plane-defining quadruplets in planes.
void HC_Begin_Highlight_Search(int count, Key const keys[], char const *list)
Searches for all highlights.
void HC_UnDefine_Alias(char const *name)
Removes all settings established by a previous call to Define_Alias().
void HC_Edit_Infinite_Ray(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Modifies an existing infinite ray.
void HC_Show_Edge_Weight(float *weight)
Returns the edge weight that has been set on the currently open segment.
bool HC_PShow_Net_Line_Weight(int key_count, Key const path_keys[], float *weight)
Similar to Show_Line_Weight(), but returns the net effective setting along a discrete segment path...
void HC_DSet_Camera_Up_Vector(double x, double y, double z)
Similar to Set_Camera_Up_Vector(). This command should be used in conjunction with other double-preci...
void HC_Edit_Circular_Chord(Key key, Point const *point1, Point const *point2, Point const *point3)
Edits a circular chord as it sits in the database.
void HC_Compute_Text_Outline_With_En(char const *segment, char const *encoding, void const *etext, int *pcount, Point points[], int *flist_length, int face_list[])
Similar to Compute_Text_Outline(), but operates on encoded text rather than Latin1 text...
void HC_UnSet_Clip_Region(void)
Removes all clip regions set by a previous call to Set_Polygonal_Clip_Region()
void HC_Show_Color(char *color_spec)
Returns the named color(s) used to render the contents of the currently open segment.
void HC_Close_Region(void)
Closes the session that began with an opening call to Open_Region().
void HC_Set_Window_Pattern(char const *pattern)
Specifies the patterned texture to use for window backgrounds.
void HC_Show_Elliptical_Arc(Key key, Point *center, Point *major, Point *minor, float *start, float *end)
Returns the three points and two distances used to define the elliptical arc referenced by a key...
void HC_Compute_Text_From_Text16(int incount, unsigned short const intext16[], char const *encoding, char *outtext)
Converts from string to integer-array representations of 16-bit characters.
void HC_MSet_Vertex_Colors_By_Value4(Key key, char const *geometry, int offset, char const *color_space, int count, RGBA const values[])
Sets the color on a contiguous range of shell, mesh, or polycylinder vertices.
void HC_DCompute_Points_Inside_Shell(int test_point_count, DPoint const test_points[], DVector const test_points_vectors[], int point_count, DPoint const points[], int face_list_length, int const face_list[], char const *options, int results[])
void HC_Pause(void)
Updates the screen, suspends the program, and allows the user to have a look at the screen while it w...
void HC_DShow_Circle(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circle(), but returns double-precision values.
void HC_Report_Error(int category, int specific, int severity, int msgc, char const *const *msgv, int stack_c, char const *const *stack_v)
Performs the default HOOPS error printing/displaying.
Key HC_DInsert_Shell_By_Tristrips(int pcount, DPoint const points[], int tristrips_length, int const tristrips[], int face_indices_length, int const face_indices[])
Similar to Insert_Shell_By_Tristrips(), but operates on double-precision data.
void HC_Begin_Segment_Search(char const *segspec)
Finds all segments matching a search specification.
bool HC_DFilter_Circumsphere_By_Path(int count, Key const keys[], char const *options, DPoint *center, double *radius)
Similar to Filter_Circumsphere_By_Path(), but operates on double-precision data.
void HC_Show_Partial_Image(Key key, int xpos, int ypos, int xlen, int ylen, void *data)
Returns a user-specified rectangular array of pixel data, as referenced by a key. ...
Key HC_Decimate_Shell(int quality_percent, char const *options)
void HC_MShow_Specific_Vertex_Vis(Key key, int count, int const indices[], char settings[])
Key HC_Create_Proxy(Key key)
Key HC_DInsert_Mesh(int rows, int columns, DPoint const points[])
Similar to Insert_Mesh(), but accepts parameters of type double for increased precision. Unlike Insert_Marker, the parameters are not truncated.
void HC_DSet_Circular_Center(double x, double y, double z)
Similar to Set_Circular_Center(), but operates on double-precision circular geometry.
bool HC_Find_Exit_Handler(Void_Routine *handler)
Retrieves the font names, one at a time. The function returns false when all aliases have been return...
void HC_MUnSet_Spec_Vertex_Colors2(Key key, char const *type, int count, int const indices[])
Removes vertex-specific color settings from a set of vertices with arbitrary offsets based on type...
void HC_Show_Contents_Count(int *count)
Finds out how many objects will be returned. This is useful for determining the size of a data struct...
void HC_Define_Font(char const *name, char const *options, int data_length, char const data[])
Describes a specific set of simple geometry to be used as the actual shapes when drawing text charact...
void HC_Edit_Ellipse(Key key, Point const *center, Point const *major, Point const *minor)
Edits an ellipse as it sits in the database.
void HC_MSet_Specific_Face_Vis(Key key, int count, int const indices[], char const settings[])
Sets the visibility of a list of specific of faces at once.
double HC_DCompute_Dot_Product(DVector const *vector1, DVector const *vector2)
Similar to Compute_Dot_Product, but operates on double-precision data.
void HC_End_Shell_Selection(void)
Terminates the shell selection sequence and frees any involved memory..
void HC_MUnSet_Face_Normals(Key key, int offset, int count)
Removes the normal values for a range of faces at once. This allows the shell or mesh to inherit segm...
void HC_Show_Driver_Options(char *list)
Returns a list of the driver options that have been set on the currently open segment.
int HC_Compute_Selection_By_Polygon(char const *display, char const *start_seg, char const *action, int pcount, Point const points[])
Similar to Compute_Selection(), but operates on a polygonal area.
bool HC_PShow_One_Net_User_Index(int count, Key const keys[], long index, void **value)
Similar to Show_One_Net_User_Index() but returns the net settings along a discrete path...
void HC_Set_Camera_Projection(char const *type)
Lets you control how your 3-dimensional scene is to be converted to 2 dimensions for viewing...
Key HC_DInsert_Infinite_Line(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Infinite_Line() but accepts parameters of type double for increased precision...
void HC_End_Contents_Search(void)
Terminates the object search sequence and frees any involved memory.
void HC_MShow_Partial_Face_Regions(Key key, int first_face, int face_count, int regions[])
int HC_Compute_Points_Distance_F_Sh(int test_point_count, Point const test_points[], double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[], const char *options, float results[])
Calculates the closest distance between a given set of points and a shell.
void HC_Set_Line_Pattern_Explicit(char const *pattern)
Applies line style, caps, joins and arrow options on a line or polyline to be set directly...
int HC_MShow_Vertex_Vis_W_Ex(Key key, int offset, int count, char existence[], char visibilities[])
void HC_DShow_Circular_Arc(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circular_Arc(), but returns double-precision values.
void HC_Open_Region(int region)
Prepares a defined shell region for modification.
Key HC_DInsert_Shell_By_Ref(int pcount, DPoint const points[], int flist_length, int const face_list[])
Similar to Insert_Shell_By_Ref(), but operates on double-precision data.
void HC_Set_Explicit_Color(char const *type, char const *channel, Point const *rgb, char const *texture, char const *options)
Allows the specific channel, RGB, and texture components of a color definition to be set separately...
void HC_DShow_Shell_By_Tristrips(Key key, int *point_countp, DPoint points[], int *tristrip_list_lengthp, int tristrip_list[], int *face_indices_lengthp, int face_indices[])
Similar to Show_Shell_By_Tristrips(), but operates on double-precision data.
void HC_DShow_Partial_Polygon(Key key, int offset, int request, DPoint points[])
void HC_DEdit_Cylinder(Key key, DPoint const *p1, DPoint const *p2, double radius, char const *cap)
Similar to Edit_Cylinder(), but operates on double-precision data.
void HC_UnSet_Camera(void)
Removes all settings established by a previous call to Set_Camera().
void HC_DCompute_Cross_Product(DVector const *vector1, DVector const *vector2, DVector *out_vector)
Similar to Compute_Cross_Product, but operates on double-precision data.
void HC_Set_Color_Map_By_Value(char const *color_space, int count, RGB const values[])
Similar to Set_Color_Map(), but operates with a color values rather than names or map indices...
void HC_Set_Camera_Target(double x, double y, double z)
Determines what your viewing camera is looking at.
Key HC_Insert_Marker(double x, double y, double z)
Inserts a single marker symbol at the specified location in your scene.
bool HC_PShow_Net_Text_Alignment(int key_count, Key const path_keys[], char *locater)
Similar to Show_Text_Alignment(), but returns the net effective setting along a discrete segment path...
void HC_Show_One_Visibility(char const *type, char *value)
Similar to Show_Visibility() but returns a single setting, rather than the entire set...
void HC_Show_Text_Spacing(float *spacing)
Returns the text spacing that has been set on the currrently open segment.
void HC_MSet_Spec_Face_Col_By_FIndex(Key key, int count, int const indices[], float const findices[])
Sets the drawing attributes on an arbitrary set of shell or mesh faces speedily.
Key HC_Insert_Image(double x, double y, double z, char const *format, int width, int height, const void *data)
Inserts a pixel-based image in the HOOPS Visualize database.
void HC_Show_Button(char *button)
Returns the name of the button that initiated the current event.
void HC_UnSet_Callback(void)
Removes all settings established by a previous call to Set_Callback().
void HC_MShow_Spec_Face_Col_By_Value(Key key, int count, int const indices[], RGB rgb[])
Returns face color settings from an arbitrary set of faces without having to open geometry...
bool HC_DCompute_Transform(char const *segment, char const *in_system, char const *out_system, double matrix[])
Similar to Compute_Transform(), but operates on double-precision data.
int HC_MShow_Spec_Vertex_Params_W_E(Key key, int count, int const specific_vertices[], char existence[], int *param_width, float user_parameters[])
void HC_DEdit_Circle(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circle(), but operates on double-precision data.
void HC_Show_Optimized_Mapping(char const *segname, char const *direction, Key in_owner, Key in_key, int in_region, Key *out_owner, Key *out_key, int *out_region)
Allows a user to map a piece of geometry between an old segment tree and a new segment tree (or vice-...
void HC_Set_Visibility(char const *list)
Allows another level of control in determining whether a segment is visible. Useful for flicking grap...
void HC_UnSet_Line_Pattern(void)
Removes all settings established by a previous call to Set_Line_Pattern().
void HC_UnSet_Color(void)
Removes all settings established by a previous call to Set_Color() from the current level of the segm...
void HC_Define_Named_Style(char const *style_name, char const *source_segment)
Defines a name that can be used to draw other segments in the style of the source.
int HC_DCompute_Points_On_Shell(int test_point_count, DPoint const test_points[], double tolerance, int point_count, DPoint const points[], int face_list_length, int const face_list[], int results[])
Similar to Compute_Points_On_Shell, but operates on double-precision data.
void HC_Edit_Infinite_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Modifies an existing infinite line.
void HC_Control_Update_Area(char const *segment, double left, double right, double bottom, double top, char const *options)
Similar to Control_Update(), but operates on the objects within a defined window area.
Key HC_Conditional_Reference(char const *segname, char const *condition)
Directs HOOPS to create a reference to some geometry when processing a segment, subject to meeting th...
void HC_Bring_To_Front_By_Key(Key key)
Similar to Bring_To_Front(), but operates on an object referenced by an HC_KEY.
void HC_Edit_Circular_Arc(Key key, Point const *point1, Point const *point2, Point const *point3)
Modifies a circular arc as it sits in the database.
bool HC_Show_System_Info(char const *type, char *value)
Provides information on the capabilities of the HOOPS library in use.
void HC_DEdit_PolyCylinder_Points(Key key, int offset, int delete_count, int insert_count, DPoint const points[])
Similar to Edit_PolyCylinder_Points, but operates on double-precision data.
void HC_DShow_Marker(Key key, double *x, double *y, double *z)
Similar to Show_Marker, but returns double-precision values.
bool HC_PShow_Net_Var_Line_Weight(int count, Key const keys[], char *weight)
Similar to Show_Variable_Line_Weight(), but returns the net effective setting along a discrete segmen...
void HC_DShow_Cylinder(Key key, DPoint *p1, DPoint *p2, double *radius, char *cap)
Similar to Show_Cylinder(), but operates on double-precision data.
void HC_Show_Marker_Size(float *size)
Returns the marker scale that has been set on the currently open segment.
bool HC_PShow_Net_Window_Frame(int key_count, Key const path_keys[], char *flag)
Similar to Show_Window_Frame(), but returns the net effective setting along a discrete segment path...
void HC_Compute_Triangulation_Size(Point const points[], int flist_length, int const face_list[], int *tlist_length)
Similar to Compute_Triangulation(), but returns triangle list size for use in allocating space for tr...
int HC_DCompute_Selection_By_Key(char const *action, char const *start_seg, Key key, double const matrix[])
int HC_QShow_Existence(char const *segment, char const *filter)
Similar to Show_Existence(), but operates on a given segment rather than the currently open one...
bool HC_PShow_Net_Text_Font(int key_count, Key const path_keys[], char *options)
Similar to Show_Text_Font(), but returns the net effective settings along a discrete segment path...
void HC_DCompute_Shell_Enclosure(int point_count1, DPoint const points1[], int face_list_length3, int const face_list1[], int point_count2, DPoint const points2[], int face_list_length2, int const face_list2[], char *result)
void HC_UnSet_PBR_Material()
void HC_MSet_Face_Regions(Key key, int first_face, int face_count, int const regions[])
Maps a specified range of faces to a given set of regions.
bool HC_Show_Circular_Center(Key key, float *x, float *y, float *z)
Returns the center point of a given circle-based primitive.
bool HC_Filter_Circumsphere_By_Key(Key segKey, char const *options, Point *center, float *radius)
Similar to Filter_Circumsphere(), but operates on an object referenced by an HC_KEY.
Key HC_DInsert_Grid(char const *type, DPoint const *origin, DPoint const *ref1, DPoint const *ref2, int count1, int count2)
Similar to Insert_Grid(), but accepts parameters of type double for increased precision.
bool HC_PShow_Net_Visibility(int key_count, Key const path_keys[], char *list)
Similar to Show_Visibility(), but returns the net effective settings along a discreet segment path...
bool HC_Compute_Circumcuboid_By_Key(Key key, Point *min, Point *max)
Similar to Compute_Circumcuboid(), but operates on an object referenced by an HC_KEY.
void HC_DMove_Image(Key key, double x, double y, double z)
Similar to Move_Image() but operates on double-precision parameter values.
void HC_Trim_NURBS_Surface_By_Poly(int cpcount, float const points[])
Inserts a polyline into the trim list and applies the trim to a surface.
void HC_DSet_Circular_Center_By_Key(Key key, double x, double y, double z)
Similar to Set_Circular_Center_By_Key(), but operates on double-precision circular geometry...
void HC_Edit_Circle(Key key, Point const *point1, Point const *point2, Point const *point3)
Generates a flat, infinitely thin, colored-in circular object.
bool HC_PShow_Net_Unicode_Options(int key_count, Key const path_keys[], unsigned short *options)
Similar to Show_Unicode_Options(), but returns the net effective value of the attribute(s) along a pa...
void HC_Show_Reference_Geometry_Filt(Key key, char *filter)
void HC_MUnSet_Specific_Edge_Vis(Key key, int count, int const indices1[], int const indices2[])
Removes per-edge visibility settings on multiple edges at once. This allows the shell or mesh to inhe...
Key HC_DInsert_Area_Light(int count, DPoint const points[], char const *listptr)
Similar to Insert_Area_Light, but operates on double-precision data.
Key HC_Insert_Elliptical_Arc(Point const *center, Point const *major, Point const *minor, double start, double end)
Generates a portion of the perimeter of an ellipse.
bool HC_PShow_Net_Driver_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_Driver_Options(), but returns the net effective settings along a discrete segment pat...
Key HC_Copy_Segment_With_Mapping(char const *source_seg, char const *destination, int count, Key const interesting_keys[], Key copied_keys[])
Allows the user to provide a list of keys from the segment to be copied, and returns a list of corres...
void HC_Edit_Shell_Faces(Key key, int offset, int ndelete, int ilist_length, int const insert_list[])
Creates or deletes faces in a previously declared shell.
void HC_Set_Region(int region)
Adds an open face to the specified region.