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 
595 HC_INTERFACE void HC_CDECL HC_Begin_Shader_Search (char const *search);
596 HC_INTERFACE void HC_CDECL HC_Begin_Shape_Search (void);
597 
627 HC_INTERFACE void HC_CDECL HC_Begin_Texture_Search (void);
628 
657 HC_INTERFACE void HC_CDECL HC_Begin_Local_Texture_Search (void);
658 
709 HC_INTERFACE void HC_CDECL HC_Bring_To_Front (char const *segment);
710 
717 HC_INTERFACE void HC_CDECL HC_Bring_To_Front_By_Key (Key key);
718 
723 HC_INTERFACE void HC_CDECL HC_Close_Edge (void);
724 
729 HC_INTERFACE void HC_CDECL HC_Close_Face (void);
730 
735 HC_INTERFACE void HC_CDECL HC_Close_Geometry (void);
736 
741 HC_INTERFACE void HC_CDECL HC_Close_LOD (void);
742 
747 HC_INTERFACE void HC_CDECL HC_Close_Region (void);
748 
755 HC_INTERFACE void HC_CDECL HC_Close_Segment (void);
756 
761 HC_INTERFACE void HC_CDECL HC_Close_Vertex (void);
762 
785 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid (char const *segment, Point *min, Point *max);
786 
795 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid_By_Key (Key key, Point *min, Point *max);
796 
807 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere (char const *segment, Point *center, float *radius);
808 
817 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere_By_Key (Key key, Point *center, float *radius);
818 
826 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid (char const *segment, DPoint *min, DPoint *max);
827 
837 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid_By_Key (Key key, DPoint *min, DPoint *max);
838 
846 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere (char const *segment, DPoint *center, double *radius);
847 
856 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere_By_Key (Key key, DPoint *center, double *radius);
857 
875 HC_INTERFACE bool HC_CDECL HC_Compute_Color (char const *name, char const *out_type, RGB *out_value);
876 
886 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);
887 
912 HC_INTERFACE void HC_CDECL HC_Compute_Convex_Hull (int pcount, Point const points[], int *fcount, int face_list[]);
913 
985 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates (char const *segment,
986  char const *in_system,
987  Point const *in_position,
988  char const *out_system,
989  Point *out_position);
990 
1002 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates_By_Path (int count,
1003  Key const keys[],
1004  char const *in_system,
1005  Point const *in_position,
1006  char const *out_system,
1007  Point *out_position);
1008 
1036 HC_INTERFACE void HC_CDECL HC_Compute_Cross_Product (Vector const *vector1, Vector const *vector2, Vector *out_vector);
1037 
1044 HC_INTERFACE void HC_CDECL HC_DCompute_Cross_Product (DVector const *vector1, DVector const *vector2, DVector *out_vector);
1045 
1053 HC_INTERFACE double HC_CDECL HC_Compute_Dot_Product (Vector const *vector1, Vector const *vector2);
1054 
1061 HC_INTERFACE double HC_CDECL HC_DCompute_Dot_Product (DVector const *vector1, DVector const *vector2);
1062 
1071 HC_INTERFACE void HC_CDECL HC_Compute_Identity_Matrix (float out_matrix[]);
1072 
1078 HC_INTERFACE void HC_CDECL HC_DCompute_Identity_Matrix (double out_matrix[]);
1079 
1088 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Adjoint (float const matrix[], float out_matrix[]);
1089 
1095 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Adjoint (double const matrix[], double out_matrix[]);
1096 
1106 HC_INTERFACE double HC_CDECL HC_Compute_Matrix_Determinant (float const matrix[]);
1107 
1113 HC_INTERFACE double HC_CDECL HC_DCompute_Matrix_Determinant (double const matrix[]);
1114 
1129 HC_INTERFACE bool HC_CDECL HC_Compute_Matrix_Inverse (float const matrix[], float out_matrix[]);
1130 
1137 HC_INTERFACE bool HC_CDECL HC_DCompute_Matrix_Inverse (double const matrix[], double out_matrix[]);
1138 
1165 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Product (float const matrix1[], float const matrix2[], float out_matrix[]);
1166 
1173 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Product (double const matrix1[], double const matrix2[], double out_matrix[]);
1174 HC_INTERFACE void HC_CDECL HC_Compute_Minimized_Shell (int in_point_count,
1175  Point const in_points[],
1176  int in_face_list_length,
1177  int const in_face_list[],
1178  char const *option_string,
1179  int *out_point_count,
1180  Point out_points[],
1181  int *out_face_list_length,
1182  int out_face_list[],
1183  int vertex_mapping[],
1184  int face_mapping[]);
1185 
1200 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Matrix (float const matrix[], float out_matrix[]);
1201 
1208 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Matrix (double const matrix[], double out_matrix[]);
1209 
1219 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Vector (Vector const *vector, Vector *out_vector);
1220 
1227 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Vector (DVector const *vector, DVector *out_vector);
1228 
1240 HC_INTERFACE void HC_CDECL HC_Compute_Offaxis_Rotation (double x, double y, double z, double theta, float out_matrix[]);
1241 
1250 HC_INTERFACE void HC_CDECL HC_DCompute_Offaxis_Rotation (double x, double y, double z, double theta, double out_matrix[]);
1251 
1266 HC_INTERFACE void HC_CDECL HC_Compute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1267  float out_matrix[]);
1268 
1279 HC_INTERFACE void HC_CDECL HC_DCompute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1280  double out_matrix[]);
1281 
1455 HC_INTERFACE void HC_CDECL HC_Compute_Optimized_Shell (int pcount,
1456  Point const points[],
1457  Vector const normals[],
1458  int flist_length,
1459  int const face_list[],
1460  char const * options,
1461  int * new_pcount,
1462  Point new_points[],
1463  int * new_flist_length,
1464  int new_face_list[],
1465  int point_mapping_list[],
1466  int face_mapping_list[]);
1467 
1488 HC_INTERFACE Key HC_CDECL HC_Compute_Capping_Shell (
1489  int shell_count,
1490  Key const shell_list[],
1491  float const plane[]);
1492 
1573 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell (
1574  int target_pcount,
1575  Point const target_points[],
1576  Vector const target_normals[],
1577  int target_flist_length,
1578  int const target_face_list[],
1579  int tool_pcount,
1580  Point const tool_points[],
1581  Vector const tool_normals[],
1582  int tool_flist_length,
1583  int const tool_face_list[],
1584  char const * options);
1585 
1598 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Normal (int count, Point const points[], char const *hand, Vector *out_vector);
1599 
1608 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Normal (int count, DPoint const points[], char const *hand, DVector *out_vector);
1609 
1626 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Plane (int count, Point const points[], char const *hand, Plane *out_plane);
1627 
1636 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Plane (int count, DPoint const points[], char const *hand, DPlane *out_plane);
1637 
1649 HC_INTERFACE void HC_CDECL HC_Compute_Rotation_Matrix (double alpha, double beta, double theta, float out_matrix[]);
1650 
1658 HC_INTERFACE void HC_CDECL HC_DCompute_Rotation_Matrix (double alpha, double beta, double theta, double out_matrix[]);
1659 
1671 HC_INTERFACE void HC_CDECL HC_Compute_Scale_Matrix (double x, double y, double z, float out_matrix[]);
1672 
1680 HC_INTERFACE void HC_CDECL HC_DCompute_Scale_Matrix (double x, double y, double z, double out_matrix[]);
1681 
1763 HC_INTERFACE int HC_CDECL HC_Compute_Selection (char const *display,
1764  char const *start_seg,
1765  char const *action,
1766  double x,
1767  double y);
1768 
1784 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Area (char const *display,
1785  char const *start_seg,
1786  char const *action,
1787  double left,
1788  double right,
1789  double bottom,
1790  double top);
1791 
1804 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polygon (char const *display,
1805  char const *start_seg,
1806  char const *action,
1807  int pcount,
1808  Point const points[]);
1809 
1822 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polylin (char const *display,
1823  char const *start_seg,
1824  char const *action,
1825  int pcount,
1826  Point const points[]); // HC_Compute_Selection_By_Polyline
1827 
1844 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Volume (char const *display,
1845  char const *start_seg,
1846  char const *action,
1847  double left,
1848  double right,
1849  double bottom,
1850  double top,
1851  double hither,
1852  double yon);
1853 
1862 HC_INTERFACE void HC_CDECL HC_Compute_Text16_From_Text (char const *intext, char const *encoding, int *outcount, unsigned short outtext16[]);
1863 
1917 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent (char const *segment, char const *text, float *xsize, float *ysize);
1918 
1926 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Key (Key key, float *xfrac, float *yfrac);
1927 
1937 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Path (int count, Key const keys[], char const *text, float *xfrac, float *yfrac);
1938 
1949 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_Enc_Path (int count,
1950  Key const keys[],
1951  char const *encoding,
1952  void const *text,
1953  float *xfrac,
1954  float *yfrac);
1955 
1965 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_With_Enc (char const *segment,
1966  char const *encoding,
1967  void const *text,
1968  float *xfrac,
1969  float *yfrac); // HC_Compute_Text_Extent_With_Encoding
1970 
1971 
1972 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics (
1973  int count,
1974  Key const * keys,
1975  char const * encoding,
1976  void const * text,
1977  char const * options,
1978  int * size,
1979  float values[]);
1980 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics_Size (
1981  int count,
1982  Key const * keys,
1983  char const * encoding,
1984  void const * text,
1985  char const * options,
1986  int * size);
1987 
2006 HC_INTERFACE void HC_CDECL HC_Compute_Text_From_Text16 (int incount, unsigned short const intext16[], char const *encoding, char *outtext);
2007 
2036 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline (char const *segment,
2037  char const *text,
2038  int *pcount,
2039  Point points[],
2040  int *flist_length,
2041  int face_list[]);
2042 
2052 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Key (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
2053 
2062 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size (char const *segment, char const *text, int *pcount, int *flist_length);
2063 
2071 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
2072 
2082 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Wi (
2083  char const * segment,
2084  char const * encoding,
2085  void const * etext,
2086  int * pcount,
2087  int * flist_length); // HC_Compute_Text_Outline_Size_With_Encoding
2088 
2100 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_With_En (char const *segment,
2101  char const * encoding,
2102  void const * etext,
2103  int * pcount,
2104  Point points[],
2105  int * flist_length,
2106  int face_list[]); // HC_Compute_Text_Outline_With_Encoding
2107 
2119 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Path (
2120  int count,
2121  Key const keys[],
2122  char const * text,
2123  int * pcount,
2124  Point points[],
2125  int * flist_length,
2126  int face_list[]);
2127 
2137 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Pa (
2138  int count,
2139  Key const keys[],
2140  char const * text,
2141  int * pcount,
2142  int * flist_length); // HC_Compute_Text_Outline_Size_By_Path
2143 
2208 HC_INTERFACE bool HC_CDECL HC_Compute_Transform (char const *segment,
2209  char const *in_system,
2210  char const *out_system,
2211  float matrix[]);
2212 
2221 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform (char const *segment,
2222  char const *in_system,
2223  char const *out_system,
2224  double matrix[]);
2225 
2236 HC_INTERFACE bool HC_CDECL HC_Compute_Transform_By_Path (int count,
2237  Key const keys[],
2238  char const *in_system,
2239  char const *out_system,
2240  float matrix[]);
2241 
2252 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform_By_Path (int count,
2253  Key const keys[],
2254  char const *in_system,
2255  char const *out_system,
2256  double matrix[]);
2257 
2274 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Plane (Plane const *plane, float const matrix[], Plane *out_plane);
2275 
2283 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Plane (DPlane const *plane, double const matrix[], DPlane *out_plane);
2284 
2294 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Planes (int count, Plane const planes[], float const matrix[], Plane out_planes[]);
2295 
2305 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Planes (int count, DPlane const planes[], double const matrix[], DPlane out_planes[]);
2306 
2315 HC_INTERFACE void HC_CDECL HC_Compute_Transformed_Points (int count, Point const points[], float const matrix[], Point out_points[]);
2316 
2324 HC_INTERFACE void HC_CDECL HC_Compute_Translation_Matrix (double x, double y, double z, float out_matrix[]);
2325 
2333 HC_INTERFACE void HC_CDECL HC_DCompute_Translation_Matrix (double x, double y, double z, double out_matrix[]);
2334 
2340 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Length (Vector const *vector);
2341 
2347 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Length (DVector const *vector);
2348 
2491 HC_INTERFACE void HC_CDECL HC_Control_Update (char const *segment, char const *options);
2492 
2503 HC_INTERFACE void HC_CDECL HC_Control_Update_Area (char const *segment, double left, double right, double bottom, double top, char const *options);
2504 
2515 HC_INTERFACE void HC_CDECL HC_Control_Update_Area_By_Key (Key key, double left, double right, double bottom, double top, char const *options);
2516 
2523 HC_INTERFACE void HC_CDECL HC_Control_Update_By_Key (Key key, char const *options);
2524 
2557 HC_INTERFACE bool HC_CDECL HC_Convert_Precision(Key key, char const * options);
2558 
2580 HC_INTERFACE void HC_CDECL HC_Define_Alias (char const *name, char const *expansion);
2581 
2598 HC_INTERFACE void HC_CDECL HC_Define_Callback_Name (char const *name, Void_Routine callback);
2599 
2656 HC_INTERFACE void HC_CDECL HC_Define_Color_Name (char const *name, char const *er_name, char const *ish_name, char const *definition);
2657 
2845 HC_INTERFACE void HC_CDECL HC_Define_Driver_Config (char const *driver, char const *id, char const *version, char const *config);
2846 
2895 HC_INTERFACE void HC_CDECL HC_Define_Error_Handler (Void_Routine handler);
2896 
2920 HC_INTERFACE void HC_CDECL HC_Define_Exit_Handler (Void_Routine handler);
2921 
3031 HC_INTERFACE void HC_CDECL HC_Define_Font (char const *name, char const *options, int data_length, char const data[]);
3032 
3041 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
3042 
3123 HC_INTERFACE void HC_CDECL HC_Define_Glyph (char const *name, int data_size, char const data[]);
3124 HC_INTERFACE void HC_CDECL HC_Define_Image_Glyph(const char * name, const char * definition);
3125 
3401 HC_INTERFACE void HC_CDECL HC_Define_Line_Style (char const *name, char const *definition);
3402 
3579 HC_INTERFACE void HC_CDECL HC_Define_Shape (char const *name, int data_size, float const data[]);
3580 
3984 HC_INTERFACE void HC_CDECL HC_Define_System_Options (char const *list);
3985 
4324 HC_INTERFACE void HC_CDECL HC_Define_Texture (char const *texture_name, char const *definition);
4325 
4360 HC_INTERFACE void HC_CDECL HC_Define_Local_Texture (char const *texture_name, char const *definition);
4361 
4434 HC_INTERFACE Key HC_CDECL HC_Define_Shader (char const *name, char const *options, char const *shader_source);
4435 
4453 HC_INTERFACE void HC_CDECL HC_Delete_By_Key (Key key);
4454 
4470 HC_INTERFACE void HC_CDECL HC_Delete_Segment (char const *segment);
4471 
4489 HC_INTERFACE void HC_CDECL HC_Dolly_Camera (double right, double up, double in);
4490 HC_INTERFACE intptr_t HC_CDECL HC_Dump_Memory_Profile (char const *which);
4491 
4513 HC_INTERFACE void HC_CDECL HC_Edit_Image (Key key, int xoffset, int yoffset, int xcount, int ycount, const void *data);
4514 
4547 HC_INTERFACE void HC_CDECL HC_Edit_Image_Options (Key image_key, char const *options);
4548 
4568 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[]);
4569 
4597 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Curve (Key key,
4598  int cp_offset,
4599  int knot_offset,
4600  int cp_count,
4601  int knot_count,
4602  Point const control_points[],
4603  float const weights[],
4604  float const knots[]);
4605 
4632 HC_INTERFACE void HC_CDECL HC_Edit_Polygon (Key key, int offset, int ndelete, int insert, Point const points[]);
4633 
4662 HC_INTERFACE void HC_CDECL HC_Edit_Polyline (Key key, int offset, int ndelete, int insert, Point const points[]);
4663 
4686 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Faces (Key key, int offset, int ndelete, int ilist_length, int const insert_list[]);
4687 
4712 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Points (Key key, int offset, int ndelete, int insert, Point const points[]);
4713 
4735 HC_INTERFACE void HC_CDECL HC_Edit_Text (Key key, int row, int column, int erase, int ndelete, char const *new_text);
4736 HC_INTERFACE void HC_CDECL HC_Edit_Text_Leader (Key key, double x, double y, double z, char const *options);
4737 
4743 HC_INTERFACE void HC_CDECL HC_End_Alias_Search (void);
4744 
4749 HC_INTERFACE void HC_CDECL HC_End_Callback_Name_Search (void);
4750 
4756 HC_INTERFACE void HC_CDECL HC_End_Color_Name_Search (void);
4757 
4758 
4764 HC_INTERFACE void HC_CDECL HC_End_Contents_Search (void);
4765 
4770 HC_INTERFACE void HC_CDECL HC_End_Font_Search (void);
4771 
4776 HC_INTERFACE void HC_CDECL HC_End_Open_Segment_Search (void);
4777 
4782 HC_INTERFACE void HC_CDECL HC_End_Segment_Search (void);
4783 
4788 HC_INTERFACE void HC_CDECL HC_End_Texture_Search (void);
4789 
4794 HC_INTERFACE void HC_CDECL HC_End_Shader_Search (void);
4795 
4800 HC_INTERFACE void HC_CDECL HC_End_Glyph_Search (void);
4801 
4807 HC_INTERFACE void HC_CDECL HC_End_Line_Style_Search (void);
4808 HC_INTERFACE void HC_CDECL HC_End_Shape_Search (void);
4809 
4821 HC_INTERFACE void HC_CDECL HC_Exit_Program (void);
4822 
4829 HC_INTERFACE bool HC_CDECL HC_Find_Alias (char * alias);
4830 
4837 HC_INTERFACE bool HC_CDECL HC_Find_Callback_Name (char *name);
4838 
4849 HC_INTERFACE bool HC_CDECL HC_Find_Color_Name (char *name, char *er_name, char *ish_name);
4850 
4860 HC_INTERFACE bool HC_CDECL HC_Find_Contents (char *type, Key *key);
4861 
4875 HC_INTERFACE bool HC_CDECL HC_Find_Contents_Original_Key (char *type, Key *key);
4876 
4883 HC_INTERFACE bool HC_CDECL HC_Find_Font (char *name);
4884 
4891 HC_INTERFACE bool HC_CDECL HC_Find_Open_Segment (char *segment);
4892 
4925 HC_INTERFACE bool HC_CDECL HC_Find_Related_Selection (void);
4926 
4933 HC_INTERFACE bool HC_CDECL HC_Find_Segment (char *segment);
4934 
4941 HC_INTERFACE bool HC_CDECL HC_Find_Texture (char *name);
4942 
4950 HC_INTERFACE bool HC_CDECL HC_Find_Shader (char *sname, Key *skey);
4951 
4958 HC_INTERFACE bool HC_CDECL HC_Find_Glyph (char *name);
4959 
4966 HC_INTERFACE bool HC_CDECL HC_Find_Line_Style (char *name);
4967 HC_INTERFACE bool HC_CDECL HC_Find_Shape (char *name);
4968 
4977 HC_INTERFACE void HC_CDECL HC_Flush_Attributes (char const *segment);
4978 
4995 HC_INTERFACE void HC_CDECL HC_Flush_By_Key (Key key);
4996 
5032 HC_INTERFACE void HC_CDECL HC_Flush_Contents (char const *segment, char const *filter);
5033 
5041 HC_INTERFACE void HC_CDECL HC_Flush_Geometry (char const *segment);
5042 
5057 HC_INTERFACE void HC_CDECL HC_Edit_Sphere (Key key, Point const *center, double radius, Vector const *axis, Vector const *ortho);
5058 
5075 HC_INTERFACE void HC_CDECL HC_Edit_Circle (Key key, Point const *point1, Point const *point2, Point const *point3);
5076 
5093 HC_INTERFACE void HC_CDECL HC_Edit_Circle_By_Radius (Key key, Point const *center, double radius, Vector const *vector);
5094 
5116 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Arc (Key key, Point const *point1, Point const *point2, Point const *point3);
5117 
5133 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Chord (Key key, Point const *point1, Point const *point2, Point const *point3);
5134 
5150 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Wedge (Key key, Point const *point1, Point const *point2, Point const *point3);
5151 
5186 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Plane (Key key, double a, double b, double c, double d);
5187 
5207 HC_INTERFACE void HC_CDECL HC_Edit_Ellipse (Key key, Point const *center, Point const *major, Point const *minor);
5208 
5232 HC_INTERFACE void HC_CDECL HC_Edit_Elliptical_Arc (
5233  Key key,
5234  Point const *center,
5235  Point const *major,
5236  Point const *minor,
5237  double start,
5238  double end);
5239 
5283 HC_INTERFACE void HC_CDECL HC_Edit_Grid (
5284  Key key,
5285  char const *type,
5286  Point const *origin,
5287  Point const *ref1,
5288  Point const *ref2,
5289  int count1,
5290  int count2);
5291 
5312 HC_INTERFACE void HC_CDECL HC_Edit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5313 
5325 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5326 
5338 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5339 
5350 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5351 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5352 
5376 HC_INTERFACE void HC_CDECL HC_Edit_Marker (Key key, double x, double y, double z);
5377 
5398 HC_INTERFACE void HC_CDECL HC_Edit_Cylinder (Key key, Point const *p1, Point const *p2, double radius, char const *cap);
5399 
5408 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, Point const points[]);
5409 
5418 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, float const radii[]);
5419 
5428 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, DPoint const points[]);
5429 
5438 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, double const radii[]);
5439 
5463 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);
5464 
5475 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[]);
5476 
5484 HC_INTERFACE Key HC_CDECL HC_Copy_Geometry (Key key, char const *segment);
5485 
5509 HC_INTERFACE Key HC_CDECL HC_Copy_Segment (char const *old_seg_name, char const *new_seg_name);
5510 
5525 HC_INTERFACE Key HC_CDECL HC_Create_Segment (char const *segment);
5526 
5555 HC_INTERFACE Key HC_CDECL HC_Include_Segment (char const *include);
5556 
5563 HC_INTERFACE Key HC_CDECL HC_Include_Segment_By_Key (Key seg_key);
5564 
5579 HC_INTERFACE Key HC_CDECL HC_Insert_Area_Light (int count, Point const points[], char const *listptr);
5580 
5615 HC_INTERFACE Key HC_CDECL HC_Insert_Circle (Point const *point1, Point const *point2, Point const *point3);
5616 
5640 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Arc (Point const *point1, Point const *point2, Point const *point3);
5641 
5663 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Chord (Point const *point1, Point const *point2, Point const *point3);
5664 
5690 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Wedge (Point const *point1, Point const *point2, Point const *point3);
5691 
5730 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Plane (double a, double b, double c, double d);
5731 
5766 HC_INTERFACE Key HC_CDECL HC_Insert_Cylinder (Point const *center_point_1, Point const *center_point_2, double radius, char const *cap);
5767 
5782 HC_INTERFACE Key HC_CDECL HC_Insert_Sphere (Point const *center, double radius, Vector const *axis, Vector const *ortho);
5783 
5807 HC_INTERFACE Key HC_CDECL HC_Insert_Circle_By_Radius (Point const *center, double radius, Vector const *normal);
5808 
5853 HC_INTERFACE Key HC_CDECL HC_Insert_Distant_Light (double di, double dj, double dk);
5854 
5876 HC_INTERFACE Key HC_CDECL HC_Insert_Ellipse (Point const *center, Point const *major, Point const *minor);
5877 
5905 HC_INTERFACE Key HC_CDECL HC_Insert_Elliptical_Arc (
5906  Point const *center,
5907  Point const *major,
5908  Point const *minor,
5909  double start,
5910  double end);
5911 
5948 HC_INTERFACE Key HC_CDECL HC_Insert_Grid (
5949  char const *type,
5950  Point const *origin,
5951  Point const *ref1,
5952  Point const *ref2,
5953  int count1,
5954  int count2);
5955 
6048 HC_INTERFACE Key HC_CDECL HC_Insert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
6049 
6156 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);
6157 
6174 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);
6175 
6187 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);
6188 
6212 HC_INTERFACE Key HC_CDECL HC_Insert_Ink (double x, double y, double z);
6213 
6236 HC_INTERFACE Key HC_CDECL HC_Insert_Line (double xa, double ya, double za, double xb, double yb, double zb);
6237 
6262 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6263 
6288 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6289 
6300 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6301 
6311 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6312 
6346 HC_INTERFACE Key HC_CDECL HC_Insert_Local_Light (double x, double y, double z);
6347 
6373 HC_INTERFACE Key HC_CDECL HC_Insert_Marker (double x, double y, double z);
6374 
6420 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh (int rows, int columns, Point const points[]);
6421 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh_By_Ref (int rows, int columns, Point const points[]);
6422 
6430 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh_By_Ref (int rows, int columns, DPoint const points[]);
6431 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Curve (int degree,
6432  int cpcount,
6433  Point const control_points[],
6434  float const weights[],
6435  float const knots[],
6436  double start_u,
6437  double end_u);
6438 
6467 HC_INTERFACE Key HC_CDECL HC_Insert_Polygon (int count, Point const points[]);
6468 
6497 HC_INTERFACE Key HC_CDECL HC_Insert_Polyline (int count, Point const points[]);
6498 
6499 
6552 HC_INTERFACE Key HC_CDECL HC_Insert_Shell (int pcount, Point const points[], int flist_length, int const face_list[]);
6553 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Ref (int pcount, Point const points[], int flist_length, int const face_list[]);
6554 
6563 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Ref (int pcount, DPoint const points[], int flist_length, int const face_list[]);
6564 
6658 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Tristrips (
6659  int pcount,
6660  Point const points[],
6661  int tristrips_length,
6662  int const tristrips[],
6663  int face_indices_length,
6664  int const face_indices[]);
6665 
6676 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Tristrips (
6677  int pcount,
6678  DPoint const points[],
6679  int tristrips_length,
6680  int const tristrips[],
6681  int face_indices_length,
6682  int const face_indices[]);
6683 
6820 HC_INTERFACE Key HC_CDECL HC_Insert_Spot_Light (Point const *position, Point const *target, char const *list);
6821 
6847 HC_INTERFACE Key HC_CDECL HC_Insert_String_Cursor (Key text_key, int row, int column);
6848 
6915 HC_INTERFACE Key HC_CDECL HC_Insert_Text (double x, double y, double z, char const *text);
6916 
6941 HC_INTERFACE Key HC_CDECL HC_Insert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
6942 
6953 HC_INTERFACE Key HC_CDECL HC_Insert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
6954 
7041 HC_INTERFACE Key HC_CDECL HC_Open_Segment (char const *segment);
7042 
7084 HC_INTERFACE Key HC_CDECL HC_Renumber_Key (Key oldkey, Key newkey, char const *scope);
7085 
7133 HC_INTERFACE Key HC_CDECL HC_Show_Include_Segment (Key key, char *pathname);
7134 
7141 HC_INTERFACE Key HC_CDECL HC_Show_Owner_Original_Key (Key key);
7142 
7173 HC_INTERFACE Key HC_CDECL HC_Style_Segment (char const *style);
7174 
7181 HC_INTERFACE Key HC_CDECL HC_Style_Segment_By_Key (Key seg_key);
7182 
7225 HC_INTERFACE void HC_CDECL HC_MSet_Character_Attributes (Key key, int offset, int count, char const *options);
7226 
7235 HC_INTERFACE void HC_CDECL HC_MUnSet_Character_Attributes (Key key, int offset, int count, char const *options);
7236 
7254 HC_INTERFACE void HC_CDECL HC_MSet_Face_Normals (Key key, int offset, int count, Vector const *normals);
7255 
7274 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_FIndex (Key key, char const *type, int offset, int count, float const findices[]);
7275 
7291 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_Value (
7292  Key key,
7293  char const * type,
7294  int offset,
7295  char const * color_space,
7296  int count,
7297  RGB const values[]);
7298 
7317 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_FIndex (Key key, char const *types, int offset, int count, float const findices[]);
7318 
7338 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value (
7339  Key key,
7340  char const * types,
7341  int offset,
7342  char const * color_space,
7343  int count,
7344  RGB const values[]);
7345 
7365 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value4 (
7366  Key key,
7367  char const * geometry,
7368  int offset,
7369  char const * color_space,
7370  int count,
7371  RGBA const values[]);
7372 
7386 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Normals (Key key, int offset, int count, Vector const normals[]);
7387 
7402 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Parameters (Key key, int offset, int pcount, int number, float const parameters[]);
7403 
7417 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map (int offset, char const *colors);
7418 
7427 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map_By_Value (int offset, char const *color_space, int count, RGB const values[]);
7428 
7451 HC_INTERFACE void HC_CDECL HC_Move_By_Key (Key key, char const *newowner);
7452 
7468 HC_INTERFACE void HC_CDECL HC_Move_Distant_Light (Key key, double di, double dj, double dk);
7469 
7482 HC_INTERFACE void HC_CDECL HC_Move_Image (Key key, double x, double y, double z);
7483 
7501 HC_INTERFACE void HC_CDECL HC_Move_Light_Position (Key key, double x, double y, double z);
7502 
7519 HC_INTERFACE void HC_CDECL HC_Move_Light_Target (Key key, double x, double y, double z);
7520 
7532 HC_INTERFACE void HC_CDECL HC_Move_Segment (char const *old_seg_name, char const *new_seg_name);
7533 
7556 HC_INTERFACE void HC_CDECL HC_Move_String_Cursor (Key key, int row, int column);
7557 
7571 HC_INTERFACE void HC_CDECL HC_Move_Text (Key key, double x, double y, double z);
7572 
7600 HC_INTERFACE void HC_CDECL HC_Open_Edge (int offset1, int offset2);
7601 
7636 HC_INTERFACE void HC_CDECL HC_Open_Face (int id);
7637 
7675 HC_INTERFACE void HC_CDECL HC_Open_Geometry (Key key);
7676 
7691 HC_INTERFACE void HC_CDECL HC_Open_LOD (int level);
7692 
7701 HC_INTERFACE void HC_CDECL HC_Open_Region (int region);
7702 
7708 HC_INTERFACE void HC_CDECL HC_Open_Segment_By_Key (Key key);
7709 
7734 HC_INTERFACE void HC_CDECL HC_Open_Vertex (int offset);
7735 
7755 HC_INTERFACE void HC_CDECL HC_Orbit_Camera (double theta, double phi);
7756 
7770 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Callback (int key_count, Key const path_keys[], char *callbacks);
7771 
7791 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera (int key_count,
7792  Key const path_keys[],
7793  Point *position,
7794  Point *target,
7795  Vector *up,
7796  float *width,
7797  float *height,
7798  char *projection);
7799 
7820 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_By_Volume (int count,
7821  Key const keys[],
7822  char *proj,
7823  float *xmin,
7824  float *xmax,
7825  float *ymin,
7826  float *ymax);
7827 
7844 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Position (int key_count, Key const path_keys[], float *x, float *y, float *z);
7845 
7862 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Target (int key_count, Key const path_keys[], float *x, float *y, float *z);
7863 
7880 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], float *x, float *y, float *z);
7881 
7897 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Field (int key_count, Key const path_keys[], float *width, float *height);
7898 
7910 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Projection (int key_count, Key const path_keys[], char *projection);
7911 
7924 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera (int key_count,
7925  Key const path_keys[],
7926  DPoint *position,
7927  DPoint *target,
7928  DVector *up,
7929  double *width,
7930  double *height,
7931  char *projection);
7932 
7944 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_By_Volume (int count,
7945  Key const keys[],
7946  char *proj,
7947  double *xmin,
7948  double *xmax,
7949  double *ymin,
7950  double *ymax);
7951 
7961 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Position (int key_count, Key const path_keys[], double *x, double *y, double *z);
7962 
7972 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Target (int key_count, Key const path_keys[], double *x, double *y, double *z);
7973 
7983 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], double *x, double *y, double *z);
7984 
7993 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Field (int key_count, Key const path_keys[], double *width, double *height);
7994 
7995 
8007 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color (int count, Key const keys[], char *color_spec);
8008 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map (int key_count, Key const path_keys[], char *colors);
8009 
8025 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[]);
8026 
8040 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Count (int key_count, Key const path_keys[], int *count);
8041 
8053 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Driver_Options (int key_count, Key const path_keys[], char *list);
8054 
8068 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern (int key_count, Key const path_keys[], char *pattern);
8069 
8083 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Weight (int key_count, Key const path_keys[], float *weight);
8084 
8098 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Face_Pattern (int key_count, Key const path_keys[], char *pattern);
8099 
8114 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Handedness (int key_count, Key const path_keys[], char *value);
8115 
8129 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Heuristics (int key_count, Key const path_keys[], char *list);
8130 
8144 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern (int key_count, Key const path_keys[], char *pattern);
8145 
8159 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Weight (int key_count, Key const path_keys[], float *weight);
8160 
8174 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Size (int key_count, Key const path_keys[], float *size);
8175 
8189 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Symbol (int key_count, Key const path_keys[], char *symbol);
8190 
8207 HC_INTERFACE int HC_CDECL HC_PShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], float matrix[]);
8208 
8216 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], double matrix[]);
8217 
8231 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Rendering_Options (int key_count, Key const path_keys[], char *list);
8232 
8246 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Selectability (int key_count, Key const path_keys[], char *list);
8247 
8261 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Alignment (int key_count, Key const path_keys[], char *locater);
8262 
8276 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Font (int key_count, Key const path_keys[], char *options);
8277 
8293 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Path (int key_count, Key const path_keys[], float *x, float *y, float *z);
8294 
8308 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Spacing (int key_count, Key const path_keys[], float *spacing);
8309 
8323 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture_Matrix (int key_count, Key const path_keys[], float matrix[]);
8324 
8338 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Index_Count (int key_count, Key const keys[], int *count);
8339 
8355 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Indices (int key_count, Key const path_keys[], int *count, long *indices, void **values);
8356 
8370 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Options (int key_count, Key const path_keys[], char *list);
8371 
8385 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Unicode_Options (int key_count, Key const path_keys[], unsigned short *options);
8386 
8398 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
8399 
8413 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
8414 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Value (int key_count, Key const path_keys[], intptr_t *data);
8415 
8429 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Visibility (int key_count, Key const path_keys[], char *list);
8430 
8447 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window (int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top);
8448 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,
8449  char *list);
8450 
8464 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Frame (int key_count, Key const path_keys[], char *flag);
8465 
8479 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Pattern (int key_count, Key const path_keys[], char *pattern);
8480 
8493 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Callback (int count, Key const keys[], char const *callback_point, char *callback_name);
8494 
8508 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
8509 
8519 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color (int count, Key const keys[], char const *type, char *color);
8520 
8533 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Index (int count, Key const keys[], char const *type, int *index);
8534 
8550 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Value (
8551  int count,
8552  Key const keys[],
8553  char const * type,
8554  char * color_space,
8555  float * a,
8556  float * b,
8557  float * c);
8558 
8569 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map (int count, Key const keys[], int offset, char *color);
8570 
8584 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map_By_V (
8585  int count,
8586  Key const keys[],
8587  int offset,
8588  char * color_space,
8589  float * x,
8590  float * y,
8591  float * z); // HC_PShow_One_Net_Color_Map_By_Value
8592 
8603 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Driver_Option (int count, Key const keys[], char const *type, char *value);
8604 
8614 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Heuristic (int count, Key const keys[], char const *type, char *value);
8615 
8626 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
8627 
8637 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Selectability (int count, Key const keys[], char const *type, char *value);
8638 
8648 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Text_Font (int count, Key const keys[], char const *type, char *value);
8649 
8659 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Index (int count, Key const keys[], long index, void **value);
8660 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Option (int count, Key const keys[], char const *type, char *value);
8661 
8674 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
8675 
8686 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Visibility (int count, Key const keys[], char const *type, char *value);
8687 
8707 HC_INTERFACE void HC_CDECL HC_Pan_Camera (double theta, double phi);
8708 
8772 HC_INTERFACE bool HC_CDECL HC_Parse_String (char const *string, char const *delimiter, int offset, char *token);
8773 
8805 HC_INTERFACE void HC_CDECL HC_Pause (void);
8806 
8826 HC_INTERFACE void HC_CDECL HC_Print_Version (void);
8827 
8848 HC_INTERFACE int HC_CDECL HC_QShow_Existence (char const *segment, char const *filter);
8849 
8912 HC_INTERFACE int HC_CDECL HC_Show_Existence (char const *filter);
8913 
8921 HC_INTERFACE int HC_CDECL HC_Show_Existence_By_Key (Key key, char const *filter);
8922 
8930 HC_INTERFACE int HC_CDECL HC_QShow_Existence_Unicode (char const *segment, unsigned short const *filter);
8931 
8947 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode (unsigned short const *filter);
8948 
8956 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode_By_K (Key key, unsigned short const *filter); // HC_Show_Existence_Unicode_By_Key
8957 
8993 HC_INTERFACE bool HC_CDECL HC_Read_Metafile (char const *file, char const *segment, char const *options);
8994 
9009 HC_INTERFACE void HC_CDECL HC_Record_Instance_Handle (void const *handle);
9010 
9062 HC_INTERFACE void HC_CDECL HC_Record_Profile_Source (char const *section, char const *filename);
9063 
9087 HC_INTERFACE void HC_CDECL HC_Relinquish_Memory (void);
9088 
9110 HC_INTERFACE void HC_CDECL HC_Rename_Segment (char const *old_seg_name, char const *new_seg_name);
9111 HC_INTERFACE void HC_CDECL HC_Rename_Segment_By_Key (Key key, char const *new_seg_name);
9112 
9129 HC_INTERFACE void HC_CDECL HC_Report_Error (int category,
9130  int specific,
9131  int severity,
9132  int msgc,
9133  char const * const *msgv,
9134  int stack_c,
9135  char const * const *stack_v);
9136 
9154 HC_INTERFACE void HC_CDECL HC_Reset_System (void);
9155 
9169 HC_INTERFACE void HC_CDECL HC_Restart_Ink (void);
9170 
9185 HC_INTERFACE void HC_CDECL HC_Roll_Camera (double theta);
9186 
9213 HC_INTERFACE void HC_CDECL HC_Rotate_Object (double theta, double phi, double psi);
9214 
9230 HC_INTERFACE void HC_CDECL HC_Rotate_Object_Offaxis (double x, double y, double z, double theta);
9231 
9238 HC_INTERFACE void HC_CDECL HC_DRotate_Object (double theta, double phi, double psi);
9239 
9247 HC_INTERFACE void HC_CDECL HC_DRotate_Object_Offaxis (double x, double y, double z, double theta);
9248 
9275 HC_INTERFACE void HC_CDECL HC_Rotate_Texture (double theta, double phi, double psi);
9276 
9292 HC_INTERFACE void HC_CDECL HC_Rotate_Texture_Offaxis (double x, double y, double z, double theta);
9293 
9320 HC_INTERFACE void HC_CDECL HC_Scale_Object (double x, double y, double z);
9321 
9328 HC_INTERFACE void HC_CDECL HC_DScale_Object (double x, double y, double z);
9329 
9350 HC_INTERFACE void HC_CDECL HC_Scale_Texture (double u, double v, double w);
9351 
9368 HC_INTERFACE void HC_CDECL HC_Scroll_Text (Key key, int left_scroll, int up_scroll);
9369 
9389 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Cuboid (Point const *min, Point const *max);
9390 
9402 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Sphere (Point const *center, double radius);
9403 
9409 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Cuboid (DPoint const *min, DPoint const *max);
9410 
9416 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Sphere (DPoint const *center, double radius);
9417 
9882 HC_INTERFACE void HC_CDECL HC_Set_Callback (char const *callbacks);
9883 
9890 HC_INTERFACE void HC_CDECL HC_Set_Callback_With_Data (char const *callback, void const *data);
9891 
9921 HC_INTERFACE void HC_CDECL HC_Set_Camera (Point const *position,
9922  Point const *target,
9923  Vector const *up,
9924  double width,
9925  double height,
9926  char const *projection);
9927 
9989 HC_INTERFACE void HC_CDECL HC_Set_Camera_By_Volume (char const *projection, double xmin, double xmax, double ymin, double ymax);
9990 
10016 HC_INTERFACE void HC_CDECL HC_Set_Camera_Field (double width, double height);
10017 
10036 HC_INTERFACE void HC_CDECL HC_Set_Camera_Position (double x, double y, double z);
10037 
10066 HC_INTERFACE void HC_CDECL HC_Set_Camera_Projection (char const *type);
10067 
10090 HC_INTERFACE void HC_CDECL HC_Set_Camera_Target (double x, double y, double z);
10091 
10125 HC_INTERFACE void HC_CDECL HC_Set_Camera_Up_Vector (double x, double y, double z);
10126 
10610 HC_INTERFACE void HC_CDECL HC_Set_Color (char const *color_spec);
10611 
10640 HC_INTERFACE void HC_CDECL HC_Set_Explicit_Color (
10641  char const *type,
10642  char const *channel,
10643  Point const *rgb,
10644  char const *texture,
10645  char const *options);
10646 
10686 HC_INTERFACE void HC_CDECL HC_Set_Color_By_FIndex (char const *types, double findex);
10687 
10763 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Index (char const *types, int index);
10764 
10859 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Value (char const *types, char const *colorspace, double a, double b, double c);
10860 
10899 HC_INTERFACE void HC_CDECL HC_Set_Color_Map (char const *colors);
10900 
10908 HC_INTERFACE void HC_CDECL HC_Set_Color_Map_By_Value (char const *color_space, int count, RGB const values[]);
10909 
11445 HC_INTERFACE void HC_CDECL HC_Set_Driver_Options (char const *list);
11446 
11492 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern (char const *pattern);
11493 
11546 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern_Explicit (char const *pattern);
11547 
11572 HC_INTERFACE void HC_CDECL HC_Set_Edge_Weight (double weight);
11573 
11621 HC_INTERFACE void HC_CDECL HC_Set_Face_Pattern (char const *pattern);
11622 
11643 HC_INTERFACE void HC_CDECL HC_Set_Handedness (char const *value);
11644 
11971 HC_INTERFACE void HC_CDECL HC_Set_Heuristics (char const *list);
11972 
12110 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern (char const *pattern);
12111 
12259 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern_Explicit (char const *pattern);
12260 
12287 HC_INTERFACE void HC_CDECL HC_Set_Line_Weight (double weight);
12288 
12352 HC_INTERFACE void HC_CDECL HC_Set_Marker_Size (double weight);
12353 
12536 HC_INTERFACE void HC_CDECL HC_Set_Marker_Symbol (char const *symbol);
12537 
12564 HC_INTERFACE void HC_CDECL HC_Set_Modelling_Matrix (float const matrix[]);
12565 
12570 HC_INTERFACE void HC_CDECL HC_DSet_Modelling_Matrix (double const matrix[]);
12571 
12594 HC_INTERFACE void HC_CDECL HC_Set_Normal (double x, double y, double z);
12595 
12631 HC_INTERFACE void HC_CDECL HC_Set_Parameter (int number, float const parameters[]);
12632 
12649 HC_INTERFACE void HC_CDECL HC_Set_Priority (Key key, int priority);
12650 HC_INTERFACE void HC_CDECL HC_UnSet_PBR_Material();
12651 
12676 HC_INTERFACE void HC_CDECL HC_Set_PBR_Material(
12677  char const * base_color_map,
12678  char const * normal_map,
12679  char const * emissive_map,
12680  char const * metalness_map,
12681  int metalness_map_channel,
12682  char const * roughness_map,
12683  int roughness_map_channel,
12684  char const * occlusion_map,
12685  int occlusion_map_channel,
12686  RGBA const * base_color_factor,
12687  float normal_factor,
12688  float metalness_factor,
12689  float roughness_factor,
12690  float occlusion_factor,
12691  float alpha_factor,
12692  char const * options);
12693 
12717 HC_INTERFACE bool HC_CDECL HC_Show_PBR_Material(
12718  char * base_color_map,
12719  char * normal_map,
12720  char * emissive_map,
12721  char * metalness_map,
12722  int * metalness_map_channel,
12723  char * roughness_map,
12724  int * roughness_map_channel,
12725  char * occlusion_map,
12726  int * occlusion_map_channel,
12727  RGBA * base_color_factor,
12728  float * normal_factor,
12729  float * metalness_factor,
12730  float * roughness_factor,
12731  float * occlusion_factor,
12732  float * alpha_factor,
12733  char * options);
12734 
12758 HC_INTERFACE bool HC_CDECL HC_PShow_Net_PBR_Material(
12759  int count,
12760  Key const * keys,
12761  char * base_color_map,
12762  char * normal_map,
12763  char * emissive_map,
12764  char * metalness_map,
12765  int * metalness_map_channel,
12766  char * roughness_map,
12767  int * roughness_map_channel,
12768  char * occlusion_map,
12769  int * occlusion_map_channel,
12770  RGBA * base_color_factor,
12771  float * normal_factor,
12772  float * metalness_factor,
12773  float * roughness_factor,
12774  float * occlusion_factor,
12775  float * alpha_factor,
12776  char * options);
12777 
13875 HC_INTERFACE void HC_CDECL HC_Set_Rendering_Options (char const *list);
13876 
13962 HC_INTERFACE void HC_CDECL HC_Set_Selectability (char const *list);
13963 
13989 HC_INTERFACE void HC_CDECL HC_Set_Shader(char const * target, Key vertex_shader, Key pixel_shader);
13990 
14011 HC_INTERFACE void HC_CDECL HC_Set_Shader_Outputs(Key shader_key, char const * outputs);
14012 
14025 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Outputs_Size(Key shader_key, int * size);
14026 
14040 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Outputs(Key shader_key, int * size, char * outputs);
14041 
14054 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Outputs(Key shader_key);
14055 
14079 HC_INTERFACE void HC_CDECL HC_Set_Shader_Uniforms(Key shader_key, char const * uniforms);
14080 
14098 HC_INTERFACE bool HC_CDECL HC_Set_Shader_Uniforms_Data(char const * target, Key shader_key, int data_size, void const * data);
14099 
14112 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Uniforms_Size(Key shader_key, int * size);
14113 
14127 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Uniforms(Key shader_key, int * size, char * uniforms);
14128 
14141 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Uniforms(Key shader_key);
14142 
14179 HC_INTERFACE void HC_CDECL HC_Set_Streaming_Mode (char const *flag);
14180 
14238 HC_INTERFACE void HC_CDECL HC_Set_Text_Alignment (char const *locater);
14239 
14519 HC_INTERFACE void HC_CDECL HC_Set_Text_Font (char const *list);
14520 
14537 HC_INTERFACE void HC_CDECL HC_Set_Text_Path (double x, double y, double z);
14538 HC_INTERFACE void HC_CDECL HC_Set_Text_Size (double ivalue);
14539 
14556 HC_INTERFACE void HC_CDECL HC_Set_Text_Spacing (double spacing);
14557 
14578 HC_INTERFACE void HC_CDECL HC_Set_Texture_Matrix (float const matrix[]);
14579 
14591 HC_INTERFACE void HC_CDECL HC_Set_User_Index (long index, void const *data);
14592 
14637 HC_INTERFACE void HC_CDECL HC_Set_User_Options (char const *list);
14638 
14649 HC_INTERFACE void HC_CDECL HC_Set_Unicode_Options (unsigned short const *options);
14650 HC_INTERFACE void HC_CDECL HC_Set_User_Value (intptr_t data);
14651 
14885 HC_INTERFACE void HC_CDECL HC_Set_Visibility (char const *list);
14886 
14922 HC_INTERFACE void HC_CDECL HC_Set_Window (double left, double right, double bottom, double top);
14923 HC_INTERFACE void HC_CDECL HC_Set_Window_With_Options (double left, double right, double bottom, double top, char const *list);
14924 
14945 HC_INTERFACE void HC_CDECL HC_Set_Window_Frame (char const *flag);
14946 
15031 HC_INTERFACE void HC_CDECL HC_Set_Window_Pattern (char const *pattern);
15032 
15062 HC_INTERFACE void HC_CDECL HC_Show_Alias (char const *alias, char *expansion);
15063 
15073 HC_INTERFACE void HC_CDECL HC_Show_Alias_Count (int *count);
15074 
15082 HC_INTERFACE void HC_CDECL HC_Show_Area_Light (Key key, int *ucount, Point upoints[], char *listptr);
15083 HC_INTERFACE void HC_CDECL HC_Show_Area_Light_Count (Key key, int *count, char *listptr);
15084 
15111 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid (Point *min, Point *max);
15112 
15121 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid_By_Key (Key key, Point *min, Point *max);
15122 
15129 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid (DPoint *min, DPoint *max);
15130 
15138 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid_By_Key (Key key, DPoint *min, DPoint *max);
15139 
15150 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info (char *list);
15151 
15158 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info_By_Key (Key key, char *list);
15159 
15170 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere (Point *center, float *radius);
15171 
15179 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere_By_Key (Key key, Point *center, float *radius);
15180 
15186 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere (DPoint *center, double *radius);
15187 
15194 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere_By_Key (Key key, DPoint *center, double *radius);
15195 
15216 HC_INTERFACE void HC_CDECL HC_Show_Button (char *button);
15217 
15242 HC_INTERFACE void HC_CDECL HC_Show_Button_Source (char *keyboard, char *button, int *status);
15243 
15250 HC_INTERFACE void HC_CDECL HC_Show_Callback (char *callbacks);
15251 
15263 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name (char const *name, Void_Routine *callback);
15264 
15270 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name_Count (int *count);
15271 
15283 HC_INTERFACE void HC_CDECL HC_Show_Camera (Point *position,
15284  Point * target,
15285  Vector * up,
15286  float * width,
15287  float * height,
15288  char * projection);
15289 
15301 HC_INTERFACE void HC_CDECL HC_Show_Camera_By_Volume (char *projection, float *xmin, float *xmax, float *ymin, float *ymax);
15302 
15308 HC_INTERFACE void HC_CDECL HC_Show_Camera_Field (float *width, float *height);
15309 
15316 HC_INTERFACE void HC_CDECL HC_Show_Camera_Position (float *x, float *y, float *z);
15317 
15322 HC_INTERFACE void HC_CDECL HC_Show_Camera_Projection (char *projection);
15323 
15330 HC_INTERFACE void HC_CDECL HC_Show_Camera_Target (float *x, float *y, float *z);
15331 
15338 HC_INTERFACE void HC_CDECL HC_Show_Camera_Up_Vector (float *x, float *y, float *z);
15339 
15353 HC_INTERFACE void HC_CDECL HC_Show_Circle (Key key, Point *point1, Point *point2, Point *point3);
15354 
15368 HC_INTERFACE void HC_CDECL HC_Show_Circular_Arc (Key key, Point *point1, Point *point2, Point *point3);
15369 
15383 HC_INTERFACE void HC_CDECL HC_Show_Circular_Chord (Key key, Point *point1, Point *point2, Point *point3);
15384 
15398 HC_INTERFACE void HC_CDECL HC_Show_Circular_Wedge (Key key, Point *point1, Point *point2, Point *point3);
15399 
15446 HC_INTERFACE void HC_CDECL HC_Show_Color (char *color_spec);
15447 
15454 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Index (char *types, int *index);
15455 
15478 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Value (char *types, char *colorspace, float *a, float *b, float *c);
15479 
15496 HC_INTERFACE void HC_CDECL HC_Show_Color_Map (char *colors);
15497 
15516 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_By_Value (char *color_space, int *count, RGB values[]);
15517 
15527 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Count (int *count);
15528 
15542 HC_INTERFACE void HC_CDECL HC_Show_Color_Name (char const *color, char *definition);
15543 
15553 HC_INTERFACE void HC_CDECL HC_Show_Color_Name_Count (int *count);
15554 
15569 HC_INTERFACE void HC_CDECL HC_Show_Explicit_Color (
15570  char const *type,
15571  char const *channel,
15572  float rgb[],
15573  char *texture,
15574  char *options);
15575 
15596 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Explicit_Color (
15597  int keycount,
15598  Key const pathkeys[],
15599  char const *type,
15600  char const *channel,
15601  float rgb[],
15602  char *texture,
15603  char *options);
15604 
15612 HC_INTERFACE void HC_CDECL HC_Show_Contents_Count (int *count);
15613 
15628 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Plane (Key key, float *a, float *b, float *c, float *d);
15629 
15644 HC_INTERFACE void HC_CDECL HC_Show_Cylinder (Key key, Point *p1, Point *p2, float *radius, char *cap);
15645 
15654 HC_INTERFACE void HC_CDECL HC_Show_Circle_By_Radius (Key key, Point *center, float *radius, Vector *normal);
15655 
15670 HC_INTERFACE void HC_CDECL HC_Show_Sphere (Key key, Point *center, float *radius, Vector *axis, Vector *ortho);
15671 
16023 HC_INTERFACE void HC_CDECL HC_Show_Device_Info (char const *driver, char const *item, char *data);
16024 
16032 HC_INTERFACE void HC_CDECL HC_Show_Device_Info_By_Key (Key key, char const *item, char *data);
16033 
16049 HC_INTERFACE void HC_CDECL HC_Show_Distant_Light (Key key, float *di, float *dj, float *dk);
16050 
16111 HC_INTERFACE void HC_CDECL HC_Show_Driver_Options (char *list);
16112 
16128 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern (char *pattern);
16129 
16144 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern_Explicit (char *pattern);
16145 
16161 HC_INTERFACE void HC_CDECL HC_Show_Edge_Weight (float *weight);
16162 
16176 HC_INTERFACE void HC_CDECL HC_Show_Ellipse (Key key, Point *center, Point *major, Point *minor);
16177 
16193 HC_INTERFACE void HC_CDECL HC_Show_Elliptical_Arc (Key key,
16194  Point *center,
16195  Point *major,
16196  Point *minor,
16197  float *start,
16198  float *end);
16199 
16218 HC_INTERFACE bool HC_CDECL HC_Show_Environment (char const *variable, char *value);
16219 
16236 HC_INTERFACE void HC_CDECL HC_Show_Face_Pattern (char *pattern);
16237 
16251 HC_INTERFACE void HC_CDECL HC_Show_Font (char const *name, char *options, int *data_length, char *data);
16252 
16258 HC_INTERFACE void HC_CDECL HC_Show_Font_Count (int *count);
16259 
16329 HC_INTERFACE void HC_CDECL HC_Show_Font_Info (char const *driver, char const *name, char const *item, char *data);
16330 
16338 HC_INTERFACE void HC_CDECL HC_Show_Font_Size (char const *name, char *options, int *data_length);
16339 
16356 HC_INTERFACE void HC_CDECL HC_Show_Grid (Key key,
16357  char *type,
16358  Point *origin,
16359  Point *ref1,
16360  Point *ref2,
16361  int *count1,
16362  int *count2);
16363 
16380 HC_INTERFACE void HC_CDECL HC_Show_Handedness (char *value);
16381 
16416 HC_INTERFACE void HC_CDECL HC_Show_Heuristics (char *list);
16417 
16437 HC_INTERFACE void HC_CDECL HC_Show_Image (Key key, float *x, float *y, float *z, char *format, int *width, int *height, void *data);
16438 
16450 HC_INTERFACE void HC_CDECL HC_Show_Image_Size (Key key, float *x, float *y, float *z, char *format, int *width, int *height);
16451 
16477 HC_INTERFACE bool HC_CDECL HC_Show_Snapshot(const char * display, int *width, int *height, void * image_data);
16478 
16496 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);
16497 
16507 HC_INTERFACE void HC_CDECL HC_Show_Compressed_Image_Size (Key key, char *format, int *width, int *height, int *size);
16508 HC_INTERFACE int HC_CDECL HC_Show_Image_Bytes_Per_Pixel (Key key);
16509 
16516 HC_INTERFACE void HC_CDECL HC_Show_Image_Format (Key key, char *format);
16517 
16524 HC_INTERFACE void HC_CDECL HC_Show_Image_Name (Key key, char *name);
16525 
16532 HC_INTERFACE void HC_CDECL HC_Show_Glyph (char const *name, char *data);
16533 
16540 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Size (char const *name, int *data_size);
16541 
16556 HC_INTERFACE bool HC_CDECL HC_Show_Shader(const char * target, Key * vertex, Key * pixel);
16557 
16558 
16559 HC_INTERFACE void HC_CDECL HC_Show_Shape (char const *name, float *data);
16560 HC_INTERFACE void HC_CDECL HC_Show_Shape_Size (char const *name, int *data_size);
16561 
16577 HC_INTERFACE void HC_CDECL HC_Show_Line_Style (char const *style, char *definition);
16578 
16585 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Size (char const *style, int *size);
16586 
16603 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern (char *pattern);
16604 
16621 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern_Explicit (char *pattern);
16622 
16652 HC_INTERFACE void HC_CDECL HC_Show_Key_Status (Key key, char *status);
16653 
16734 HC_INTERFACE void HC_CDECL HC_Show_Key_Type (Key key, char *type);
16735 
16752 HC_INTERFACE void HC_CDECL HC_Show_LOD_Type (Key key, int level, char *type);
16753 
16770 HC_INTERFACE void HC_CDECL HC_Show_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16771 
16783 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16784 
16796 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Ray (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16797 
16808 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16809 
16820 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Ray (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16821 
16838 HC_INTERFACE void HC_CDECL HC_Show_Line_Weight (float *weight);
16839 
16857 HC_INTERFACE void HC_CDECL HC_Show_Local_Light (Key key, float *x, float *y, float *z);
16858 
16880 HC_INTERFACE void HC_CDECL HC_Show_Location (float *x, float *y);
16881 
16907 HC_INTERFACE void HC_CDECL HC_Show_Location_Source (char *locater, char *display, char *action, int *status);
16908 
16922 HC_INTERFACE void HC_CDECL HC_Show_Marker (Key key, float *x, float *y, float *z);
16923 
16938 HC_INTERFACE void HC_CDECL HC_Show_Marker_Size (float *size);
16939 
16954 HC_INTERFACE void HC_CDECL HC_Show_Marker_Symbol (char *symbol);
16955 
16977 HC_INTERFACE void HC_CDECL HC_Show_Memory_Usage (long *allocated, long *in_use);
16978 
17003 HC_INTERFACE void HC_CDECL HC_Show_Memory_Statistics(char const * option, void * value);
17004 
17023 HC_INTERFACE void HC_CDECL HC_Show_Mesh (Key key, int *rows, int *columns, Point points[]);
17024 
17032 HC_INTERFACE void HC_CDECL HC_Show_Mesh_Size (Key key, int *rows, int *columns);
17033 
17048 HC_INTERFACE void HC_CDECL HC_Show_Modelling_Matrix (float matrix[]);
17049 
17054 HC_INTERFACE void HC_CDECL HC_DShow_Modelling_Matrix (double matrix[]);
17055 
17081 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve (Key key,
17082  int *degree,
17083  int *cp_count,
17084  Point points[],
17085  float weights[],
17086  float knots[],
17087  float *start_u,
17088  float *end_u);
17089 
17099 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve_Size (Key key, int *degree, int *cp_count, int *weight_count, int *knot_count);
17100 
17117 HC_INTERFACE void HC_CDECL HC_Show_Normal (float *x, float *y, float *z);
17118 
17125 HC_INTERFACE void HC_CDECL HC_Show_One_Callback (char const *callback_point, char *callback_name);
17126 
17134 HC_INTERFACE void HC_CDECL HC_Show_One_Callback_With_Data (char const *callback_point, char *callback, void **data);
17135 
17159 HC_INTERFACE void HC_CDECL HC_Show_One_Color (char const *type, char *color);
17160 
17170 HC_INTERFACE void HC_CDECL HC_Show_One_Color_By_Index (char const *type, int *index);
17171 
17181 HC_INTERFACE bool HC_CDECL HC_Show_One_Color_By_Value (char const *type, char *color_space, float *a, float *b, float *c);
17182 
17198 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map (int offset, char *color);
17199 
17212 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map_By_Value (int offset, char *color_space, float *a, float *b, float *c);
17213 
17220 HC_INTERFACE void HC_CDECL HC_Show_One_Driver_Option (char const *type, char *value);
17221 
17228 HC_INTERFACE void HC_CDECL HC_Show_One_Heuristic (char const *type, char *value);
17229 
17240 HC_INTERFACE void HC_CDECL HC_Show_One_Rendering_Option (char const *type, char *value);
17241 
17248 HC_INTERFACE void HC_CDECL HC_Show_One_Selectability (char const *type, char *value);
17249 
17256 HC_INTERFACE void HC_CDECL HC_Show_One_System_Option (char const *type, char *value);
17257 
17264 HC_INTERFACE void HC_CDECL HC_Show_One_Text_Font (char const *type, char *value);
17265 
17272 HC_INTERFACE bool HC_CDECL HC_Show_One_User_Index (long index, void **value);
17273 
17280 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option (char const *type, char *value);
17281 
17288 HC_INTERFACE void HC_CDECL HC_Show_One_Unicode_Option (unsigned short const *requestedOption, unsigned short *options);
17289 
17296 HC_INTERFACE void HC_CDECL HC_Show_One_Visibility (char const *type, char *value);
17297 
17303 HC_INTERFACE void HC_CDECL HC_Show_Open_Segment_Count (int *count);
17304 
17333 HC_INTERFACE Key HC_CDECL HC_Show_Owner (char const *segment, char *owner);
17334 
17342 HC_INTERFACE Key HC_CDECL HC_Show_Owner_By_Key (Key key, char *owner);
17343 
17359 HC_INTERFACE void HC_CDECL HC_Show_Parameter (int *size, float list[]);
17360 
17366 HC_INTERFACE void HC_CDECL HC_Show_Parameter_Size (int *size);
17367 
17378 HC_INTERFACE void HC_CDECL HC_Show_Partial_Image (Key key, int xpos, int ypos, int xlen, int ylen, void *data);
17379 
17390 HC_INTERFACE void HC_CDECL HC_Show_Partial_Mesh (Key key,
17391  int row_offset,
17392  int col_offset,
17393  int row_count,
17394  int col_count,
17395  Point points[]);
17396 
17405 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polygon (Key key, int offset, int request, Point points[]);
17406 
17415 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polyline (Key key, int offset, int request, Point points[]);
17416 
17429 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell (Key key,
17430  int voffset,
17431  int vcnt,
17432  Point points[],
17433  int foffset,
17434  int fcnt,
17435  int *flist_length,
17436  int face_list[]);
17437 
17446 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell_Size (Key key, int foffset, int fcnt, int *flist_length);
17447 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Mesh (Key key,
17448  int row_offset,
17449  int col_offset,
17450  int row_count,
17451  int col_count,
17452  DPoint points[]);
17453 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polygon (Key key, int offset, int request, DPoint points[]);
17454 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polyline (Key key, int offset, int request, DPoint points[]);
17455 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Shell (Key key,
17456  int voffset,
17457  int vcnt,
17458  DPoint points[],
17459  int foffset,
17460  int fcnt,
17461  int *flist_length,
17462  int face_list[]);
17463 
17493 HC_INTERFACE void HC_CDECL HC_Show_Pathname_Expansion (char const *pathname, char *expansion);
17494 
17515 HC_INTERFACE void HC_CDECL HC_Show_Polygon (Key key, int *count, Point points[]);
17516 
17523 HC_INTERFACE void HC_CDECL HC_Show_Polygon_Count (Key key, int *count);
17524 
17545 HC_INTERFACE void HC_CDECL HC_Show_Polyline (Key key, int *count, Point points[]);
17546 
17553 HC_INTERFACE void HC_CDECL HC_Show_Polyline_Count (Key key, int *count);
17554 
17566 HC_INTERFACE bool HC_CDECL HC_Show_Priority (Key key, int *priority);
17567 
17618 HC_INTERFACE void HC_CDECL HC_Show_Rendering_Options (char *list);
17619 HC_INTERFACE int HC_CDECL HC_Show_Segment_Name_Length (Key key);
17620 HC_INTERFACE Key HC_CDECL HC_Show_Segment_Name (Key key, char *name);
17621 
17643 HC_INTERFACE Key HC_CDECL HC_Show_Segment (Key key, char *pathname);
17644 
17650 HC_INTERFACE void HC_CDECL HC_Show_Segment_Count (int *count);
17651 
17665 HC_INTERFACE void HC_CDECL HC_Show_Selectability (char *list);
17666 
17689 HC_INTERFACE void HC_CDECL HC_Show_Selection (char *segment);
17690 
17805 HC_INTERFACE void HC_CDECL HC_Show_Selection_Element (Key *key, int *offset1, int *offset2, int *offset3);
17806 
17820 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source_Elem (int *vertex, int *edge, int *face, Point *hit_location); // HC_Show_Selection_Source_Element
17821 
17829 HC_INTERFACE void HC_CDECL HC_DShow_Selection_Source_Elem (int *vertex, int *edge, int *face, DPoint *hit_location); // HC_DShow_Selection_Source_Element
17830 
17845 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Key (Key *key);
17846 
17892 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements (Key *key, int *count, int vertex1[], int vertex2[], int faces[]);
17893 
17902 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements_Coun (Key *key, int *count); // HC_Show_Selection_Elements_Count
17903 HC_INTERFACE void HC_CDECL HC_Show_Selection_Item (Key *key, int *offset1, int *offset2);
17904 
17918 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys (int *count, Key keys[]);
17919 
17933 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Keys (int *count, Key key[]);
17934 
17940 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys_Count (int *count);
17941 HC_INTERFACE void HC_CDECL HC_Show_Selection_Location (float *xw, float *yw, float *xc, float *yc, float *zc);
17942 
18026 HC_INTERFACE void HC_CDECL HC_Show_Selection_Pathname (char *segment);
18027 
18071 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);
18072 
18082 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);
18083 
18113 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source (char *locater, char *picture, char *action, int *status);
18114 
18141 HC_INTERFACE void HC_CDECL HC_Show_Shell (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
18142 
18165 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips (Key key,
18166  int *pcount,
18167  Point points[],
18168  int *tristrips_length,
18169  int tristrips[],
18170  int *face_indices_length,
18171  int face_indices[]);
18172 
18181 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips_Size (Key key, int *pcount, int *tristrips_length, int *face_indices_length);
18182 
18190 HC_INTERFACE void HC_CDECL HC_Show_Shell_Size (Key key, int *pcount, int *flist_length);
18191 
18198 HC_INTERFACE void HC_CDECL HC_Show_Shell_Face_Count (Key key, int *face_count);
18199 
18209 HC_INTERFACE void HC_CDECL HC_Show_Shell_Tristrip_Count (Key key, int *tristrip_count);
18210 
18228 HC_INTERFACE void HC_CDECL HC_Show_Spot_Light (Key key, Point *position, Point *target, char *list);
18229 
18243 HC_INTERFACE void HC_CDECL HC_Show_Streaming_Mode (char *flag);
18244 
18271 HC_INTERFACE void HC_CDECL HC_Show_String (char *text);
18272 
18279 HC_INTERFACE void HC_CDECL HC_Show_String_Count (int *count);
18280 
18296 HC_INTERFACE void HC_CDECL HC_Show_String_Cursor (Key key, Key *text_key, int *row, int *col);
18297 
18303 HC_INTERFACE void HC_CDECL HC_Show_String_Length (int *length);
18304 
18318 HC_INTERFACE void HC_CDECL HC_Show_String_Source (char *keyboard, Key *cursor_key);
18319 
18326 HC_INTERFACE void HC_CDECL HC_Show_String_With_Encoding (char *encoding, void *text);
18327 
18340 HC_INTERFACE Key HC_CDECL HC_Show_Style_Segment (Key key, char *pathname);
18341 
18369 HC_INTERFACE bool HC_CDECL HC_Show_System_Info (char const *type, char *value);
18370 
18414 HC_INTERFACE void HC_CDECL HC_Show_System_Options (char *list);
18415 
18436 HC_INTERFACE void HC_CDECL HC_Show_Text (Key key, float *x, float *y, float *z, char *text);
18437 HC_INTERFACE void HC_CDECL HC_Show_Text_Leader (Key key, float *x, float *y, float *z, char *options);
18438 
18449 HC_INTERFACE void HC_CDECL HC_Show_Text_With_Encoding (Key key, float *x, float *y, float *z, char *encoding, void *text);
18450 
18465 HC_INTERFACE void HC_CDECL HC_Show_Text_Alignment (char *locater);
18466 
18473 HC_INTERFACE void HC_CDECL HC_Show_Text_Count (Key key, int *count);
18474 
18481 HC_INTERFACE void HC_CDECL HC_Show_Text_Encoding (Key key, char *encoding);
18482 
18518 HC_INTERFACE void HC_CDECL HC_Show_Text_Font (char *options);
18519 
18526 HC_INTERFACE void HC_CDECL HC_Show_Text_Length (Key key, int *length);
18527 
18544 HC_INTERFACE void HC_CDECL HC_Show_Text_Path (float *x, float *y, float *z);
18545 HC_INTERFACE void HC_CDECL HC_Show_Text_Size (float *value);
18546 
18560 HC_INTERFACE void HC_CDECL HC_Show_Text_Spacing (float *spacing);
18561 
18592 HC_INTERFACE void HC_CDECL HC_Show_Texture (char const *texture, char *definition);
18593 
18601 HC_INTERFACE void HC_CDECL HC_Show_Shader_Definition (char const *name, char *definition, char *shader_source);
18602 
18613 HC_INTERFACE void HC_CDECL HC_Show_Shader_Definition_Source_Size(Key shader_key, int * size);
18614 
18627 HC_INTERFACE void HC_CDECL HC_Show_Shader_Definition_By_Key(Key shader_key, char * stage, char * shader_source);
18628 
18650 HC_INTERFACE void HC_CDECL HC_Set_Shader_Inputs(Key shader_key, char const * inputs);
18651 
18664 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Inputs_Size(Key shader_key, int * size);
18665 
18679 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Inputs(Key shader_key, int * size, char * inputs);
18680 
18693 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Inputs(Key shader_key);
18694 
18804 HC_INTERFACE Key HC_CDECL HC_Define_Shader_Sampler(char const * name, char const * options);
18805 
18814 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Sampler_Def_Size(Key sampler_key, int * size);
18815 
18828 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Sampler_Def(Key sampler_key, int * size, char * definition);
18829 
18907 HC_INTERFACE Key HC_CDECL HC_Define_Shader_Texture(
18908  char const * name,
18909  int width,
18910  int height,
18911  int depth,
18912  int array_size,
18913  int mipmap_levels,
18914  char const * format,
18915  char const * options,
18916  void const ** data);
18917 
18933 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Texture_Def_Size(
18934  Key texture_key,
18935  int * name_size,
18936  int * width,
18937  int * height,
18938  int * depth,
18939  int * array_size,
18940  int * format_size,
18941  int * options_size,
18942  int * data_slice_size);
18943 
18964 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Texture_Def(
18965  Key texture_key,
18966  int * name_size,
18967  char * name,
18968  int * width,
18969  int * height,
18970  int * depth,
18971  int * array_size,
18972  int * mipmap_levels,
18973  int * format_size,
18974  char * format,
18975  int * options_size,
18976  char * options,
18977  int * data_slice_size,
18978  void ** data);
18979 
18995 HC_INTERFACE void HC_CDECL HC_Set_Shader_Textures(Key shader_key, int count, Key const * texture_keys, Key const * sampler_keys);
18996 
19008 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Textures(Key shader_key);
19009 
19022 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Textures_Count(Key shader_key, int * count);
19023 
19038 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Textures(Key shader_key, int * count, Key * texture_keys, Key * sampler_keys);
19039 
19074 HC_INTERFACE void HC_CDECL HC_Show_Local_Texture (char const *texture_name, char *definition);
19075 
19081 HC_INTERFACE void HC_CDECL HC_Show_Texture_Count (int *count);
19082 
19088 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Count (int *count);
19089 HC_INTERFACE void HC_CDECL HC_Show_Shape_Count (int *count);
19090 
19096 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Count (int *count);
19097 
19112 HC_INTERFACE void HC_CDECL HC_Show_Texture_Matrix (float matrix[]);
19113 
19130 HC_INTERFACE void HC_CDECL HC_Show_Time (float *time);
19131 
19137 HC_INTERFACE void HC_CDECL HC_Show_User_Index_Count (int *count);
19138 
19154 HC_INTERFACE void HC_CDECL HC_Show_User_Indices (int count[], long indices[], void **values);
19155 
19172 HC_INTERFACE void HC_CDECL HC_Show_User_Options (char *list);
19173 
19184 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options (unsigned short *options);
19185 
19199 HC_INTERFACE void HC_CDECL HC_Show_User_Options_Length (int *length);
19200 
19206 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options_Length (int *length);
19207 HC_INTERFACE void HC_CDECL HC_Show_User_Value (intptr_t *data);
19208 
19223 HC_INTERFACE void HC_CDECL HC_Show_Visibility (char *list);
19224 
19235 HC_INTERFACE void HC_CDECL HC_Show_Wakeup (float *time);
19236 
19254 HC_INTERFACE void HC_CDECL HC_Show_Window (float *left, float *right, float *bottom, float *top);
19255 HC_INTERFACE void HC_CDECL HC_Show_Window_With_Options (float *left, float *right, float *bottom, float *top, char *list);
19256 
19271 HC_INTERFACE void HC_CDECL HC_Show_Window_Frame (char *flag);
19272 
19287 HC_INTERFACE void HC_CDECL HC_Show_Window_Pattern (char *pattern);
19288 
19307 HC_INTERFACE void HC_CDECL HC_Translate_Object (double x, double y, double z);
19308 
19315 HC_INTERFACE void HC_CDECL HC_DTranslate_Object (double x, double y, double z);
19316 
19335 HC_INTERFACE void HC_CDECL HC_Translate_Texture (double u, double v, double w);
19336 
19342 HC_INTERFACE void HC_CDECL HC_UnDefine_Alias (char const *name);
19343 
19349 HC_INTERFACE void HC_CDECL HC_UnDefine_Callback_Name (char const *name);
19350 
19356 HC_INTERFACE void HC_CDECL HC_UnDefine_Color_Name (char const *name);
19357 
19363 HC_INTERFACE void HC_CDECL HC_UnDefine_Error_Handler (Void_Routine handler);
19364 
19370 HC_INTERFACE void HC_CDECL HC_UnDefine_Exit_Handler (Void_Routine handler);
19371 
19377 HC_INTERFACE void HC_CDECL HC_UnDefine_Font (char const *name);
19378 
19384 HC_INTERFACE void HC_CDECL HC_UnDefine_Glyph (char const *name);
19385 
19391 HC_INTERFACE void HC_CDECL HC_UnDefine_Line_Style (char const *name);
19392 
19397 HC_INTERFACE void HC_CDECL HC_UnDefine_Shape (char const *name);
19398 
19404 HC_INTERFACE void HC_CDECL HC_UnDefine_Texture (char const *texture_name);
19405 
19411 HC_INTERFACE void HC_CDECL HC_UnDefine_Local_Texture (char const *texture_name);
19412 
19418 HC_INTERFACE void HC_CDECL HC_UnDefine_Shader (char const *iname);
19419 
19428 HC_INTERFACE void HC_CDECL HC_UnSet_Bounding_Volume (void);
19429 
19434 HC_INTERFACE void HC_CDECL HC_UnSet_Callback (void);
19435 
19440 HC_INTERFACE void HC_CDECL HC_UnSet_Camera (void);
19441 
19446 HC_INTERFACE void HC_CDECL HC_UnSet_Color (void);
19447 
19452 HC_INTERFACE void HC_CDECL HC_UnSet_Color_Map (void);
19453 
19458 HC_INTERFACE void HC_CDECL HC_UnSet_Driver_Options (void);
19459 
19464 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Pattern (void);
19465 
19470 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Weight (void);
19471 
19476 HC_INTERFACE void HC_CDECL HC_UnSet_Face_Pattern (void);
19477 
19482 HC_INTERFACE void HC_CDECL HC_UnSet_Handedness (void);
19483 
19488 HC_INTERFACE void HC_CDECL HC_UnSet_Heuristics (void);
19489 
19494 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Pattern (void);
19495 
19500 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Weight (void);
19501 
19506 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Size (void);
19507 
19512 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Symbol (void);
19513 
19518 HC_INTERFACE void HC_CDECL HC_UnSet_Modelling_Matrix (void);
19519 
19524 HC_INTERFACE void HC_CDECL HC_UnSet_Normal (void);
19525 
19531 HC_INTERFACE void HC_CDECL HC_UnSet_One_Callback (char const *callback);
19532 
19539 HC_INTERFACE void HC_CDECL HC_UnSet_One_Color (char const *which);
19540 
19546 HC_INTERFACE void HC_CDECL HC_UnSet_One_Driver_Option (char const *which);
19547 
19553 HC_INTERFACE void HC_CDECL HC_UnSet_One_Heuristic (char const *which);
19554 
19560 HC_INTERFACE void HC_CDECL HC_UnSet_One_Rendering_Option (char const *which);
19561 
19567 HC_INTERFACE void HC_CDECL HC_UnSet_One_Selectability (char const *which);
19568 
19574 HC_INTERFACE void HC_CDECL HC_UnSet_One_Text_Font (char const *which);
19575 
19581 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Index (long index);
19582 
19588 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Option (char const *which);
19589 
19595 HC_INTERFACE void HC_CDECL HC_UnSet_One_Unicode_Option (unsigned short const *which);
19596 
19602 HC_INTERFACE void HC_CDECL HC_UnSet_One_Visibility (char const *which);
19603 
19608 HC_INTERFACE void HC_CDECL HC_UnSet_Parameter (void);
19609 
19614 HC_INTERFACE void HC_CDECL HC_UnSet_Rendering_Options (void);
19615 
19620 HC_INTERFACE void HC_CDECL HC_UnSet_Selectability (void);
19621 
19631 HC_INTERFACE void HC_CDECL HC_UnSet_Shader(char const * target);
19632 
19637 HC_INTERFACE void HC_CDECL HC_UnSet_Streaming_Mode (void);
19638 
19643 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Alignment (void);
19644 
19649 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Font (void);
19650 
19655 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Path (void);
19656 
19661 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Spacing (void);
19662 
19667 HC_INTERFACE void HC_CDECL HC_UnSet_Texture_Matrix (void);
19668 
19673 HC_INTERFACE void HC_CDECL HC_UnSet_User_Options (void);
19674 
19679 HC_INTERFACE void HC_CDECL HC_UnSet_Unicode_Options (void);
19680 HC_INTERFACE void HC_CDECL HC_UnSet_User_Indices (void);
19681 HC_INTERFACE void HC_CDECL HC_UnSet_User_Data (void);
19682 HC_INTERFACE void HC_CDECL HC_UnSet_User_Value (void);
19683 
19688 HC_INTERFACE void HC_CDECL HC_UnSet_Visibility (void);
19689 
19694 HC_INTERFACE void HC_CDECL HC_UnSet_Window (void);
19695 
19700 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Frame (void);
19701 
19706 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Pattern (void);
19707 
19744 HC_INTERFACE bool HC_CDECL HC_Update_Display (void);
19745 
19765 HC_INTERFACE bool HC_CDECL HC_Update_Display_Timed (double time);
19766 
19782 HC_INTERFACE bool HC_CDECL HC_Update_One_Display (char const *segment);
19783 
19798 HC_INTERFACE bool HC_CDECL HC_Update_One_Display_Timed (char const *segment, double time);
19799 
19874 HC_INTERFACE bool HC_CDECL HC_Write_Metafile (char const *segment, char const *file, char const *options);
19875 
19892 HC_INTERFACE void HC_CDECL HC_Zoom_Camera (double zoom);
19893 
19942 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Pointer (Key key, const char * data_type, void * value);
19943 
19955 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Options (Key key, char *list);
19956 
19997 HC_INTERFACE void HC_CDECL HC_Set_Geometry_Options (Key key, const char *list); // HC_Edit_Geometry_Options
19998 
20039 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Surface (
20040  int u_degree,
20041  int v_degree,
20042  int u_count,
20043  int v_count,
20044  Point const points[],
20045  float const weights[],
20046  float const u_knots[],
20047  float const v_knots[]);
20048 
20073 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface_Size (
20074  Key key,
20075  int *u_degree,
20076  int *v_degree,
20077  int *u_count,
20078  int *v_count,
20079  int *weights_count,
20080  int *u_knots_count,
20081  int *v_knots_count);
20082 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface (
20083  Key key,
20084  int *u_degree,
20085  int *v_degree,
20086  int *u_count,
20087  int *v_count,
20088  Point points[],
20089  float weights[],
20090  float u_knots[],
20091  float v_knots[]);
20092 
20121 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Poly (
20122  int cpcount,
20123  float const points[]);
20124 
20165 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Curve (
20166  int degree,
20167  int cpcount,
20168  float const control_points[],
20169  float const weights[],
20170  float const knots[],
20171  double start_u,
20172  double end_u);
20173 
20202 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface (
20203  Key key,
20204  int cp_offset,
20205  int weights_offset,
20206  int u_knot_offset,
20207  int v_knot_offset,
20208  int cp_replace_count,
20209  int weights_replace_count,
20210  int u_knot_replace_count,
20211  int v_knot_replace_count,
20212  Point const points[],
20213  float const weights[],
20214  float const u_knots[],
20215  float const v_knots[]);
20216 
20226 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Points (
20227  Key key,
20228  int cp_offset,
20229  int cp_replace_count,
20230  Point const points[]);
20231 
20241 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Weights (
20242  Key key,
20243  int weights_offset,
20244  int weights_replace_count,
20245  float const weights[]);
20246 
20259 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Knots (
20260  Key key,
20261  int u_knot_offset,
20262  int v_knot_offset,
20263  int u_knot_replace_count,
20264  int v_knot_replace_count,
20265  float const u_knots[],
20266  float const v_knots[]);
20267 
20314 HC_INTERFACE void HC_CDECL HC_Show_Trim_Count (
20315  int * count);
20316 
20375 HC_INTERFACE void HC_CDECL HC_Show_Trim_Type (
20376  int index,
20377  char * trim_type);
20378 
20401 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly (
20402  int index,
20403  int * count,
20404  float points[]);
20405 
20412 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly_Count (
20413  int index,
20414  int * count);
20415 
20445 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve (
20446  int index,
20447  int * degree,
20448  int * cp_count,
20449  float points[],
20450  float weights[],
20451  float knots[],
20452  float * start_u,
20453  float * end_u);
20454 
20464 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve_Count (
20465  int index,
20466  int * degree,
20467  int * cp_count,
20468  int * w_count,
20469  int * knot_count);
20470 
20501 HC_INTERFACE void HC_CDECL HC_Delete_Trim (
20502  int index);
20503 
20516 HC_INTERFACE void HC_CDECL HC_Open_Trim (
20517  int offset);
20518 
20523 HC_INTERFACE void HC_CDECL HC_Close_Trim (void);
20524 
20536 HC_INTERFACE void HC_CDECL HC_Set_Trim_Operation (
20537  int index,
20538  char const * operation);
20539 
20551 HC_INTERFACE void HC_CDECL HC_Show_Trim_Operation (
20552  int index,
20553  char * operation);
20554 
20561 HC_INTERFACE void HC_CDECL HC_Create_Trim_Collection (void);
20562 
20570 HC_INTERFACE void HC_CDECL HC_Set_Variable_Line_Weight (
20571  char const * weight);
20572 
20580 HC_INTERFACE void HC_CDECL HC_Set_Variable_Edge_Weight (
20581  char const * weight);
20582 
20645 HC_INTERFACE void HC_CDECL HC_Set_Variable_Marker_Size (
20646  char const * size);
20647 
20657 HC_INTERFACE void HC_CDECL HC_Show_Variable_Edge_Weight (
20658  char * weight);
20659 
20670 HC_INTERFACE void HC_CDECL HC_Show_Variable_Line_Weight (
20671  char * weight);
20672 
20683 HC_INTERFACE void HC_CDECL HC_Show_Variable_Marker_Size (
20684  char * size);
20685 
20699 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Edge_Weight (
20700  int count,
20701  Key const keys[],
20702  char * weight); // HC_PShow_Net_Variable_Edge_Weight
20703 
20717 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Line_Weight (
20718  int count,
20719  Key const keys[],
20720  char * weight); // HC_PShow_Net_Variable_Line_Weight
20721 
20735 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Marker_Size (
20736  int count,
20737  Key const keys[],
20738  char * size); // HC_PShow_Net_Variable_Marker_Size
20739 
20754 HC_INTERFACE void HC_CDECL HC_MShow_Character_Attributes(
20755  Key key,
20756  int offset,
20757  int count,
20758  char * options);
20759 
20766 HC_INTERFACE void HC_CDECL HC_Show_Character_Attribute_Cou(
20767  Key key,
20768  int * count); // HC_Show_Character_Attribute_Count
20769 
20778 HC_INTERFACE void HC_CDECL HC_Show_One_Character_Attribute(
20779  Key key,
20780  int offset,
20781  char const *which,
20782  char * options);
20783 
20789 HC_INTERFACE void HC_CDECL HC_Set_Faces (
20790  int first_face,
20791  int face_count);
20792 
20797 HC_INTERFACE void HC_CDECL HC_Set_Region (
20798  int region);
20799 
20807 HC_INTERFACE void HC_CDECL HC_MSet_Region_Faces (
20808  Key key,
20809  int region,
20810  int first_face,
20811  int face_count);
20812 
20820 HC_INTERFACE void HC_CDECL HC_MSet_Face_Regions (
20821  Key key,
20822  int first_face,
20823  int face_count,
20824  int const regions[]);
20825 
20831 HC_INTERFACE void HC_CDECL HC_Show_Faces (
20832  int * face_count,
20833  int faces[]);
20834 
20840 HC_INTERFACE void HC_CDECL HC_Show_Faces_Count (
20841  int * face_count);
20842 
20847 HC_INTERFACE void HC_CDECL HC_Show_Region (
20848  int region[]);
20849 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces (
20850  Key key,
20851  int region,
20852  int * face_count,
20853  int faces[]);
20854 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces_Count (
20855  Key key,
20856  int region,
20857  int * face_count);
20858 
20865 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions (
20866  Key key,
20867  int * face_count,
20868  int regions[]);
20869 
20876 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions_Count (
20877  Key key,
20878  int * face_count);
20879 HC_INTERFACE void HC_CDECL HC_MShow_Partial_Face_Regions (
20880  Key key,
20881  int first_face,
20882  int face_count,
20883  int regions[]);
20884 
20891 HC_INTERFACE void HC_CDECL HC_Show_Region_Range (
20892  Key key,
20893  int * lowest,
20894  int * highest);
20895 
20920 HC_INTERFACE Key HC_CDECL HC_Insert_PolyCylinder (int p_count, Point const pts[], int r_count, float const radii[], char const *capping);
20921 
20932 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder (Key key, int *p_count, Point pts[], int *r_count, float radii[], char *capping);
20933 
20942 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder_Counts (Key key, int *p_count, int *r_count, char *capping);
20943 
20951 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_From_Region (Key key1, int region, char const *options);
20952 
20961 HC_INTERFACE Key HC_CDECL HC_Insert_Unicode_Text (
20962  double x,
20963  double y,
20964  double z,
20965  unsigned short const text[]);
20966 
20975 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Text (
20976  Key key,
20977  float *x,
20978  float *y,
20979  float *z,
20980  unsigned short text[]);
20981 
21018 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Shell (
21019  char const *action,
21020  char const *start_seg,
21021  int point_count,
21022  Point const points[],
21023  int face_list_length,
21024  int const face_list[]);
21025 
21036 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Shell (
21037  char const *action,
21038  char const *start_seg,
21039  int point_count,
21040  DPoint const points[],
21041  int face_list_length,
21042  int const face_list[]);
21043 
21078 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Sh_W_Op (
21079  char const *action,
21080  char const *start_seg,
21081  int point_count,
21082  Point const points[],
21083  int face_list_length,
21084  int const face_list[],
21085  char const *options); // HC_Compute_Selection_By_Shell_With_Options
21086 
21098 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Sh_W_O (
21099  char const *action,
21100  char const *start_seg,
21101  int point_count,
21102  DPoint const points[],
21103  int face_list_length,
21104  int const face_list[],
21105  char const *options); // HC_DCompute_Selection_By_Shell_With_Options
21106 
21157 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_S (
21158  char const *action,
21159  char const *start_seg,
21160  Key shellkey,
21161  int number_of_sweeps,
21162  float const matrices[],
21163  char const *options); // HC_Compute_Selection_By_Swept_Shell
21164 
21175 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_S (
21176  char const *action,
21177  char const *start_seg,
21178  Key shellkey,
21179  int number_of_sweeps,
21180  double const matrices[],
21181  char const *options); // HC_DCompute_Selection_By_Swept_Shell
21182 
21194 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_2 (
21195  char const *action,
21196  char const *start_seg,
21197  Key shellkey,
21198  int sweepcount,
21199  float const matrices[],
21200  char const *options,
21201  float bounding_box[]); // HC_Compute_Selection_By_Swept_Shell2
21202 
21214 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_2 (
21215  char const *action,
21216  char const *start_seg,
21217  Key shellkey,
21218  int sweepcount,
21219  double const matrices[],
21220  char const *options,
21221  double bounding_box[]); // HC_DCompute_Selection_By_Swept_Shell2
21222 
21249 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Key (
21250  char const *action,
21251  char const *start_seg,
21252  Key key, float const matrix[]);
21253 
21261 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Key (
21262  char const *action,
21263  char const *start_seg,
21264  Key key, double const matrix[]);
21265 
21285 HC_INTERFACE Key HC_CDECL HC_Compute_Swept_Shell(
21286  Key shellkey,
21287  Vector const * direction_in,
21288  Key * front_key,
21289  Key * back_key,
21290  Key * side_key,
21291  char const * options);
21292 
21302 HC_INTERFACE Key HC_CDECL HC_DCompute_Swept_Shell(
21303  Key shellkey,
21304  DVector const * direction_in,
21305  Key * front_key,
21306  Key * back_key,
21307  Key * side_key,
21308  char const * options);
21309 
21346 HC_INTERFACE void HC_CDECL HC_Compute_Swept_Shell_Along_P (
21347  Key shellkey,
21348  int number_of_sweeps,
21349  float const matrices[],
21350  char const * options); // HC_Compute_Swept_Shell_Along_Path
21351 
21359 HC_INTERFACE void HC_CDECL HC_DCompute_Swept_Shell_Along_P (
21360  Key shellkey,
21361  int number_of_sweeps,
21362  double const matrices[],
21363  char const * options); // HC_DCompute_Swept_Shell_Along_Path
21364 
21396 HC_INTERFACE float HC_CDECL HC_Compute_Selection_Dist_By_Sh (
21397  char const * action,
21398  char const * start_segment,
21399  int pcount,
21400  Point const points[],
21401  int flist_length,
21402  int const faces[] ,
21403  const char * options); // HC_Compute_Selection_Distance_By_Shell
21404 
21416 HC_INTERFACE double HC_CDECL HC_DCompute_Selection_Dist_By_S (
21417  char const * action,
21418  char const * start_segment,
21419  int pcount,
21420  DPoint const points[],
21421  int flist_length,
21422  int const faces[] ,
21423  const char * options); // HC_DCompute_Selection_Distance_By_Shell
21424 
21437 HC_INTERFACE void HC_CDECL HC_Begin_Shell_Selection (void);
21438 
21443 HC_INTERFACE void HC_CDECL HC_End_Shell_Selection (void);
21444 
21485 HC_INTERFACE int HC_CDECL HC_Compute_Intersect_Polyline (
21486  int pcount1,
21487  Point const points1[],
21488  int flist_length3,
21489  int const face_list1[],
21490  int pcount2,
21491  Point const points2[],
21492  int flist_length2,
21493  int const face_list2[],
21494  int *polyline_count,
21495  int polyline_lengths[],
21496  int *polyline_points_count,
21497  Point polyline_points[]);
21498 
21514 HC_INTERFACE int HC_CDECL HC_Show_Intersect_Polyline_Size (
21515  int pcount1,
21516  Point const points1[],
21517  int flist_length3,
21518  int const face_list1[],
21519  int pcount2,
21520  Point const points2[],
21521  int flist_length2,
21522  int const face_list2[],
21523  int *polyline_count,
21524  int *polyline_points_count);
21525 
21542 HC_INTERFACE int HC_CDECL HC_DCompute_Intersect_Polyline (
21543  int pcount1,
21544  DPoint const points1[],
21545  int flist_length3,
21546  int const face_list1[],
21547  int pcount2,
21548  DPoint const points2[],
21549  int flist_length2,
21550  int const face_list2[],
21551  int *polyline_count,
21552  int polyline_lengths[],
21553  int *polyline_points_count,
21554  DPoint polyline_points[]);
21555 HC_INTERFACE int HC_CDECL HC_DShow_Intersect_Polyline_Size (
21556  int pcount1,
21557  DPoint const points1[],
21558  int flist_length3,
21559  int const face_list1[],
21560  int pcount2,
21561  DPoint const points2[],
21562  int flist_length2,
21563  int const face_list2[],
21564  int *polyline_count,
21565  int *polyline_points_count);
21566 
21583 HC_INTERFACE bool HC_CDECL HC_Compute_Point_Inside_Shell (
21584  Point const *test_point,
21585  int point_count,
21586  Point const points[],
21587  int face_list_length,
21588  int const face_list[]);
21589 
21599 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_Inside_Shell (
21600  DPoint const *test_point,
21601  int point_count,
21602  DPoint const points[],
21603  int face_list_length,
21604  int const face_list[]);
21605 
21623 HC_INTERFACE bool HC_CDECL HC_Compute_Point_On_Shell (
21624  Point const *test_point,
21625  double tolerance,
21626  int point_count,
21627  Point const points[],
21628  int face_list_length,
21629  int const face_list[]);
21630 
21641 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_On_Shell (
21642  DPoint const *test_point,
21643  double tolerance,
21644  int point_count,
21645  DPoint const points[],
21646  int face_list_length,
21647  int const face_list[]);
21648 
21686 HC_INTERFACE void HC_CDECL HC_Compute_Points_Inside_Shell (
21687  int test_point_count,
21688  Point const test_points[],
21689  Vector const test_points_vectors[],
21690  int point_count,
21691  Point const points[],
21692  int face_list_length,
21693  int const face_list[],
21694  char const *options,
21695  int results[]);
21696 HC_INTERFACE void HC_CDECL HC_DCompute_Points_Inside_Shell (
21697  int test_point_count,
21698  DPoint const test_points[],
21699  DVector const test_points_vectors[],
21700  int point_count,
21701  DPoint const points[],
21702  int face_list_length,
21703  int const face_list[],
21704  char const *options,
21705  int results[]);
21706 
21729 HC_INTERFACE int HC_CDECL HC_Compute_Points_On_Shell (
21730  int test_point_count,
21731  Point const test_points[],
21732  double tolerance,
21733  int point_count,
21734  Point const points[],
21735  int face_list_length,
21736  int const face_list[],
21737  int results[]);
21738 
21751 HC_INTERFACE int HC_CDECL HC_DCompute_Points_On_Shell (
21752  int test_point_count,
21753  DPoint const test_points[],
21754  double tolerance,
21755  int point_count,
21756  DPoint const points[],
21757  int face_list_length,
21758  int const face_list[],
21759  int results[]);
21760 
21793 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_Sh (
21794  int test_point_count,
21795  Point const test_points[],
21796  double tolerance,
21797  int point_count,
21798  Point const points[],
21799  int face_list_length,
21800  int const face_list[],
21801  const char *options,
21802  float results[]); // HC_Compute_Points_Distance_From_Shell
21803 
21817 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_F_S (
21818  int test_point_count,
21819  DPoint const test_points[],
21820  double tolerance,
21821  int point_count,
21822  DPoint const points[],
21823  int face_list_length,
21824  int const face_list[],
21825  const char *options,
21826  double results[]); // HC_DCompute_Points_Distance_From_Shell
21827 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_S2 (
21828  int test_pcount,
21829  Point const test_pt[],
21830  double tolerance,
21831  int point_count1,
21832  Point const points1[],
21833  int face_list_length3,
21834  int const face_list1[],
21835  const char *options,
21836  float results[],
21837  int face_results[]); // HC_Compute_Points_Distance_From_Shell2
21838 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_FS2 (
21839  int test_pcount,
21840  DPoint const test_pt[],
21841  double tolerance,
21842  int point_count1,
21843  DPoint const points1[],
21844  int face_list_length3,
21845  int const face_list1[],
21846  const char *options,
21847  double results[],
21848  int face_results[]); // HC_DCompute_Points_Distance_From_Shell2
21849 
21878 HC_INTERFACE void HC_CDECL HC_Compute_Shell_Enclosure (
21879  int point_count1,
21880  Point const points1[],
21881  int face_list_length3,
21882  int const face_list1[],
21883  int point_count2,
21884  Point const points2[],
21885  int face_list_length2,
21886  int const face_list2[],
21887  char *result);
21888 
21900 HC_INTERFACE void HC_CDECL HC_DCompute_Shell_Enclosure (
21901  int point_count1,
21902  DPoint const points1[],
21903  int face_list_length3,
21904  int const face_list1[],
21905  int point_count2,
21906  DPoint const points2[],
21907  int face_list_length2,
21908  int const face_list2[],
21909  char *result);
21910 
21947 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Ray (
21948  char const *action,
21949  char const *start_seg,
21950  Point const *start_point,
21951  Vector const *direction);
21952 
21961 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Ray (
21962  char const *action,
21963  char const *start_seg,
21964  DPoint const *start_point,
21965  DVector const *direction);
21966 
21992 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid (char const *segment, char const *options, Point *min, Point *max);
21993 
22005 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Key (Key segKey, char const *options, Point *min, Point *max);
22006 
22021 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, Point *min, Point *max);
22022 
22049 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere (char const *segment, char const *options, Point *center, float *radius);
22050 
22060 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Key (Key segKey, char const *options, Point *center, float *radius);
22061 
22076 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Path (int count, Key const keys[], char const *options, Point *center, float *radius);
22077 
22086 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid (char const *segment, char const *options, DPoint *min, DPoint *max);
22087 
22097 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Key (Key segKey, char const *options, DPoint *min, DPoint *max);
22098 
22108 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, DPoint *min, DPoint *max);
22109 
22118 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere (char const *segment, char const *options, DPoint *center, double *radius);
22119 
22129 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Key (Key segKey, char const *options, DPoint *center, double *radius);
22130 
22141 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Path (int count, Key const keys[], char const *options, DPoint *center, double *radius);
22142 
22177 HC_INTERFACE void HC_CDECL HC_Set_Polygonal_Clip_Region (int count, Point const points[], char const * options);
22178 
22185 HC_INTERFACE void HC_CDECL HC_DSet_Polygonal_Clip_Region (int count, DPoint const points[], char const * options);
22186 
22224 HC_INTERFACE void HC_CDECL HC_Set_Complex_Clip_Region (int loops, int const lengths[], Point const points[], char const * options);
22225 
22233 HC_INTERFACE void HC_CDECL HC_DSet_Complex_Clip_Region (int loops, int const lengths[], DPoint const points[], char const * options);
22234 
22244 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region (
22245  int *loopCount, int loopSizeArray[], Point points[], char *options);
22246 
22254 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region (
22255  int *loopCount, int loopSizeArray[], DPoint points[], char *options);
22256 
22268 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region_Size (
22269  int *loopCount, int *totalPointCount, char *options);
22270 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region_Size (
22271  int *loopCount, int *totalPointCount, char *options);
22272 
22295 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region (
22296  int count, Key const keys[], int *loopCount, int loopSizeArray[], Point points[], char *spec);
22297 
22313 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region_Size (
22314  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
22315 
22326 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region (
22327  int count, Key const keys[], int *loopCount, int loopSizeArray[], DPoint points[], char *spec);
22328 
22338 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region_Size (
22339  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
22340 
22345 HC_INTERFACE void HC_CDECL HC_UnSet_Clip_Region (void);
22346 
22364 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD (char const *segment, char const *options);
22365 
22372 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD_By_Key (Key segKey, char const *options);
22373 
22420 HC_INTERFACE void HC_CDECL HC_Set_Text_Region (int pCount, Point const points[], char const *options);
22421 
22434 HC_INTERFACE void HC_CDECL HC_Show_Text_Region (int *count, Point points[], char *options);
22435 
22442 HC_INTERFACE void HC_CDECL HC_DSet_Text_Region (int pCount, DPoint const points[], char const *options);
22443 
22444 
22445 HC_INTERFACE void HC_CDECL HC_DShow_Text_Region (int *count, DPoint points[], char *options);
22446 
22452 HC_INTERFACE void HC_CDECL HC_Show_Text_Region_Count (int *count);
22453 
22458 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Region (void);
22459 
22497 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent (
22498  char const *segment, char const *options, float *left, float *right, float *bottom, float *top);
22499 
22511 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Pat (
22512  int count, Key const keys[], char const *options, float *left, float *right, float *bottom, float *top); // HC_Compute_Screen_Extent_By_Path
22513 
22524 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Key (
22525  Key segKey, char const *options, float *left, float *right, float *bottom, float *top);
22526 
22545 HC_INTERFACE void HC_CDECL HC_Set_Camera_Near_Limit (double wlimit);
22546 
22553 HC_INTERFACE bool HC_CDECL HC_Show_Camera_Near_Limit (float *limit);
22554 
22568 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Camera_Near_Limit (int count, Key const keys[], float *limit);
22569 
22576 HC_INTERFACE void HC_CDECL HC_UnSet_Camera_Near_Limit (void);
22577 
22587 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
22588 
22595 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option_Length (char const *which, int *length);
22596 
22606 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
22607 
22614 HC_INTERFACE void HC_CDECL HC_Show_One_Uni_Option_Length (unsigned short const *text, int *length); // HC_Show_One_Unicode_Option_Length
22615 
22635 HC_INTERFACE Key HC_CDECL HC_Show_Original_Key (Key key);
22636 
22656 HC_INTERFACE Key HC_CDECL HC_Show_Renumbered_Key (Key key, char *status);
22657 
22666 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Angle (Vector const *vector, Vector const *vector2);
22667 
22674 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Angle (DVector const *vector, DVector const *vector2);
22675 
22696 HC_INTERFACE void HC_CDECL HC_Set_Conditions (char const *list);
22697 
22702 HC_INTERFACE void HC_CDECL HC_UnSet_Conditions (void);
22703 
22709 HC_INTERFACE void HC_CDECL HC_UnSet_One_Condition (char const *condition);
22710 
22733 HC_INTERFACE void HC_CDECL HC_Set_Conditional_Action (char const * options, char const * condition);
22734 
22740 HC_INTERFACE void HC_CDECL HC_Show_Cond_Action_Types (char * action_types); // HC_Show_Conditional_Action_Types
22741 
22749 HC_INTERFACE void HC_CDECL HC_Show_One_Conditional_Action (char const * action_type, char * options, char * condition);
22750 
22755 HC_INTERFACE void HC_CDECL HC_UnSet_Conditional_Actions (void);
22756 
22762 HC_INTERFACE void HC_CDECL HC_UnSet_One_Conditional_Action (char const *which);
22763 
22776 HC_INTERFACE Key HC_CDECL HC_Conditional_Style (char const *style, char const *conditions);
22777 
22785 HC_INTERFACE Key HC_CDECL HC_Conditional_Style_By_Key (Key seg_key, char const *conditions);
22786 HC_INTERFACE bool HC_CDECL HC_Evaluate_Condition(const char * expression, const char * conditions);
22787 HC_INTERFACE Key HC_CDECL HC_Conditional_Include (char const *include, char const *condition);
22788 
22796 HC_INTERFACE Key HC_CDECL HC_Conditional_Include_By_Key (Key seg_key, char const *condition);
22797 
22803 HC_INTERFACE void HC_CDECL HC_Show_Conditions (char *list);
22804 
22816 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions (int count, Key const keys[], char *options);
22817 
22823 HC_INTERFACE void HC_CDECL HC_Show_Conditions_Length (int *length);
22824 
22836 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions_Length (int count, Key const keys[], int *length);
22837 
22844 HC_INTERFACE void HC_CDECL HC_Show_One_Condition (char const *condition, char *value);
22845 
22856 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Condition (int count, Key const keys[], char const * condition, char * options);
22857 
22865 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Include (Key key, char *pathname, char *conditions);
22866 
22874 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Style (Key key, char *pathname, char *conditions);
22875 
22885 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[]);
22886 HC_INTERFACE void HC_CDECL HC_Reverse_Contents_Search (void);
22887 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Colors_By_Value (Key key, char const *type, int offset, int count, RGB rgb[]);
22888 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
22889 
22898 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_Value (Key key, int offset, int count, RGB rgb[]);
22899 
22908 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_FIndex (Key key, int offset, int count, float findices[]);
22909 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22910 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameters (Key key, int offset, int pcount, int *number, float params[]);
22911 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameter_Size (Key key, int *number);
22912 
22929 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center (double x, double y, double z);
22930 
22944 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center_By_Key (Key key, double x, double y, double z);
22945 
22952 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center (double x, double y, double z);
22953 
22961 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center_By_Key (Key key, double x, double y, double z);
22962 
22980 HC_INTERFACE bool HC_CDECL HC_Show_Circular_Center (Key key, float * x, float * y, float * z);
22981 
22989 HC_INTERFACE bool HC_CDECL HC_DShow_Circular_Center (Key key, double * x, double * y, double * z);
22990 HC_INTERFACE void HC_CDECL HC_MShow_Net_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22991 
23005 HC_INTERFACE bool HC_CDECL HC_Show_Error (char * severity, int * category, int * severity_level);
23006 
23014 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Visibilities (Key key, int offset, int count, char const settings[]);
23015 
23022 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Visibilities (Key key, int offset, int count);
23023 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Visibilities (Key key, int offset, int count, char settings[]);
23024 
23053 HC_INTERFACE void HC_CDECL HC_MSet_Face_Visibilities (Key key, int offset, int count, char const settings[]);
23054 
23067 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Visibilities (Key key, int offset, int count);
23068 
23082 HC_INTERFACE void HC_CDECL HC_MShow_Face_Visibilities (Key key, int offset, int count, char settings[]);
23083 
23091 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
23092 
23099 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vertex_Vis (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Visibilities
23100 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vertex_Vis (Key key, int count, int const indices[], char settings[]); // HC_MShow_Specific_Vertex_Visibilities
23101 
23115 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
23116 
23124 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
23125 
23143 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
23144 
23158 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Colors (Key key, int offset, int count);
23159 
23167 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors (Key key, int offset, int count);
23168 
23189 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Section (int count, Plane const planes[]);
23190 
23197 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Section (int count, DPlane const planes[]);
23198 
23211 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section (Key key, int *count, Plane planes[]);
23212 
23224 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section_Count (Key key, int *count);
23225 
23232 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Section (Key key, int *count, DPlane planes[]);
23233 
23243 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, Plane const iplanes[]);
23244 
23245 
23254 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, DPlane const iplanes[]);
23255 
23271 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation(Point const points[], int flist_length, int const face_list[], int *tlist_length, int triangle_list[]);
23272 
23281 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation_Size(Point const points[], int flist_length, int const face_list[], int *tlist_length);
23282 
23299 HC_INTERFACE bool HC_CDECL HC_Compute_Polyline_From_Curve(Key key, char const *options, int *pcount, Point points[]);
23300 
23308 HC_INTERFACE bool HC_CDECL HC_DCompute_Polyline_From_Curve(Key key, char const *options, int *pcount, DPoint points[]);
23309 
23317 HC_INTERFACE void HC_CDECL HC_Compute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_Compute_Polyline_From_Curve_Size
23318 
23325 HC_INTERFACE void HC_CDECL HC_DCompute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_DCompute_Polyline_From_Curve_Size
23326 
23415 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree (char const * segname, char const * option_string);
23416 
23423 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree_By_Key (Key segkey, char const * option_string);
23424 
23446 HC_INTERFACE void HC_CDECL HC_Show_Optimized_Mapping (char const * segname, char const * direction,
23447  Key in_owner, Key in_key, int in_region,
23448  Key * out_owner, Key * out_key, int * out_region);
23449 
23465 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture(int count, Key const keys[],char const * name, char *output, Key * out_image);
23466 
23483 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Texture(int count, Key const keys[], char const * name, char const * opt, char *output);
23484 
23498 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shader(int count, Key const keys[],char const * name, char *output, char *shader_source);
23499 
23516 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shaders(int count, Key const keys[], char const * target, Key * out_vertex_shader_definition, Key * out_pixel_shader_definition);
23517 
23529 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Shader_Option(int count, Key const keys[], char const * name, char const * opt, char *output);
23530 
23543 HC_INTERFACE void HC_CDECL HC_Show_Priority_Range (Key key, int *low, int *high);
23544 
23554 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Points (Key key, int count, int const indices[]);
23555 
23565 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Faces (Key key, int count, int const indices[]);
23566 
23567 
23582 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_FIndex (
23583  Key key, char const *types, int count, int const offsets[], float const indices[]); // HC_MSet_Specific_Vertex_Colors_By_FIndex
23584 
23600 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_Value (
23601  Key key, char const *types, int count, int const offsets[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Vertex_Colors_By_Value
23602 
23616 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_FIndex (
23617  Key key, int count, int const indices[], float const findices[]); // HC_MSet_Specific_Face_Colors_By_FIndex
23618 
23633 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_Value (
23634  Key key, int count, int const indices[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Face_Colors_By_Value
23635 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_FInd (
23636  Key key, char const *type, int pcount, int const offsets[], float indices[]); // HC_MShow_Specific_Vertex_Colors_By_FIndex
23637 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_Value (
23638  Key key, char const *type, int count, int const offsets[], RGB rgb[]); // HC_MShow_Specific_Vertex_Colors_By_Value
23639 
23648 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_FInd (
23649  Key key, int count, int const indices[], float findices[]); // HC_MShow_Specific_Face_Colors_By_FIndex
23650 
23659 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_Value (
23660  Key key, int count, int const indices[], RGB rgb[]); // HC_MShow_Specific_Face_Colors_By_Value
23661 
23669 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vertex_Colors (Key key, int count, int const offsets[]); // HC_MUnSet_Specific_Vertex_Colors
23670 
23678 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Face_Colors (Key key, int count, int const faces[]); // HC_MUnSet_Specific_Face_Colors
23679 
23697 HC_INTERFACE int HC_CDECL HC_Gather_Capping_Geometry (int key_count, Key const path_keys[], Key cut_key, char const * options);
23698 
23736 HC_INTERFACE Key HC_CDECL HC_Generate_Shell_From_Geometry(Key geom, char const *options);
23737 
23773 HC_INTERFACE Key HC_CDECL HC_Generate_Edges(Key geom, char const *options);
23774 
23790 HC_INTERFACE Key HC_CDECL HC_Generate_Poly_From_Geometry(Key geom, char const *options); // HC_Generate_Polyline_From_Geometry
23791 
23792 
23803 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood_Si (
23804  Key shell_key,
23805  int face_index,
23806  int *count); // HC_Compute_Face_Neighborhood_Size
23807 
23822 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood (
23823  Key shell_key,
23824  int face_index,
23825  int *count,
23826  int neighbors[]);
23827 
23837 HC_INTERFACE void HC_CDECL HC_Show_Net_Normal (float *x, float *y, float *z);
23838 
23853 HC_INTERFACE void HC_CDECL HC_Rollback_Ink(int count);
23854 
23884 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry (char const *segname);
23885 
23892 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_By_Key (Key geom_key);
23893 
23907 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference (char const *segname, char const *condition);
23908 
23916 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference_By_Key (Key geom_key, char const *condition);
23917 
23924 HC_INTERFACE Key HC_CDECL HC_Show_Reference_Geometry (Key reference_key);
23925 
23933 HC_INTERFACE Key HC_CDECL HC_Show_Conditional_Reference (Key reference_key, char *conditions);
23934 HC_INTERFACE void HC_CDECL HC_Show_Reference_Geometry_Filt (Key key, char *filter); // HC_Show_Reference_Geometry_Filter
23935 
23951 HC_INTERFACE void HC_CDECL HC_Begin_Open_Item_Search (void);
23952 
23962 HC_INTERFACE bool HC_CDECL HC_Find_Open_Item (Key *key, char *type, int *offset1, int *offset2);
23963 
23969 HC_INTERFACE void HC_CDECL HC_Show_Open_Item_Count (int *count);
23970 
23975 HC_INTERFACE void HC_CDECL HC_End_Open_Item_Search (void);
23976 
23990 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Length (int count, Key const keys[], int *value);
23991 
23997 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Length (int *value);
23998 
24005 HC_INTERFACE void HC_CDECL HC_Move_Key_By_Key (Key key, Key newowner); // HC_Move_By_Key_By_Key
24006 
24022 HC_INTERFACE void HC_CDECL HC_Set_User_Data (intptr_t index, void const *data, long data_length);
24023 
24040 HC_INTERFACE long HC_CDECL HC_Show_One_User_Data (intptr_t index, void *data, long data_length);
24041 
24054 HC_INTERFACE long HC_CDECL HC_Show_User_Data_Indices (intptr_t data_indices[], long data_indices_count);
24055 
24061 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Data (intptr_t index);
24062 
24079 HC_INTERFACE long HC_CDECL HC_PShow_One_Net_User_Data (
24080  int count,
24081  Key const keys[],
24082  intptr_t index,
24083  void *data,
24084  long data_length);
24085 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
24086 
24094 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Normals (Key key, int offset, int count);
24095 
24103 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Normals (Key key, int offset, int count);
24104 
24113 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Parameters (Key key, int offset, int count);
24114 
24123 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Vertex_Normals (Key key, int count, int const indices[], Vector const normals[]);
24124 
24132 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vert_Normals (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Normals
24133 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vert_Normals (Key key, int count, int const indices[], Vector normals[]); // HC_MShow_Specific_Vertex_Normals
24134 
24143 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Face_Normals (Key key, int count, int const indices[], Vector const normals[]);
24144 
24152 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Face_Normals (Key key, int count, int const indices[]);
24153 
24162 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Face_Normals (Key key, int count, int const indices[], Vector normals[]);
24163 
24173 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
24174 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vertex_Parameters (Key key, int count, int const indices[], int * number_parameters, float user_parameters[]);
24175 
24183 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vert_Parameters (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Parameters
24184 
24193 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors2 (Key key, char const * type, int offset, int count);
24194 
24201 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
24202 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
24203 
24226 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
24227 
24240 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
24241 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
24242 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
24243 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
24244 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
24245 
24263 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
24264 
24279 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
24280 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
24281 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
24282 
24299 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
24300 
24315 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
24316 
24324 HC_INTERFACE Key HC_CDECL HC_Include_Segment_Key_By_Key (Key key, Key includer_key);
24325 
24334 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
24335 
24352 HC_INTERFACE void HC_CDECL HC_Define_Named_Style (char const * style_name, char const * source_segment);
24353 HC_INTERFACE void HC_CDECL HC_Define_Named_Style_By_Key (char const * style_name, Key style_segment_key);
24354 
24360 HC_INTERFACE void HC_CDECL HC_UnDefine_Named_Style (char const * style_name);
24361 
24368 HC_INTERFACE Key HC_CDECL HC_Show_Named_Style (char const * style_name, char *style_source);
24369 
24374 HC_INTERFACE void HC_CDECL HC_Begin_Named_Style_Search (void);
24375 
24382 HC_INTERFACE bool HC_CDECL HC_Find_Named_Style (char * style_name);
24383 
24389 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Count (int * count);
24390 
24395 HC_INTERFACE void HC_CDECL HC_End_Named_Style_Search (void);
24396 
24406 HC_INTERFACE Key HC_CDECL HC_PShow_Net_Named_Style (
24407  int count,
24408  Key const path_keys[],
24409  char const * style_name,
24410  char * style_segment_name);
24411 
24422 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment (char const * style_name);
24423 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style (char const * style_name, char const * condition);
24424 
24431 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Segment (Key style_key, char * style_name);
24432 
24440 HC_INTERFACE Key HC_CDECL HC_Open_Segment_Key_By_Key (Key parent_segment, char const *child_segment_name);
24441 
24449 HC_INTERFACE Key HC_CDECL HC_Style_Segment_Key_By_Key (Key target_segment, Key style_segment);
24450 
24458 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment_By_Key (Key target_segment, char const * style_name);
24459 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style_By_Key (Key target_segment, char const * style_name, char const * condition);
24460 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Named_Style (
24461  Key style_key,
24462  char * style_name,
24463  char * condition);
24464 
24472 HC_INTERFACE Key HC_CDECL HC_Create_Segment_Key_By_Key (Key parent_segment, char const * child_segment_name);
24473 
24478 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles();
24479 
24485 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles_By_K(Key target_segment); // HC_Set_Default_Line_Styles_By_Key
24486 
24491 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs();
24492 
24498 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs_By_Key(Key target_segment);
24499 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes();
24500 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes_By_Key(Key target_segment);
24501 
24509 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_Key_By_Ke (Key target_segment, Key reference_key); // HC_Reference_Geometry_Key_By_Key
24510 
24523 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style (
24524  int count,
24525  Key const keys[],
24526  char const * name,
24527  char * definition);
24528 
24541 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style_Size (
24542  int count,
24543  Key const keys[],
24544  char const * name,
24545  int * size);
24546 
24559 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph (
24560  int count,
24561  Key const keys[],
24562  char const * name,
24563  char * definition);
24564 
24577 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph_Size (
24578  int count,
24579  Key const keys[],
24580  char const * name,
24581  int * size);
24582 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape (
24583  int count,
24584  Key const keys[],
24585  char const * name,
24586  float * definition);
24587 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape_Size (
24588  int count,
24589  Key const keys[],
24590  char const * name,
24591  int * size);
24592 
24614 HC_INTERFACE void HC_CDECL HC_Generate_Error (
24615  int level,
24616  int category,
24617  int specific,
24618  char const * buf1,
24619  char const * buf2,
24620  char const * buf3);
24621 HC_INTERFACE void HC_CDECL HC_Commit_Proxy (
24622  Key key,
24623  const char * options);
24624 HC_INTERFACE Key HC_CDECL HC_Create_Proxy (
24625  Key key);
24626 HC_INTERFACE int HC_CDECL HC_Inspect_Proxies(Key out_keys[], int n_out_keys);
24627 
24670 HC_INTERFACE void HC_CDECL HC_Begin_Error_Handler_Search ();
24671 
24711 HC_INTERFACE void HC_CDECL HC_Begin_Exit_Handler_Search ();
24712 
24717 HC_INTERFACE void HC_CDECL HC_End_Error_Handler_Search ();
24718 
24723 HC_INTERFACE void HC_CDECL HC_End_Exit_Handler_Search ();
24724 
24731 HC_INTERFACE bool HC_CDECL HC_Find_Error_Handler (Void_Routine * handler);
24732 
24739 HC_INTERFACE bool HC_CDECL HC_Find_Exit_Handler (Void_Routine * handler);
24740 
24748 HC_INTERFACE void HC_CDECL HC_Show_Error_Handler_Count (int * count);
24749 
24755 HC_INTERFACE void HC_CDECL HC_Show_Exit_Handler_Count (int * count);
24756 
24773 HC_INTERFACE Key HC_CDECL HC_Compute_Subshell (
24774  Key source,
24775  int keep_fcount,
24776  const int keep_faces[],
24777  int keep_pcount,
24778  const int keep_pts1[],
24779  const int keep_pts2[],
24780  int face_map[],
24781  int pts_map[]);
24782 
24791 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Edge_Vis (
24792  Key key,
24793  int count,
24794  int const indices1[],
24795  int const indices2[],
24796  char const settings[]); // HC_MSet_Specific_Edge_Visibilities
24797 
24806 HC_INTERFACE void HC_CDECL HC_MShow_Face_Normals (
24807  Key key,
24808  int offset,
24809  int count,
24810  Vector normals[]);
24811 
24824 HC_INTERFACE void HC_CDECL HC_MShow_Net_Face_Normals (
24825  Key key,
24826  int offset,
24827  int count,
24828  Vector normals[]);
24829 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Edge_Vis (
24830  Key key,
24831  int count,
24832  int const indices1[],
24833  int const indices2[],
24834  char settings[]); // HC_MShow_Specific_Edge_Visibilities
24835 
24836 
24844 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Edge_Vis (
24845  Key key,
24846  int count,
24847  int const indices1[],
24848  int const indices2[]); // HC_MUnSet_Specific_Edge_Visibilities
24849 
24863 HC_INTERFACE void HC_CDECL HC_Show_Font_Info_By_Path (
24864  int count,
24865  Key const keys[],
24866  char const * font,
24867  char const * item,
24868  char * data);
24869 
24877 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys (
24878  Key key,
24879  int * count,
24880  Key keys[]);
24881 
24888 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys_Count (
24889  Key key,
24890  int * count);
24891 
24905 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern_Exp (
24906  int count,
24907  Key const keys[],
24908  char * pattern); // HC_PShow_Net_Line_Pattern_Explicit
24909 
24923 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern_Exp (
24924  int count,
24925  Key const keys[],
24926  char * pattern); // HC_PShow_Net_Edge_Pattern_Explicit
24927 HC_INTERFACE int HC_CDECL HC_Begin_Buffered_Selection (
24928  char const * start_name,
24929  double left,
24930  double right,
24931  double bottom,
24932  double top,
24933  char const * options);
24934 
24967 HC_INTERFACE int HC_CDECL HC_Collect_Area_Samples (
24968  double left,
24969  double right,
24970  double bottom,
24971  double top);
24972 
24989 HC_INTERFACE int HC_CDECL HC_Show_Sample_Max_Length ();
24990 
25018 HC_INTERFACE bool HC_CDECL HC_Find_Next_Sample (
25019  int * key_count,
25020  Key keys[],
25021  int * offset1,
25022  int * offset2,
25023  int * offset3);
25024 
25035 HC_INTERFACE void HC_CDECL HC_End_Buffered_Selection ();
25036 
25037 HC_INTERFACE void HC_CDECL HC_UnSet_Priority (Key key);
25038 
25102 HC_INTERFACE void HC_CDECL HC_Define_Highlight (
25103  int count,
25104  Key const keys[],
25105  char const * style,
25106  char const * options);
25107 
25127 HC_INTERFACE void HC_CDECL HC_Define_Geometry_Highlight (
25128  int count,
25129  Key const keys[],
25130  char const * style,
25131  char const * options,
25132  int elements_count,
25133  int const offset1[],
25134  int const offset2[],
25135  int const offset3[]);
25136 
25156 HC_INTERFACE int HC_CDECL HC_UnDefine_Highlight (
25157  int count,
25158  Key const keys[],
25159  char const * style,
25160  char const * options);
25161 
25173 HC_INTERFACE int HC_CDECL HC_UnDefine_Geometry_Highlight (
25174  int count,
25175  Key const keys[],
25176  char const * style,
25177  char const * options,
25178  int elements_count,
25179  int const offset1[],
25180  int const offset2[],
25181  int const offset3[]);
25182 
25211 HC_INTERFACE void HC_CDECL HC_Begin_Highlight_Search (
25212  int count,
25213  Key const keys[],
25214  char const * list);
25215 
25223 HC_INTERFACE bool HC_CDECL HC_Find_Highlight (
25224  int * count,
25225  Key keys[],
25226  char * options);
25227 
25233 HC_INTERFACE void HC_CDECL HC_Show_Highlight_Count (
25234  int * count,
25235  int * max_length);
25236 
25240 HC_INTERFACE void HC_CDECL HC_End_Highlight_Search (void);
25241 
25257 HC_INTERFACE void HC_CDECL HC_Determine_Highlight_Status(
25258  int count,
25259  Key const keys[],
25260  int results[],
25261  char const * list);
25262 
25274 HC_INTERFACE bool HC_CDECL HC_Check_Double_Precision(Key key, char const * options);
25275 
25276 
25286 HC_INTERFACE void HC_CDECL HC_DSet_Camera (
25287  DPoint const *position,
25288  DPoint const *target,
25289  DVector const *up,
25290  double width,
25291  double height,
25292  char const *projection);
25293 
25302 HC_INTERFACE void HC_CDECL HC_DSet_Camera_By_Volume (
25303  char const * proj,
25304  double xmin,
25305  double xmax,
25306  double ymin,
25307  double ymax);
25308 
25315 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Position (double x, double y, double z);
25316 
25324 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Target (double x, double y, double z);
25325 
25333 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Up_Vector (double x, double y, double z);
25334 
25341 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Field (double width, double height);
25342 
25354 HC_INTERFACE void HC_CDECL HC_DShow_Camera (
25355  DPoint * position,
25356  DPoint * target,
25357  DVector * up,
25358  double * width,
25359  double * height,
25360  char * projection);
25361 
25370 HC_INTERFACE void HC_CDECL HC_DShow_Camera_By_Volume (
25371  char * proj,
25372  double * xmin,
25373  double * xmax,
25374  double * ymin,
25375  double * ymax);
25376 
25383 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Position (double *x, double *y, double *z);
25384 
25391 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Target (double *x, double *y, double *z);
25392 
25399 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Up_Vector (double *x, double *y, double *z);
25400 
25406 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Field (double *width, double *height);
25407 
25413 HC_INTERFACE void HC_CDECL HC_DOrbit_Camera (double horiz, double vert);
25414 
25420 HC_INTERFACE void HC_CDECL HC_DPan_Camera (double horiz, double vert);
25421 
25426 HC_INTERFACE void HC_CDECL HC_DRoll_Camera (double angle);
25427 
25434 HC_INTERFACE void HC_CDECL HC_DDolly_Camera (double x, double y, double z);
25435 
25440 HC_INTERFACE void HC_CDECL HC_DZoom_Camera (double zoom);
25441 
25451 HC_INTERFACE Key HC_CDECL HC_DInsert_Text (double x, double y, double z, char const *text);
25452 
25460 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
25461 
25472 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
25473 
25483 HC_INTERFACE void HC_CDECL HC_DShow_Text (Key key, double *x, double *y, double *z, char *text);
25484 HC_INTERFACE void HC_CDECL HC_DShow_Text_Leader (Key key, double *x, double *y, double *z, char *options);
25485 
25496 HC_INTERFACE void HC_CDECL HC_DShow_Text_With_Encoding (Key key, double *x, double *y, double *z, char *encoding, void *text);
25497 
25498 HC_INTERFACE void HC_CDECL HC_DEdit_Text_Leader (Key key, double x, double y, double z, char const *options);
25499 
25511 HC_INTERFACE Key HC_CDECL HC_DInsert_Line (double xa, double ya, double za, double xb, double yb, double zb);
25512 
25523 HC_INTERFACE void HC_CDECL HC_DEdit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
25524 
25536 HC_INTERFACE void HC_CDECL HC_DShow_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
25537 
25546 HC_INTERFACE Key HC_CDECL HC_DInsert_Marker (double x, double y, double z);
25547 
25555 HC_INTERFACE void HC_CDECL HC_DEdit_Marker (Key key, double x, double y, double z);
25556 
25566 HC_INTERFACE void HC_CDECL HC_DShow_Marker (Key key, double *x, double *y, double *z);
25567 
25574 HC_INTERFACE Key HC_CDECL HC_DInsert_Polygon (int count, DPoint const points[]);
25575 
25585 HC_INTERFACE void HC_CDECL HC_DEdit_Polygon (Key key, int offset, int ndelete, int insert, DPoint const points[]);
25586 
25594 HC_INTERFACE void HC_CDECL HC_DShow_Polygon (Key key, int *count, DPoint points[]);
25595 
25603 HC_INTERFACE Key HC_CDECL HC_DInsert_Polyline (int count, DPoint const points[]);
25604 
25615 HC_INTERFACE void HC_CDECL HC_DEdit_Polyline (Key key, int offset, int ndelete, int insert, DPoint const points[]);
25616 
25623 HC_INTERFACE void HC_CDECL HC_DShow_Polyline (Key key, int * count, DPoint points[]);
25624 
25634 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell (
25635  int point_count,
25636  DPoint const points[],
25637  int face_list_length,
25638  int const face_list[]);
25639 
25649 HC_INTERFACE void HC_CDECL HC_DShow_Shell (
25650  Key key,
25651  int * point_countp,
25652  DPoint points[],
25653  int * face_list_lengthp,
25654  int face_list[]);
25655 
25656 
25667 HC_INTERFACE void HC_CDECL HC_DShow_Shell_By_Tristrips (
25668  Key key,
25669  int * point_countp,
25670  DPoint points[],
25671  int * tristrip_list_lengthp,
25672  int tristrip_list[],
25673  int * face_indices_lengthp,
25674  int face_indices[]);
25675 
25686 HC_INTERFACE void HC_CDECL HC_DEdit_Shell_Points (
25687  Key key,
25688  int ioffset,
25689  int ndelete,
25690  int insert,
25691  DPoint const points[]);
25692 
25700 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25701 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle_By_Radius (DPoint const *center, double radius, DVector const *normal);
25702 
25711 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Arc (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25712 
25721 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Chord (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25722 
25731 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Wedge (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25732 
25740 HC_INTERFACE void HC_CDECL HC_DEdit_Circle (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25741 
25749 HC_INTERFACE void HC_CDECL HC_DEdit_Circle_By_Radius (Key key, DPoint const *center, double radius, DVector const *vector);
25750 
25758 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Arc (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25759 
25767 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Chord (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25768 
25776 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Wedge (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25777 
25786 HC_INTERFACE void HC_CDECL HC_DShow_Circle (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25787 
25795 HC_INTERFACE void HC_CDECL HC_DShow_Circle_By_Radius (Key key, DPoint *center, double *radius, DVector *normal);
25796 
25805 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Arc (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25806 
25814 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Chord (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25815 
25824 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Wedge (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25825 
25834 HC_INTERFACE Key HC_CDECL HC_DInsert_Ellipse (DPoint const *center, DPoint const *major, DPoint const *minor);
25835 
25846 HC_INTERFACE Key HC_CDECL HC_DInsert_Elliptical_Arc (
25847  DPoint const *center,
25848  DPoint const *major,
25849  DPoint const *minor,
25850  double start,
25851  double end);
25852 
25860 HC_INTERFACE void HC_CDECL HC_DEdit_Ellipse (Key key, DPoint const *center, DPoint const *major, DPoint const *minor);
25861 
25871 HC_INTERFACE void HC_CDECL HC_DEdit_Elliptical_Arc (
25872  Key key,
25873  DPoint const *center,
25874  DPoint const *major,
25875  DPoint const *minor,
25876  double start,
25877  double end);
25878 
25886 HC_INTERFACE void HC_CDECL HC_DShow_Ellipse (Key key, DPoint *center, DPoint *major, DPoint *minor);
25887 
25899 HC_INTERFACE void HC_CDECL HC_DShow_Elliptical_Arc (Key key,
25900  DPoint *center,
25901  DPoint *major,
25902  DPoint *minor,
25903  float *start,
25904  float *end);
25905 
25917 HC_INTERFACE Key HC_CDECL HC_DInsert_Grid (
25918  char const *type,
25919  DPoint const *origin,
25920  DPoint const *ref1,
25921  DPoint const *ref2,
25922  int count1,
25923  int count2);
25924 
25925 
25937 HC_INTERFACE void HC_CDECL HC_DShow_Grid (
25938  Key key,
25939  char *type,
25940  DPoint *origin,
25941  DPoint *ref1,
25942  DPoint *ref2,
25943  int *count1,
25944  int *count2);
25945 
25956 HC_INTERFACE void HC_CDECL HC_DEdit_Grid (
25957  Key key,
25958  char const *type,
25959  DPoint const *origin,
25960  DPoint const *ref1,
25961  DPoint const *ref2,
25962  int count1,
25963  int count2);
25964 
25973 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh (int rows, int columns, DPoint const points[]);
25974 
25983 HC_INTERFACE void HC_CDECL HC_DShow_Mesh (Key key, int *rows, int *columns, DPoint points[]);
25984 
25994 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[]);
25995 
26007 HC_INTERFACE Key HC_CDECL HC_DInsert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
26008 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);
26009 
26022 HC_INTERFACE void HC_CDECL HC_DShow_Image (Key key, double *x, double *y, double *z, char *format, int *width, int *height, void *data);
26023 
26035 HC_INTERFACE void HC_CDECL HC_DShow_Image_Size (Key key, double *x, double *y, double *z, char *format, int *width, int *height);
26036 
26049 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);
26050 
26058 HC_INTERFACE void HC_CDECL HC_DMove_Image (Key key, double x, double y, double z);
26059 
26068 HC_INTERFACE Key HC_CDECL HC_DInsert_Ink (double x, double y, double z);
26069 
26079 HC_INTERFACE Key HC_CDECL HC_DInsert_PolyCylinder (int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping);
26080 
26090 HC_INTERFACE void HC_CDECL HC_DShow_PolyCylinder (Key key, int *p_count, DPoint pts[], int *r_count, double radii[], char *capping);
26091 
26101 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);
26102 
26113 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[]);
26114 
26124 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Plane (double a, double b, double c, double d);
26125 
26134 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Plane (Key key, double *a, double *b, double *c, double *d);
26135 
26144 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Plane (Key key, double a, double b, double c, double d);
26145 
26155 HC_INTERFACE Key HC_CDECL HC_DInsert_Cylinder (DPoint const *center_point_1, DPoint const *center_point_2, double radius, char const *cap);
26156 
26166 HC_INTERFACE void HC_CDECL HC_DShow_Cylinder (Key key, DPoint *p1, DPoint *p2, double *radius, char *cap);
26167 
26176 HC_INTERFACE void HC_CDECL HC_DEdit_Cylinder (Key key, DPoint const *p1, DPoint const *p2, double radius, char const *cap);
26177 
26186 HC_INTERFACE Key HC_CDECL HC_DInsert_Sphere (DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
26187 
26196 HC_INTERFACE void HC_CDECL HC_DShow_Sphere (Key key, DPoint *center, double *radius, DVector *axis, DVector *ortho);
26197 
26206 HC_INTERFACE void HC_CDECL HC_DEdit_Sphere (Key key, DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
26207 
26208 
26209 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Curve (
26210  int degree,
26211  int cpcount,
26212  DPoint const control_points[],
26213  float const weights[],
26214  float const knots[],
26215  double start_u,
26216  double end_u);
26217 
26231 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Curve (
26232  Key key,
26233  int *degree,
26234  int *cp_count,
26235  DPoint points[],
26236  float weights[],
26237  float knots[],
26238  float *start_u,
26239  float *end_u);
26240 
26253 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Curve (
26254  Key key,
26255  int cp_offset,
26256  int knot_offset,
26257  int cp_count,
26258  int knot_count,
26259  DPoint const control_points[],
26260  float const weights[],
26261  float const knots[]);
26262 
26276 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Surface (
26277  int u_degree,
26278  int v_degree,
26279  int u_count,
26280  int v_count,
26281  DPoint const points[],
26282  float const weights[],
26283  float const u_knots[],
26284  float const v_knots[]);
26285 
26286 
26301 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Surface (
26302  Key key,
26303  int *u_degree,
26304  int *v_degree,
26305  int *u_count,
26306  int *v_count,
26307  DPoint points[],
26308  float weights[],
26309  float u_knots[],
26310  float v_knots[]);
26311 
26330 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface (
26331  Key key,
26332  int cp_offset,
26333  int weights_offset,
26334  int u_knot_offset,
26335  int v_knot_offset,
26336  int cp_replace_count,
26337  int weights_replace_count,
26338  int u_knot_replace_count,
26339  int v_knot_replace_count,
26340  DPoint const points[],
26341  float const weights[],
26342  float const u_knots[],
26343  float const v_knots[]);
26344 
26354 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface_Points (
26355  Key key,
26356  int cp_offset,
26357  int cp_replace_count,
26358  DPoint const points[]);
26359 
26368 HC_INTERFACE Key HC_CDECL HC_DInsert_Local_Light (double x, double y, double z);
26369 
26378 HC_INTERFACE void HC_CDECL HC_DShow_Local_Light (Key key, double *x, double *y, double *z);
26379 
26388 HC_INTERFACE Key HC_CDECL HC_DInsert_Spot_Light (DPoint const *position, DPoint const *target, char const *list);
26389 
26398 HC_INTERFACE void HC_CDECL HC_DShow_Spot_Light (Key key, DPoint *position, DPoint *target, char *list);
26399 
26408 HC_INTERFACE Key HC_CDECL HC_DInsert_Area_Light (int count, DPoint const points[], char const *listptr);
26409 
26417 HC_INTERFACE void HC_CDECL HC_DShow_Area_Light (Key key, int *ucount, DPoint upoints[], char *listptr);
26418 
26429 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates (
26430  char const *segment,
26431  char const *in_system,
26432  DPoint const *in_position,
26433  char const *out_system,
26434  DPoint *out_position);
26435 
26447 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates_By_Path (
26448  int count,
26449  Key const keys[],
26450  char const *in_system,
26451  DPoint const *in_position,
26452  char const *out_system,
26453  DPoint *out_position);
26454 
26463 HC_INTERFACE void HC_CDECL HC_DCompute_Transformed_Points (int count, DPoint const points[], double const matrix[], DPoint out_points[]);
26464 
26465 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell2 (
26466  int in_pt_count_target,
26467  Point const in_pts_target[],
26468  Vector const in_normals_target[],
26469  int in_flist_len_target,
26470  int const in_flist_target[],
26471 
26472  int in_pt_count_tool,
26473  Point const in_pts_tool[],
26474  Vector const in_normals_tool[],
26475  int in_flist_len_tool,
26476  int const in_flist_tool[],
26477 
26478  char const * option_string,
26479  RGB const * in_color1,
26480  RGB const * in_color2,
26481  unsigned char const in_vis1[],
26482  unsigned char const in_vis2[]);
26483 
26505 HC_INTERFACE Key HC_CDECL HC_DCompute_Boolean_Shell (
26506  int in_pt_count_target,
26507  DPoint const in_pts_target[],
26508  Vector const in_normals_target[],
26509  int in_flist_len_target,
26510  int const in_flist_target[],
26511 
26512  int in_pt_count_tool,
26513  DPoint const in_pts_tool[],
26514  Vector const in_normals_tool[],
26515  int in_flist_len_tool,
26516  int const in_flist_tool[],
26517 
26518  char const * option_string,
26519  RGB const * in_color1,
26520  RGB const * in_color2,
26521  unsigned char const in_vis1[],
26522  unsigned char const in_vis2[]);
26523 
26524 
26542 HC_INTERFACE void HC_CDECL HC_DCompute_Optimized_Shell (
26543  int pcount,
26544  DPoint const points[],
26545  Vector const normals[],
26546  int flist_length,
26547  int const face_list[],
26548  char const * options,
26549  int * new_pcount,
26550  DPoint new_points[],
26551  int * new_flist_length,
26552  int new_face_list[],
26553  int point_mapping_list[],
26554  int face_mapping_list[]);
26555 
26556 HC_INTERFACE intptr_t HC_CDECL HC_Memory_Usage_By_Key (
26557  Key key,
26558  char const * which);
26559 
26560 HC_INTERFACE void HC_CDECL HC_Apply_Attribute_Filter (
26561  Key key,
26562  char const * filter);
26563 
26564 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter (
26565  Key key,
26566  char * filter);
26567 
26568 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter_Length (
26569  Key key,
26570  int * filter_length);
26571 
26572 HC_INTERFACE void HC_CDECL HC_Begin_Decimate_Shell (Key key);
26573 HC_INTERFACE void HC_CDECL HC_End_Decimate_Shell (void);
26574 HC_INTERFACE Key HC_CDECL HC_Decimate_Shell (int quality_percent, char const * options);
26575 
26576 #if __APPLE__
26577 #pragma clang diagnostic pop
26578 #endif
26579 
26580 #endif // HPS_CORE_BUILD
26581 
26582 #define HC_PROTO_DEFINED 1
26583 #endif /* HC_PROTO_DEFINED */
26584 
26585 
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().
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.
bool HC_Show_Shader_Outputs(Key shader_key, int *size, char *outputs)
Returns the shader output specification if present. Only valid for modern custom shaders.
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_UnSet_Shader_Uniforms(Key shader_key)
Removes the uniform specification from the shader. Only valid for modern custom shaders.
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)
void HC_Show_Shader_Definition_By_Key(Key shader_key, char *stage, char *shader_source)
Returns the shader stage and its source code. Only valid for modern custom shaders.
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.
bool HC_Show_Shader_Inputs_Size(Key shader_key, int *size)
Returns the size of the shader input specification in bytes. Only valid for modern custom shaders...
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 ...
bool HC_Show_Shader_Sampler_Def_Size(Key sampler_key, int *size)
Returns the size of the shader sampler definition in bytes.
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_Set_Shader_Uniforms(Key shader_key, char const *uniforms)
Sets uniforms required by the shader at runtime. Only valid for modern custom shaders.
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_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_Definition(), but returns the net effective value along a discrete segment pat...
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_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.
bool HC_Show_Shader_Outputs_Size(Key shader_key, int *size)
Returns the size of the shader output specification in bytes. Only valid for modern custom shaders...
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 ...
Key HC_Define_Shader(char const *name, char const *options, char const *shader_source)
Defines a section of code that will be injected into HOOPS 3DF shaders.
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_Set_Shader_Inputs(Key shader_key, char const *inputs)
Sets the inputs required by the shader at runtime. Only valid for modern custom shaders.
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.
bool HC_Set_Shader_Uniforms_Data(char const *target, Key shader_key, int data_size, void const *data)
Sets uniforms data used by the shader at runtime. Only valid for modern custom shaders.
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.
Key HC_Define_Shader_Sampler(char const *name, char const *options)
Defines a texture sampler to be used by a modern custom shader.
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[])
bool HC_Show_Shader_Inputs(Key shader_key, int *size, char *inputs)
Returns the shader input specification if present. Only valid for modern custom shaders.
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_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.
void HC_Show_Shader_Definition(char const *name, char *definition, char *shader_source)
Returns the options and source associated with the shader whose name was passed.
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().
bool HC_Show_Shader_Textures_Count(Key shader_key, int *count)
Returns the number of textures and samplers associated with the shader. Only valid for modern custom ...
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.
bool HC_Show_Shader_Uniforms_Size(Key shader_key, int *size)
Returns the size of the shader uniform specification in bytes. Only valid for modern custom shaders...
void HC_Show_Modelling_Matrix(float matrix[])
Returns the modelling matrix that has been set on the currently open segment.
bool HC_Show_Shader_Textures(Key shader_key, int *count, Key *texture_keys, Key *sampler_keys)
Returns the textures and samplers associated with the shader if present. Only valid for modern custom...
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_Set_Shader_Outputs(Key shader_key, char const *outputs)
Sets the output required by the shader at runtime. Only valid for modern custom shaders.
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().
void HC_UnSet_Shader_Inputs(Key shader_key)
Removes the input specification from the shader. Only valid for modern custom shaders.
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_UnSet_Shader_Textures(Key shader_key)
Removes the textures and samplers from the shader. Only valid for modern custom shaders.
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.
bool HC_Show_Shader_Texture_Def(Key texture_key, int *name_size, char *name, int *width, int *height, int *depth, int *array_size, int *mipmap_levels, int *format_size, char *format, int *options_size, char *options, int *data_slice_size, void **data)
Returns the data associated with the shader texture definition.
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...
bool HC_Show_Shader_Sampler_Def(Key sampler_key, int *size, char *definition)
Returns the shader sampler definition.
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.
bool HC_Show_Shader_Texture_Def_Size(Key texture_key, int *name_size, int *width, int *height, int *depth, int *array_size, int *format_size, int *options_size, int *data_slice_size)
Returns the size information for the shader texture definition.
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_Set_Shader_Textures(Key shader_key, int count, Key const *texture_keys, Key const *sampler_keys)
Sets the textures and sanplers required by the shader at runtime. Only valid for modern custom shader...
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.
bool HC_Show_Shader(const char *target, Key *vertex, Key *pixel)
Returns the shader setting for the currently open segment.
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)
Key HC_Define_Shader_Texture(char const *name, int width, int height, int depth, int array_size, int mipmap_levels, char const *format, char const *options, void const **data)
Defines a texture to be used by a modern custom shader.
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)
void HC_Begin_Shader_Search(char const *search)
These routines recall the name of each shader.
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.
bool HC_Find_Shader(char *sname, Key *skey)
Retrieves the shader names, one at a time. The function returns false when all shaders have been retu...
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_UnSet_Shader(char const *target)
Removes the settings established by a previous call to Set_Shader() for the provided graphic primitiv...
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[])
bool HC_PShow_Net_Shaders(int count, Key const keys[], char const *target, Key *out_vertex_shader_definition, Key *out_pixel_shader_definition)
Similar to Show_Shader(), but returns the net effective value along a discrete segment path...
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_Show_Shader_Definition_Source_Size(Key shader_key, int *size)
Returns the size of the shader source in bytes. Only valid for modern custom shaders.
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...
bool HC_Show_Shader_Uniforms(Key shader_key, int *size, char *uniforms)
Returns the shader uniforms specification if present. Only valid for modern custom shaders...
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_Set_Shader(char const *target, Key vertex_shader, Key pixel_shader)
Allows you to have the current segment drawn using a custom vertex and/or pixel shader.
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_UnSet_Shader_Outputs(Key shader_key)
Removes the output specification from the shader. Only valid for modern custom shaders.
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.