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 
217 HC_INTERFACE void HC_CDECL HC_Begin_Callback_Name_Search (void);
218 
270 HC_INTERFACE void HC_CDECL HC_Begin_Color_Name_Search (void);
271 
370 HC_INTERFACE void HC_CDECL HC_Begin_Contents_Search (char const *segment, char const *filter);
371 
418 HC_INTERFACE void HC_CDECL HC_Begin_Font_Search (char const *display, char const *filter);
419 
451 HC_INTERFACE void HC_CDECL HC_Begin_Glyph_Search (void);
452 
484 HC_INTERFACE void HC_CDECL HC_Begin_Line_Style_Search (void);
485 
506 HC_INTERFACE void HC_CDECL HC_Begin_Open_Segment_Search (void);
507 
566 HC_INTERFACE void HC_CDECL HC_Begin_Segment_Search (char const *segspec);
567 
593 HC_INTERFACE void HC_CDECL HC_Begin_Shader_Search (char const *search);
594 HC_INTERFACE void HC_CDECL HC_Begin_Shape_Search (void);
595 
625 HC_INTERFACE void HC_CDECL HC_Begin_Texture_Search (void);
626 
655 HC_INTERFACE void HC_CDECL HC_Begin_Local_Texture_Search (void);
656 
707 HC_INTERFACE void HC_CDECL HC_Bring_To_Front (char const *segment);
708 
715 HC_INTERFACE void HC_CDECL HC_Bring_To_Front_By_Key (Key key);
716 
721 HC_INTERFACE void HC_CDECL HC_Close_Edge (void);
722 
727 HC_INTERFACE void HC_CDECL HC_Close_Face (void);
728 
733 HC_INTERFACE void HC_CDECL HC_Close_Geometry (void);
734 
739 HC_INTERFACE void HC_CDECL HC_Close_LOD (void);
740 
745 HC_INTERFACE void HC_CDECL HC_Close_Region (void);
746 
753 HC_INTERFACE void HC_CDECL HC_Close_Segment (void);
754 
759 HC_INTERFACE void HC_CDECL HC_Close_Vertex (void);
760 
827 HC_INTERFACE bool HC_CDECL HC_Compile_Shader(int key_count, Key const path_keys[], char const * options);
828 
851 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid (char const *segment, Point *min, Point *max);
852 
861 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid_By_Key (Key key, Point *min, Point *max);
862 
873 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere (char const *segment, Point *center, float *radius);
874 
883 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere_By_Key (Key key, Point *center, float *radius);
884 
892 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid (char const *segment, DPoint *min, DPoint *max);
893 
903 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid_By_Key (Key key, DPoint *min, DPoint *max);
904 
912 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere (char const *segment, DPoint *center, double *radius);
913 
922 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere_By_Key (Key key, DPoint *center, double *radius);
923 
941 HC_INTERFACE bool HC_CDECL HC_Compute_Color (char const *name, char const *out_type, RGB *out_value);
942 
952 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);
953 
978 HC_INTERFACE void HC_CDECL HC_Compute_Convex_Hull (int pcount, Point const points[], int *fcount, int face_list[]);
979 
1051 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates (char const *segment,
1052  char const *in_system,
1053  Point const *in_position,
1054  char const *out_system,
1055  Point *out_position);
1056 
1068 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates_By_Path (int count,
1069  Key const keys[],
1070  char const *in_system,
1071  Point const *in_position,
1072  char const *out_system,
1073  Point *out_position);
1074 
1102 HC_INTERFACE void HC_CDECL HC_Compute_Cross_Product (Vector const *vector1, Vector const *vector2, Vector *out_vector);
1103 
1110 HC_INTERFACE void HC_CDECL HC_DCompute_Cross_Product (DVector const *vector1, DVector const *vector2, DVector *out_vector);
1111 
1119 HC_INTERFACE double HC_CDECL HC_Compute_Dot_Product (Vector const *vector1, Vector const *vector2);
1120 
1127 HC_INTERFACE double HC_CDECL HC_DCompute_Dot_Product (DVector const *vector1, DVector const *vector2);
1128 
1137 HC_INTERFACE void HC_CDECL HC_Compute_Identity_Matrix (float out_matrix[]);
1138 
1144 HC_INTERFACE void HC_CDECL HC_DCompute_Identity_Matrix (double out_matrix[]);
1145 
1154 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Adjoint (float const matrix[], float out_matrix[]);
1155 
1161 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Adjoint (double const matrix[], double out_matrix[]);
1162 
1172 HC_INTERFACE double HC_CDECL HC_Compute_Matrix_Determinant (float const matrix[]);
1173 
1179 HC_INTERFACE double HC_CDECL HC_DCompute_Matrix_Determinant (double const matrix[]);
1180 
1195 HC_INTERFACE bool HC_CDECL HC_Compute_Matrix_Inverse (float const matrix[], float out_matrix[]);
1196 
1203 HC_INTERFACE bool HC_CDECL HC_DCompute_Matrix_Inverse (double const matrix[], double out_matrix[]);
1204 
1231 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Product (float const matrix1[], float const matrix2[], float out_matrix[]);
1232 
1239 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Product (double const matrix1[], double const matrix2[], double out_matrix[]);
1240 HC_INTERFACE void HC_CDECL HC_Compute_Minimized_Shell (int in_point_count,
1241  Point const in_points[],
1242  int in_face_list_length,
1243  int const in_face_list[],
1244  char const *option_string,
1245  int *out_point_count,
1246  Point out_points[],
1247  int *out_face_list_length,
1248  int out_face_list[],
1249  int vertex_mapping[],
1250  int face_mapping[]);
1251 
1266 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Matrix (float const matrix[], float out_matrix[]);
1267 
1274 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Matrix (double const matrix[], double out_matrix[]);
1275 
1285 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Vector (Vector const *vector, Vector *out_vector);
1286 
1293 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Vector (DVector const *vector, DVector *out_vector);
1294 
1306 HC_INTERFACE void HC_CDECL HC_Compute_Offaxis_Rotation (double x, double y, double z, double theta, float out_matrix[]);
1307 
1316 HC_INTERFACE void HC_CDECL HC_DCompute_Offaxis_Rotation (double x, double y, double z, double theta, double out_matrix[]);
1317 
1332 HC_INTERFACE void HC_CDECL HC_Compute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1333  float out_matrix[]);
1334 
1345 HC_INTERFACE void HC_CDECL HC_DCompute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1346  double out_matrix[]);
1347 
1521 HC_INTERFACE void HC_CDECL HC_Compute_Optimized_Shell (int pcount,
1522  Point const points[],
1523  Vector const normals[],
1524  int flist_length,
1525  int const face_list[],
1526  char const * options,
1527  int * new_pcount,
1528  Point new_points[],
1529  int * new_flist_length,
1530  int new_face_list[],
1531  int point_mapping_list[],
1532  int face_mapping_list[]);
1533 
1554 HC_INTERFACE Key HC_CDECL HC_Compute_Capping_Shell (
1555  int shell_count,
1556  Key const shell_list[],
1557  float const plane[]);
1558 
1639 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell (
1640  int target_pcount,
1641  Point const target_points[],
1642  Vector const target_normals[],
1643  int target_flist_length,
1644  int const target_face_list[],
1645  int tool_pcount,
1646  Point const tool_points[],
1647  Vector const tool_normals[],
1648  int tool_flist_length,
1649  int const tool_face_list[],
1650  char const * options);
1651 
1664 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Normal (int count, Point const points[], char const *hand, Vector *out_vector);
1665 
1674 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Normal (int count, DPoint const points[], char const *hand, DVector *out_vector);
1675 
1692 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Plane (int count, Point const points[], char const *hand, Plane *out_plane);
1693 
1702 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Plane (int count, DPoint const points[], char const *hand, DPlane *out_plane);
1703 
1715 HC_INTERFACE void HC_CDECL HC_Compute_Rotation_Matrix (double alpha, double beta, double theta, float out_matrix[]);
1716 
1724 HC_INTERFACE void HC_CDECL HC_DCompute_Rotation_Matrix (double alpha, double beta, double theta, double out_matrix[]);
1725 
1737 HC_INTERFACE void HC_CDECL HC_Compute_Scale_Matrix (double x, double y, double z, float out_matrix[]);
1738 
1746 HC_INTERFACE void HC_CDECL HC_DCompute_Scale_Matrix (double x, double y, double z, double out_matrix[]);
1747 
1829 HC_INTERFACE int HC_CDECL HC_Compute_Selection (char const *display,
1830  char const *start_seg,
1831  char const *action,
1832  double x,
1833  double y);
1834 
1850 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Area (char const *display,
1851  char const *start_seg,
1852  char const *action,
1853  double left,
1854  double right,
1855  double bottom,
1856  double top);
1857 
1870 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polygon (char const *display,
1871  char const *start_seg,
1872  char const *action,
1873  int pcount,
1874  Point const points[]);
1875 
1888 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polylin (char const *display,
1889  char const *start_seg,
1890  char const *action,
1891  int pcount,
1892  Point const points[]); // HC_Compute_Selection_By_Polyline
1893 
1910 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Volume (char const *display,
1911  char const *start_seg,
1912  char const *action,
1913  double left,
1914  double right,
1915  double bottom,
1916  double top,
1917  double hither,
1918  double yon);
1919 
1928 HC_INTERFACE void HC_CDECL HC_Compute_Text16_From_Text (char const *intext, char const *encoding, int *outcount, unsigned short outtext16[]);
1929 
1983 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent (char const *segment, char const *text, float *xsize, float *ysize);
1984 
1992 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Key (Key key, float *xfrac, float *yfrac);
1993 
2003 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Path (int count, Key const keys[], char const *text, float *xfrac, float *yfrac);
2004 
2015 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_Enc_Path (int count,
2016  Key const keys[],
2017  char const *encoding,
2018  void const *text,
2019  float *xfrac,
2020  float *yfrac);
2021 
2031 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_With_Enc (char const *segment,
2032  char const *encoding,
2033  void const *text,
2034  float *xfrac,
2035  float *yfrac); // HC_Compute_Text_Extent_With_Encoding
2036 
2037 
2038 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics (
2039  int count,
2040  Key const * keys,
2041  char const * encoding,
2042  void const * text,
2043  char const * options,
2044  int * size,
2045  float values[]);
2046 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics_Size (
2047  int count,
2048  Key const * keys,
2049  char const * encoding,
2050  void const * text,
2051  char const * options,
2052  int * size);
2053 
2072 HC_INTERFACE void HC_CDECL HC_Compute_Text_From_Text16 (int incount, unsigned short const intext16[], char const *encoding, char *outtext);
2073 
2102 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline (char const *segment,
2103  char const *text,
2104  int *pcount,
2105  Point points[],
2106  int *flist_length,
2107  int face_list[]);
2108 
2118 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Key (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
2119 
2128 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size (char const *segment, char const *text, int *pcount, int *flist_length);
2129 
2137 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
2138 
2148 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Wi (
2149  char const * segment,
2150  char const * encoding,
2151  void const * etext,
2152  int * pcount,
2153  int * flist_length); // HC_Compute_Text_Outline_Size_With_Encoding
2154 
2166 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_With_En (char const *segment,
2167  char const * encoding,
2168  void const * etext,
2169  int * pcount,
2170  Point points[],
2171  int * flist_length,
2172  int face_list[]); // HC_Compute_Text_Outline_With_Encoding
2173 
2185 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Path (
2186  int count,
2187  Key const keys[],
2188  char const * text,
2189  int * pcount,
2190  Point points[],
2191  int * flist_length,
2192  int face_list[]);
2193 
2203 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Pa (
2204  int count,
2205  Key const keys[],
2206  char const * text,
2207  int * pcount,
2208  int * flist_length); // HC_Compute_Text_Outline_Size_By_Path
2209 
2274 HC_INTERFACE bool HC_CDECL HC_Compute_Transform (char const *segment,
2275  char const *in_system,
2276  char const *out_system,
2277  float matrix[]);
2278 
2287 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform (char const *segment,
2288  char const *in_system,
2289  char const *out_system,
2290  double matrix[]);
2291 
2302 HC_INTERFACE bool HC_CDECL HC_Compute_Transform_By_Path (int count,
2303  Key const keys[],
2304  char const *in_system,
2305  char const *out_system,
2306  float matrix[]);
2307 
2318 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform_By_Path (int count,
2319  Key const keys[],
2320  char const *in_system,
2321  char const *out_system,
2322  double matrix[]);
2323 
2340 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Plane (Plane const *plane, float const matrix[], Plane *out_plane);
2341 
2349 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Plane (DPlane const *plane, double const matrix[], DPlane *out_plane);
2350 
2360 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Planes (int count, Plane const planes[], float const matrix[], Plane out_planes[]);
2361 
2371 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Planes (int count, DPlane const planes[], double const matrix[], DPlane out_planes[]);
2372 
2381 HC_INTERFACE void HC_CDECL HC_Compute_Transformed_Points (int count, Point const points[], float const matrix[], Point out_points[]);
2382 
2390 HC_INTERFACE void HC_CDECL HC_Compute_Translation_Matrix (double x, double y, double z, float out_matrix[]);
2391 
2399 HC_INTERFACE void HC_CDECL HC_DCompute_Translation_Matrix (double x, double y, double z, double out_matrix[]);
2400 
2406 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Length (Vector const *vector);
2407 
2413 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Length (DVector const *vector);
2414 
2557 HC_INTERFACE void HC_CDECL HC_Control_Update (char const *segment, char const *options);
2558 
2569 HC_INTERFACE void HC_CDECL HC_Control_Update_Area (char const *segment, double left, double right, double bottom, double top, char const *options);
2570 
2581 HC_INTERFACE void HC_CDECL HC_Control_Update_Area_By_Key (Key key, double left, double right, double bottom, double top, char const *options);
2582 
2589 HC_INTERFACE void HC_CDECL HC_Control_Update_By_Key (Key key, char const *options);
2590 
2623 HC_INTERFACE bool HC_CDECL HC_Convert_Precision(Key key, char const * options);
2624 
2646 HC_INTERFACE void HC_CDECL HC_Define_Alias (char const *name, char const *expansion);
2647 
2664 HC_INTERFACE void HC_CDECL HC_Define_Callback_Name (char const *name, Void_Routine callback);
2665 
2718 HC_INTERFACE void HC_CDECL HC_Define_Color_Name (char const *name, char const *er_name, char const *ish_name, char const *definition);
2719 
2846 HC_INTERFACE void HC_CDECL HC_Define_Driver_Config (char const *driver, char const *id, char const *version, char const *config);
2847 
2893 HC_INTERFACE void HC_CDECL HC_Define_Error_Handler (Void_Routine handler);
2894 
2918 HC_INTERFACE void HC_CDECL HC_Define_Exit_Handler (Void_Routine handler);
2919 
3024 HC_INTERFACE void HC_CDECL HC_Define_Font (char const *name, char const *options, int data_length, char const data[]);
3025 
3034 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
3035 
3115 HC_INTERFACE void HC_CDECL HC_Define_Glyph (char const *name, int data_size, char const data[]);
3116 HC_INTERFACE void HC_CDECL HC_Define_Image_Glyph(const char * name, const char * definition);
3117 
3390 HC_INTERFACE void HC_CDECL HC_Define_Line_Style (char const *name, char const *definition);
3391 
3454 HC_INTERFACE void HC_CDECL HC_Define_Shape (char const *name, int data_size, float const data[]);
3455 
3838 HC_INTERFACE void HC_CDECL HC_Define_System_Options (char const *list);
3839 
4156 HC_INTERFACE void HC_CDECL HC_Define_Texture (char const *texture_name, char const *definition);
4157 
4192 HC_INTERFACE void HC_CDECL HC_Define_Local_Texture (char const *texture_name, char const *definition);
4193 
4266 HC_INTERFACE Key HC_CDECL HC_Define_Shader (char const *name, char const *options, char const *shader_source);
4267 
4285 HC_INTERFACE void HC_CDECL HC_Delete_By_Key (Key key);
4286 
4302 HC_INTERFACE void HC_CDECL HC_Delete_Segment (char const *segment);
4303 
4321 HC_INTERFACE void HC_CDECL HC_Dolly_Camera (double right, double up, double in);
4322 HC_INTERFACE intptr_t HC_CDECL HC_Dump_Memory_Profile (char const *which);
4323 
4345 HC_INTERFACE void HC_CDECL HC_Edit_Image (Key key, int xoffset, int yoffset, int xcount, int ycount, const void *data);
4346 
4379 HC_INTERFACE void HC_CDECL HC_Edit_Image_Options (Key image_key, char const *options);
4380 
4400 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[]);
4401 
4429 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Curve (Key key,
4430  int cp_offset,
4431  int knot_offset,
4432  int cp_count,
4433  int knot_count,
4434  Point const control_points[],
4435  float const weights[],
4436  float const knots[]);
4437 
4464 HC_INTERFACE void HC_CDECL HC_Edit_Polygon (Key key, int offset, int ndelete, int insert, Point const points[]);
4465 
4494 HC_INTERFACE void HC_CDECL HC_Edit_Polyline (Key key, int offset, int ndelete, int insert, Point const points[]);
4495 
4518 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Faces (Key key, int offset, int ndelete, int ilist_length, int const insert_list[]);
4519 
4544 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Points (Key key, int offset, int ndelete, int insert, Point const points[]);
4545 
4567 HC_INTERFACE void HC_CDECL HC_Edit_Text (Key key, int row, int column, int erase, int ndelete, char const *new_text);
4568 HC_INTERFACE void HC_CDECL HC_Edit_Text_Leader (Key key, double x, double y, double z, char const *options);
4569 
4575 HC_INTERFACE void HC_CDECL HC_End_Alias_Search (void);
4576 
4581 HC_INTERFACE void HC_CDECL HC_End_Callback_Name_Search (void);
4582 
4588 HC_INTERFACE void HC_CDECL HC_End_Color_Name_Search (void);
4589 
4590 
4596 HC_INTERFACE void HC_CDECL HC_End_Contents_Search (void);
4597 
4602 HC_INTERFACE void HC_CDECL HC_End_Font_Search (void);
4603 
4608 HC_INTERFACE void HC_CDECL HC_End_Open_Segment_Search (void);
4609 
4614 HC_INTERFACE void HC_CDECL HC_End_Segment_Search (void);
4615 
4620 HC_INTERFACE void HC_CDECL HC_End_Texture_Search (void);
4621 
4626 HC_INTERFACE void HC_CDECL HC_End_Shader_Search (void);
4627 
4632 HC_INTERFACE void HC_CDECL HC_End_Glyph_Search (void);
4633 
4639 HC_INTERFACE void HC_CDECL HC_End_Line_Style_Search (void);
4640 HC_INTERFACE void HC_CDECL HC_End_Shape_Search (void);
4641 
4653 HC_INTERFACE void HC_CDECL HC_Exit_Program (void);
4654 
4661 HC_INTERFACE bool HC_CDECL HC_Find_Alias (char * alias);
4662 
4669 HC_INTERFACE bool HC_CDECL HC_Find_Callback_Name (char *name);
4670 
4681 HC_INTERFACE bool HC_CDECL HC_Find_Color_Name (char *name, char *er_name, char *ish_name);
4682 
4692 HC_INTERFACE bool HC_CDECL HC_Find_Contents (char *type, Key *key);
4693 
4707 HC_INTERFACE bool HC_CDECL HC_Find_Contents_Original_Key (char *type, Key *key);
4708 
4715 HC_INTERFACE bool HC_CDECL HC_Find_Font (char *name);
4716 
4723 HC_INTERFACE bool HC_CDECL HC_Find_Open_Segment (char *segment);
4724 
4757 HC_INTERFACE bool HC_CDECL HC_Find_Related_Selection (void);
4758 
4765 HC_INTERFACE bool HC_CDECL HC_Find_Segment (char *segment);
4766 
4773 HC_INTERFACE bool HC_CDECL HC_Find_Texture (char *name);
4774 
4782 HC_INTERFACE bool HC_CDECL HC_Find_Shader (char *sname, Key *skey);
4783 
4790 HC_INTERFACE bool HC_CDECL HC_Find_Glyph (char *name);
4791 
4798 HC_INTERFACE bool HC_CDECL HC_Find_Line_Style (char *name);
4799 HC_INTERFACE bool HC_CDECL HC_Find_Shape (char *name);
4800 
4809 HC_INTERFACE void HC_CDECL HC_Flush_Attributes (char const *segment);
4810 
4827 HC_INTERFACE void HC_CDECL HC_Flush_By_Key (Key key);
4828 
4864 HC_INTERFACE void HC_CDECL HC_Flush_Contents (char const *segment, char const *filter);
4865 
4873 HC_INTERFACE void HC_CDECL HC_Flush_Geometry (char const *segment);
4874 
4889 HC_INTERFACE void HC_CDECL HC_Edit_Sphere (Key key, Point const *center, double radius, Vector const *axis, Vector const *ortho);
4890 
4907 HC_INTERFACE void HC_CDECL HC_Edit_Circle (Key key, Point const *point1, Point const *point2, Point const *point3);
4908 
4925 HC_INTERFACE void HC_CDECL HC_Edit_Circle_By_Radius (Key key, Point const *center, double radius, Vector const *vector);
4926 
4948 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Arc (Key key, Point const *point1, Point const *point2, Point const *point3);
4949 
4965 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Chord (Key key, Point const *point1, Point const *point2, Point const *point3);
4966 
4982 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Wedge (Key key, Point const *point1, Point const *point2, Point const *point3);
4983 
5018 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Plane (Key key, double a, double b, double c, double d);
5019 
5039 HC_INTERFACE void HC_CDECL HC_Edit_Ellipse (Key key, Point const *center, Point const *major, Point const *minor);
5040 
5064 HC_INTERFACE void HC_CDECL HC_Edit_Elliptical_Arc (
5065  Key key,
5066  Point const *center,
5067  Point const *major,
5068  Point const *minor,
5069  double start,
5070  double end);
5071 
5115 HC_INTERFACE void HC_CDECL HC_Edit_Grid (
5116  Key key,
5117  char const *type,
5118  Point const *origin,
5119  Point const *ref1,
5120  Point const *ref2,
5121  int count1,
5122  int count2);
5123 
5144 HC_INTERFACE void HC_CDECL HC_Edit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5145 
5157 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5158 
5170 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5171 
5182 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5183 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5184 
5208 HC_INTERFACE void HC_CDECL HC_Edit_Marker (Key key, double x, double y, double z);
5209 
5230 HC_INTERFACE void HC_CDECL HC_Edit_Cylinder (Key key, Point const *p1, Point const *p2, double radius, char const *cap);
5231 
5240 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, Point const points[]);
5241 
5250 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, float const radii[]);
5251 
5260 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, DPoint const points[]);
5261 
5270 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, double const radii[]);
5271 
5295 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);
5296 
5307 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[]);
5308 
5316 HC_INTERFACE Key HC_CDECL HC_Copy_Geometry (Key key, char const *segment);
5317 
5341 HC_INTERFACE Key HC_CDECL HC_Copy_Segment (char const *old_seg_name, char const *new_seg_name);
5342 
5357 HC_INTERFACE Key HC_CDECL HC_Create_Segment (char const *segment);
5358 
5387 HC_INTERFACE Key HC_CDECL HC_Include_Segment (char const *include);
5388 
5395 HC_INTERFACE Key HC_CDECL HC_Include_Segment_By_Key (Key seg_key);
5396 
5411 HC_INTERFACE Key HC_CDECL HC_Insert_Area_Light (int count, Point const points[], char const *listptr);
5412 
5447 HC_INTERFACE Key HC_CDECL HC_Insert_Circle (Point const *point1, Point const *point2, Point const *point3);
5448 
5472 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Arc (Point const *point1, Point const *point2, Point const *point3);
5473 
5495 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Chord (Point const *point1, Point const *point2, Point const *point3);
5496 
5522 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Wedge (Point const *point1, Point const *point2, Point const *point3);
5523 
5562 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Plane (double a, double b, double c, double d);
5563 
5598 HC_INTERFACE Key HC_CDECL HC_Insert_Cylinder (Point const *center_point_1, Point const *center_point_2, double radius, char const *cap);
5599 
5614 HC_INTERFACE Key HC_CDECL HC_Insert_Sphere (Point const *center, double radius, Vector const *axis, Vector const *ortho);
5615 
5639 HC_INTERFACE Key HC_CDECL HC_Insert_Circle_By_Radius (Point const *center, double radius, Vector const *normal);
5640 
5685 HC_INTERFACE Key HC_CDECL HC_Insert_Distant_Light (double di, double dj, double dk);
5686 
5708 HC_INTERFACE Key HC_CDECL HC_Insert_Ellipse (Point const *center, Point const *major, Point const *minor);
5709 
5737 HC_INTERFACE Key HC_CDECL HC_Insert_Elliptical_Arc (
5738  Point const *center,
5739  Point const *major,
5740  Point const *minor,
5741  double start,
5742  double end);
5743 
5780 HC_INTERFACE Key HC_CDECL HC_Insert_Grid (
5781  char const *type,
5782  Point const *origin,
5783  Point const *ref1,
5784  Point const *ref2,
5785  int count1,
5786  int count2);
5787 
5880 HC_INTERFACE Key HC_CDECL HC_Insert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
5881 
5987 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);
5988 
6005 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);
6006 
6018 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);
6019 
6043 HC_INTERFACE Key HC_CDECL HC_Insert_Ink (double x, double y, double z);
6044 
6067 HC_INTERFACE Key HC_CDECL HC_Insert_Line (double xa, double ya, double za, double xb, double yb, double zb);
6068 
6093 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6094 
6119 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6120 
6131 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6132 
6142 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6143 
6177 HC_INTERFACE Key HC_CDECL HC_Insert_Local_Light (double x, double y, double z);
6178 
6204 HC_INTERFACE Key HC_CDECL HC_Insert_Marker (double x, double y, double z);
6205 
6251 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh (int rows, int columns, Point const points[]);
6252 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh_By_Ref (int rows, int columns, Point const points[]);
6253 
6261 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh_By_Ref (int rows, int columns, DPoint const points[]);
6262 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Curve (int degree,
6263  int cpcount,
6264  Point const control_points[],
6265  float const weights[],
6266  float const knots[],
6267  double start_u,
6268  double end_u);
6269 
6298 HC_INTERFACE Key HC_CDECL HC_Insert_Polygon (int count, Point const points[]);
6299 
6328 HC_INTERFACE Key HC_CDECL HC_Insert_Polyline (int count, Point const points[]);
6329 
6330 
6383 HC_INTERFACE Key HC_CDECL HC_Insert_Shell (int pcount, Point const points[], int flist_length, int const face_list[]);
6384 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Ref (int pcount, Point const points[], int flist_length, int const face_list[]);
6385 
6394 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Ref (int pcount, DPoint const points[], int flist_length, int const face_list[]);
6395 
6483 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Tristrips (
6484  int pcount,
6485  Point const points[],
6486  int tristrips_length,
6487  int const tristrips[],
6488  int face_indices_length,
6489  int const face_indices[]);
6490 
6501 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Tristrips (
6502  int pcount,
6503  DPoint const points[],
6504  int tristrips_length,
6505  int const tristrips[],
6506  int face_indices_length,
6507  int const face_indices[]);
6508 
6645 HC_INTERFACE Key HC_CDECL HC_Insert_Spot_Light (Point const *position, Point const *target, char const *list);
6646 
6672 HC_INTERFACE Key HC_CDECL HC_Insert_String_Cursor (Key text_key, int row, int column);
6673 
6735 HC_INTERFACE Key HC_CDECL HC_Insert_Text (double x, double y, double z, char const *text);
6736 
6761 HC_INTERFACE Key HC_CDECL HC_Insert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
6762 
6773 HC_INTERFACE Key HC_CDECL HC_Insert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
6774 
6854 HC_INTERFACE Key HC_CDECL HC_Open_Segment (char const *segment);
6855 
6897 HC_INTERFACE Key HC_CDECL HC_Renumber_Key (Key oldkey, Key newkey, char const *scope);
6898 
6946 HC_INTERFACE Key HC_CDECL HC_Show_Include_Segment (Key key, char *pathname);
6947 
6954 HC_INTERFACE Key HC_CDECL HC_Show_Owner_Original_Key (Key key);
6955 
6986 HC_INTERFACE Key HC_CDECL HC_Style_Segment (char const *style);
6987 
6994 HC_INTERFACE Key HC_CDECL HC_Style_Segment_By_Key (Key seg_key);
6995 
7038 HC_INTERFACE void HC_CDECL HC_MSet_Character_Attributes (Key key, int offset, int count, char const *options);
7039 
7048 HC_INTERFACE void HC_CDECL HC_MUnSet_Character_Attributes (Key key, int offset, int count, char const *options);
7049 
7067 HC_INTERFACE void HC_CDECL HC_MSet_Face_Normals (Key key, int offset, int count, Vector const *normals);
7068 
7087 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_FIndex (Key key, char const *type, int offset, int count, float const findices[]);
7088 
7104 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_Value (
7105  Key key,
7106  char const * type,
7107  int offset,
7108  char const * color_space,
7109  int count,
7110  RGB const values[]);
7111 
7130 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_FIndex (Key key, char const *types, int offset, int count, float const findices[]);
7131 
7151 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value (
7152  Key key,
7153  char const * types,
7154  int offset,
7155  char const * color_space,
7156  int count,
7157  RGB const values[]);
7158 
7178 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value4 (
7179  Key key,
7180  char const * geometry,
7181  int offset,
7182  char const * color_space,
7183  int count,
7184  RGBA const values[]);
7185 
7199 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Normals (Key key, int offset, int count, Vector const normals[]);
7200 
7215 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Parameters (Key key, int offset, int pcount, int number, float const parameters[]);
7216 
7230 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map (int offset, char const *colors);
7231 
7240 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map_By_Value (int offset, char const *color_space, int count, RGB const values[]);
7241 
7264 HC_INTERFACE void HC_CDECL HC_Move_By_Key (Key key, char const *newowner);
7265 
7281 HC_INTERFACE void HC_CDECL HC_Move_Distant_Light (Key key, double di, double dj, double dk);
7282 
7295 HC_INTERFACE void HC_CDECL HC_Move_Image (Key key, double x, double y, double z);
7296 
7314 HC_INTERFACE void HC_CDECL HC_Move_Light_Position (Key key, double x, double y, double z);
7315 
7332 HC_INTERFACE void HC_CDECL HC_Move_Light_Target (Key key, double x, double y, double z);
7333 
7345 HC_INTERFACE void HC_CDECL HC_Move_Segment (char const *old_seg_name, char const *new_seg_name);
7346 
7369 HC_INTERFACE void HC_CDECL HC_Move_String_Cursor (Key key, int row, int column);
7370 
7384 HC_INTERFACE void HC_CDECL HC_Move_Text (Key key, double x, double y, double z);
7385 
7413 HC_INTERFACE void HC_CDECL HC_Open_Edge (int offset1, int offset2);
7414 
7449 HC_INTERFACE void HC_CDECL HC_Open_Face (int id);
7450 
7488 HC_INTERFACE void HC_CDECL HC_Open_Geometry (Key key);
7489 
7504 HC_INTERFACE void HC_CDECL HC_Open_LOD (int level);
7505 
7514 HC_INTERFACE void HC_CDECL HC_Open_Region (int region);
7515 
7521 HC_INTERFACE void HC_CDECL HC_Open_Segment_By_Key (Key key);
7522 
7547 HC_INTERFACE void HC_CDECL HC_Open_Vertex (int offset);
7548 
7568 HC_INTERFACE void HC_CDECL HC_Orbit_Camera (double theta, double phi);
7569 
7583 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Callback (int key_count, Key const path_keys[], char *callbacks);
7584 
7604 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera (int key_count,
7605  Key const path_keys[],
7606  Point *position,
7607  Point *target,
7608  Vector *up,
7609  float *width,
7610  float *height,
7611  char *projection);
7612 
7633 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_By_Volume (int count,
7634  Key const keys[],
7635  char *proj,
7636  float *xmin,
7637  float *xmax,
7638  float *ymin,
7639  float *ymax);
7640 
7657 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Position (int key_count, Key const path_keys[], float *x, float *y, float *z);
7658 
7675 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Target (int key_count, Key const path_keys[], float *x, float *y, float *z);
7676 
7693 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], float *x, float *y, float *z);
7694 
7710 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Field (int key_count, Key const path_keys[], float *width, float *height);
7711 
7723 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Projection (int key_count, Key const path_keys[], char *projection);
7724 
7737 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera (int key_count,
7738  Key const path_keys[],
7739  DPoint *position,
7740  DPoint *target,
7741  DVector *up,
7742  double *width,
7743  double *height,
7744  char *projection);
7745 
7757 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_By_Volume (int count,
7758  Key const keys[],
7759  char *proj,
7760  double *xmin,
7761  double *xmax,
7762  double *ymin,
7763  double *ymax);
7764 
7774 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Position (int key_count, Key const path_keys[], double *x, double *y, double *z);
7775 
7785 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Target (int key_count, Key const path_keys[], double *x, double *y, double *z);
7786 
7796 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], double *x, double *y, double *z);
7797 
7806 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Field (int key_count, Key const path_keys[], double *width, double *height);
7807 
7808 
7820 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color (int count, Key const keys[], char *color_spec);
7821 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map (int key_count, Key const path_keys[], char *colors);
7822 
7838 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[]);
7839 
7853 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Count (int key_count, Key const path_keys[], int *count);
7854 
7866 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Driver_Options (int key_count, Key const path_keys[], char *list);
7867 
7881 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern (int key_count, Key const path_keys[], char *pattern);
7882 
7896 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Weight (int key_count, Key const path_keys[], float *weight);
7897 
7911 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Face_Pattern (int key_count, Key const path_keys[], char *pattern);
7912 
7927 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Handedness (int key_count, Key const path_keys[], char *value);
7928 
7942 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Heuristics (int key_count, Key const path_keys[], char *list);
7943 
7957 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern (int key_count, Key const path_keys[], char *pattern);
7958 
7972 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Weight (int key_count, Key const path_keys[], float *weight);
7973 
7987 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Size (int key_count, Key const path_keys[], float *size);
7988 
8002 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Symbol (int key_count, Key const path_keys[], char *symbol);
8003 
8020 HC_INTERFACE int HC_CDECL HC_PShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], float matrix[]);
8021 
8029 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], double matrix[]);
8030 
8044 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Rendering_Options (int key_count, Key const path_keys[], char *list);
8045 
8059 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Selectability (int key_count, Key const path_keys[], char *list);
8060 
8074 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Alignment (int key_count, Key const path_keys[], char *locater);
8075 
8089 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Font (int key_count, Key const path_keys[], char *options);
8090 
8106 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Path (int key_count, Key const path_keys[], float *x, float *y, float *z);
8107 
8121 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Spacing (int key_count, Key const path_keys[], float *spacing);
8122 
8136 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture_Matrix (int key_count, Key const path_keys[], float matrix[]);
8137 
8151 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Index_Count (int key_count, Key const keys[], int *count);
8152 
8168 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Indices (int key_count, Key const path_keys[], int *count, long *indices, void **values);
8169 
8183 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Options (int key_count, Key const path_keys[], char *list);
8184 
8198 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Unicode_Options (int key_count, Key const path_keys[], unsigned short *options);
8199 
8211 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
8212 
8226 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
8227 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Value (int key_count, Key const path_keys[], intptr_t *data);
8228 
8242 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Visibility (int key_count, Key const path_keys[], char *list);
8243 
8260 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window (int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top);
8261 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,
8262  char *list);
8263 
8277 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Frame (int key_count, Key const path_keys[], char *flag);
8278 
8292 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Pattern (int key_count, Key const path_keys[], char *pattern);
8293 
8306 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Callback (int count, Key const keys[], char const *callback_point, char *callback_name);
8307 
8321 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
8322 
8332 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color (int count, Key const keys[], char const *type, char *color);
8333 
8346 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Index (int count, Key const keys[], char const *type, int *index);
8347 
8363 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Value (
8364  int count,
8365  Key const keys[],
8366  char const * type,
8367  char * color_space,
8368  float * a,
8369  float * b,
8370  float * c);
8371 
8382 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map (int count, Key const keys[], int offset, char *color);
8383 
8397 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map_By_V (
8398  int count,
8399  Key const keys[],
8400  int offset,
8401  char * color_space,
8402  float * x,
8403  float * y,
8404  float * z); // HC_PShow_One_Net_Color_Map_By_Value
8405 
8416 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Driver_Option (int count, Key const keys[], char const *type, char *value);
8417 
8427 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Heuristic (int count, Key const keys[], char const *type, char *value);
8428 
8439 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
8440 
8450 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Selectability (int count, Key const keys[], char const *type, char *value);
8451 
8461 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Text_Font (int count, Key const keys[], char const *type, char *value);
8462 
8472 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Index (int count, Key const keys[], long index, void **value);
8473 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Option (int count, Key const keys[], char const *type, char *value);
8474 
8487 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
8488 
8499 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Visibility (int count, Key const keys[], char const *type, char *value);
8500 
8520 HC_INTERFACE void HC_CDECL HC_Pan_Camera (double theta, double phi);
8521 
8585 HC_INTERFACE bool HC_CDECL HC_Parse_String (char const *string, char const *delimiter, int offset, char *token);
8586 
8618 HC_INTERFACE void HC_CDECL HC_Pause (void);
8619 
8639 HC_INTERFACE void HC_CDECL HC_Print_Version (void);
8640 
8661 HC_INTERFACE int HC_CDECL HC_QShow_Existence (char const *segment, char const *filter);
8662 
8725 HC_INTERFACE int HC_CDECL HC_Show_Existence (char const *filter);
8726 
8734 HC_INTERFACE int HC_CDECL HC_Show_Existence_By_Key (Key key, char const *filter);
8735 
8743 HC_INTERFACE int HC_CDECL HC_QShow_Existence_Unicode (char const *segment, unsigned short const *filter);
8744 
8760 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode (unsigned short const *filter);
8761 
8769 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode_By_K (Key key, unsigned short const *filter); // HC_Show_Existence_Unicode_By_Key
8770 
8806 HC_INTERFACE bool HC_CDECL HC_Read_Metafile (char const *file, char const *segment, char const *options);
8807 
8822 HC_INTERFACE void HC_CDECL HC_Record_Instance_Handle (void const *handle);
8823 
8863 HC_INTERFACE void HC_CDECL HC_Record_Profile_Source (char const *section, char const *filename);
8864 
8888 HC_INTERFACE void HC_CDECL HC_Relinquish_Memory (void);
8889 
8911 HC_INTERFACE void HC_CDECL HC_Rename_Segment (char const *old_seg_name, char const *new_seg_name);
8912 HC_INTERFACE void HC_CDECL HC_Rename_Segment_By_Key (Key key, char const *new_seg_name);
8913 
8930 HC_INTERFACE void HC_CDECL HC_Report_Error (int category,
8931  int specific,
8932  int severity,
8933  int msgc,
8934  char const * const *msgv,
8935  int stack_c,
8936  char const * const *stack_v);
8937 
8955 HC_INTERFACE void HC_CDECL HC_Reset_System (void);
8956 
8970 HC_INTERFACE void HC_CDECL HC_Restart_Ink (void);
8971 
8986 HC_INTERFACE void HC_CDECL HC_Roll_Camera (double theta);
8987 
9014 HC_INTERFACE void HC_CDECL HC_Rotate_Object (double theta, double phi, double psi);
9015 
9031 HC_INTERFACE void HC_CDECL HC_Rotate_Object_Offaxis (double x, double y, double z, double theta);
9032 
9039 HC_INTERFACE void HC_CDECL HC_DRotate_Object (double theta, double phi, double psi);
9040 
9048 HC_INTERFACE void HC_CDECL HC_DRotate_Object_Offaxis (double x, double y, double z, double theta);
9049 
9076 HC_INTERFACE void HC_CDECL HC_Rotate_Texture (double theta, double phi, double psi);
9077 
9093 HC_INTERFACE void HC_CDECL HC_Rotate_Texture_Offaxis (double x, double y, double z, double theta);
9094 
9121 HC_INTERFACE void HC_CDECL HC_Scale_Object (double x, double y, double z);
9122 
9129 HC_INTERFACE void HC_CDECL HC_DScale_Object (double x, double y, double z);
9130 
9151 HC_INTERFACE void HC_CDECL HC_Scale_Texture (double u, double v, double w);
9152 
9169 HC_INTERFACE void HC_CDECL HC_Scroll_Text (Key key, int left_scroll, int up_scroll);
9170 
9190 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Cuboid (Point const *min, Point const *max);
9191 
9203 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Sphere (Point const *center, double radius);
9204 
9210 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Cuboid (DPoint const *min, DPoint const *max);
9211 
9217 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Sphere (DPoint const *center, double radius);
9218 
9683 HC_INTERFACE void HC_CDECL HC_Set_Callback (char const *callbacks);
9684 
9691 HC_INTERFACE void HC_CDECL HC_Set_Callback_With_Data (char const *callback, void const *data);
9692 
9722 HC_INTERFACE void HC_CDECL HC_Set_Camera (Point const *position,
9723  Point const *target,
9724  Vector const *up,
9725  double width,
9726  double height,
9727  char const *projection);
9728 
9790 HC_INTERFACE void HC_CDECL HC_Set_Camera_By_Volume (char const *projection, double xmin, double xmax, double ymin, double ymax);
9791 
9817 HC_INTERFACE void HC_CDECL HC_Set_Camera_Field (double width, double height);
9818 
9837 HC_INTERFACE void HC_CDECL HC_Set_Camera_Position (double x, double y, double z);
9838 
9867 HC_INTERFACE void HC_CDECL HC_Set_Camera_Projection (char const *type);
9868 
9891 HC_INTERFACE void HC_CDECL HC_Set_Camera_Target (double x, double y, double z);
9892 
9926 HC_INTERFACE void HC_CDECL HC_Set_Camera_Up_Vector (double x, double y, double z);
9927 
10409 HC_INTERFACE void HC_CDECL HC_Set_Color (char const *color_spec);
10410 
10439 HC_INTERFACE void HC_CDECL HC_Set_Explicit_Color (
10440  char const *type,
10441  char const *channel,
10442  Point const *rgb,
10443  char const *texture,
10444  char const *options);
10445 
10485 HC_INTERFACE void HC_CDECL HC_Set_Color_By_FIndex (char const *types, double findex);
10486 
10560 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Index (char const *types, int index);
10561 
10652 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Value (char const *types, char const *colorspace, double a, double b, double c);
10653 
10690 HC_INTERFACE void HC_CDECL HC_Set_Color_Map (char const *colors);
10691 
10699 HC_INTERFACE void HC_CDECL HC_Set_Color_Map_By_Value (char const *color_space, int count, RGB const values[]);
10700 
11236 HC_INTERFACE void HC_CDECL HC_Set_Driver_Options (char const *list);
11237 
11281 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern (char const *pattern);
11282 
11335 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern_Explicit (char const *pattern);
11336 
11361 HC_INTERFACE void HC_CDECL HC_Set_Edge_Weight (double weight);
11362 
11408 HC_INTERFACE void HC_CDECL HC_Set_Face_Pattern (char const *pattern);
11409 
11430 HC_INTERFACE void HC_CDECL HC_Set_Handedness (char const *value);
11431 
11745 HC_INTERFACE void HC_CDECL HC_Set_Heuristics (char const *list);
11746 
11874 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern (char const *pattern);
11875 
12023 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern_Explicit (char const *pattern);
12024 
12051 HC_INTERFACE void HC_CDECL HC_Set_Line_Weight (double weight);
12052 
12079 HC_INTERFACE void HC_CDECL HC_Set_Marker_Size (double weight);
12080 
12261 HC_INTERFACE void HC_CDECL HC_Set_Marker_Symbol (char const *symbol);
12262 
12289 HC_INTERFACE void HC_CDECL HC_Set_Modelling_Matrix (float const matrix[]);
12290 
12295 HC_INTERFACE void HC_CDECL HC_DSet_Modelling_Matrix (double const matrix[]);
12296 
12319 HC_INTERFACE void HC_CDECL HC_Set_Normal (double x, double y, double z);
12320 
12356 HC_INTERFACE void HC_CDECL HC_Set_Parameter (int number, float const parameters[]);
12357 
12374 HC_INTERFACE void HC_CDECL HC_Set_Priority (Key key, int priority);
12375 HC_INTERFACE void HC_CDECL HC_UnSet_PBR_Material();
12376 
12401 HC_INTERFACE void HC_CDECL HC_Set_PBR_Material(
12402  char const * base_color_map,
12403  char const * normal_map,
12404  char const * emissive_map,
12405  char const * metalness_map,
12406  int metalness_map_channel,
12407  char const * roughness_map,
12408  int roughness_map_channel,
12409  char const * occlusion_map,
12410  int occlusion_map_channel,
12411  RGBA const * base_color_factor,
12412  float normal_factor,
12413  float metalness_factor,
12414  float roughness_factor,
12415  float occlusion_factor,
12416  float alpha_factor,
12417  char const * options);
12418 
12442 HC_INTERFACE bool HC_CDECL HC_Show_PBR_Material(
12443  char * base_color_map,
12444  char * normal_map,
12445  char * emissive_map,
12446  char * metalness_map,
12447  int * metalness_map_channel,
12448  char * roughness_map,
12449  int * roughness_map_channel,
12450  char * occlusion_map,
12451  int * occlusion_map_channel,
12452  RGBA * base_color_factor,
12453  float * normal_factor,
12454  float * metalness_factor,
12455  float * roughness_factor,
12456  float * occlusion_factor,
12457  float * alpha_factor,
12458  char * options);
12459 
12483 HC_INTERFACE bool HC_CDECL HC_PShow_Net_PBR_Material(
12484  int count,
12485  Key const * keys,
12486  char * base_color_map,
12487  char * normal_map,
12488  char * emissive_map,
12489  char * metalness_map,
12490  int * metalness_map_channel,
12491  char * roughness_map,
12492  int * roughness_map_channel,
12493  char * occlusion_map,
12494  int * occlusion_map_channel,
12495  RGBA * base_color_factor,
12496  float * normal_factor,
12497  float * metalness_factor,
12498  float * roughness_factor,
12499  float * occlusion_factor,
12500  float * alpha_factor,
12501  char * options);
12502 
13493 HC_INTERFACE void HC_CDECL HC_Set_Rendering_Options (char const *list);
13494 
13576 HC_INTERFACE void HC_CDECL HC_Set_Selectability (char const *list);
13577 
13603 HC_INTERFACE void HC_CDECL HC_Set_Shader(char const * target, Key vertex_shader, Key pixel_shader);
13604 
13625 HC_INTERFACE void HC_CDECL HC_Set_Shader_Outputs(Key shader_key, char const * outputs);
13626 
13639 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Outputs_Size(Key shader_key, int * size);
13640 
13654 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Outputs(Key shader_key, int * size, char * outputs);
13655 
13668 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Outputs(Key shader_key);
13669 
13693 HC_INTERFACE void HC_CDECL HC_Set_Shader_Uniforms(Key shader_key, char const * uniforms);
13694 
13714 HC_INTERFACE bool HC_CDECL HC_Set_Shader_Uniforms_Data(char const * target, Key shader_key, int data_size, void const * data);
13715 
13729 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Uniforms_Data_Size(char const * target, Key shader_key, int* size);
13730 
13745 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Uniforms_Data(char const * target, Key shader_key, int* size, void * data);
13746 
13759 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Uniforms_Size(Key shader_key, int * size);
13760 
13774 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Uniforms(Key shader_key, int * size, char * uniforms);
13775 
13788 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Uniforms(Key shader_key);
13789 
13826 HC_INTERFACE void HC_CDECL HC_Set_Streaming_Mode (char const *flag);
13827 
13879 HC_INTERFACE void HC_CDECL HC_Set_Text_Alignment (char const *locater);
13880 
14157 HC_INTERFACE void HC_CDECL HC_Set_Text_Font (char const *list);
14158 
14175 HC_INTERFACE void HC_CDECL HC_Set_Text_Path (double x, double y, double z);
14176 HC_INTERFACE void HC_CDECL HC_Set_Text_Size (double ivalue);
14177 
14194 HC_INTERFACE void HC_CDECL HC_Set_Text_Spacing (double spacing);
14195 
14216 HC_INTERFACE void HC_CDECL HC_Set_Texture_Matrix (float const matrix[]);
14217 
14229 HC_INTERFACE void HC_CDECL HC_Set_User_Index (long index, void const *data);
14230 
14275 HC_INTERFACE void HC_CDECL HC_Set_User_Options (char const *list);
14276 
14287 HC_INTERFACE void HC_CDECL HC_Set_Unicode_Options (unsigned short const *options);
14288 HC_INTERFACE void HC_CDECL HC_Set_User_Value (intptr_t data);
14289 
14523 HC_INTERFACE void HC_CDECL HC_Set_Visibility (char const *list);
14524 
14560 HC_INTERFACE void HC_CDECL HC_Set_Window (double left, double right, double bottom, double top);
14561 HC_INTERFACE void HC_CDECL HC_Set_Window_With_Options (double left, double right, double bottom, double top, char const *list);
14562 
14583 HC_INTERFACE void HC_CDECL HC_Set_Window_Frame (char const *flag);
14584 
14669 HC_INTERFACE void HC_CDECL HC_Set_Window_Pattern (char const *pattern);
14670 
14700 HC_INTERFACE void HC_CDECL HC_Show_Alias (char const *alias, char *expansion);
14701 
14711 HC_INTERFACE void HC_CDECL HC_Show_Alias_Count (int *count);
14712 
14720 HC_INTERFACE void HC_CDECL HC_Show_Area_Light (Key key, int *ucount, Point upoints[], char *listptr);
14721 HC_INTERFACE void HC_CDECL HC_Show_Area_Light_Count (Key key, int *count, char *listptr);
14722 
14749 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid (Point *min, Point *max);
14750 
14759 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid_By_Key (Key key, Point *min, Point *max);
14760 
14767 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid (DPoint *min, DPoint *max);
14768 
14776 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid_By_Key (Key key, DPoint *min, DPoint *max);
14777 
14788 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info (char *list);
14789 
14796 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info_By_Key (Key key, char *list);
14797 
14808 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere (Point *center, float *radius);
14809 
14817 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere_By_Key (Key key, Point *center, float *radius);
14818 
14824 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere (DPoint *center, double *radius);
14825 
14832 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere_By_Key (Key key, DPoint *center, double *radius);
14833 
14854 HC_INTERFACE void HC_CDECL HC_Show_Button (char *button);
14855 
14880 HC_INTERFACE void HC_CDECL HC_Show_Button_Source (char *keyboard, char *button, int *status);
14881 
14888 HC_INTERFACE void HC_CDECL HC_Show_Callback (char *callbacks);
14889 
14901 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name (char const *name, Void_Routine *callback);
14902 
14908 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name_Count (int *count);
14909 
14921 HC_INTERFACE void HC_CDECL HC_Show_Camera (Point *position,
14922  Point * target,
14923  Vector * up,
14924  float * width,
14925  float * height,
14926  char * projection);
14927 
14939 HC_INTERFACE void HC_CDECL HC_Show_Camera_By_Volume (char *projection, float *xmin, float *xmax, float *ymin, float *ymax);
14940 
14946 HC_INTERFACE void HC_CDECL HC_Show_Camera_Field (float *width, float *height);
14947 
14954 HC_INTERFACE void HC_CDECL HC_Show_Camera_Position (float *x, float *y, float *z);
14955 
14960 HC_INTERFACE void HC_CDECL HC_Show_Camera_Projection (char *projection);
14961 
14968 HC_INTERFACE void HC_CDECL HC_Show_Camera_Target (float *x, float *y, float *z);
14969 
14976 HC_INTERFACE void HC_CDECL HC_Show_Camera_Up_Vector (float *x, float *y, float *z);
14977 
14991 HC_INTERFACE void HC_CDECL HC_Show_Circle (Key key, Point *point1, Point *point2, Point *point3);
14992 
15006 HC_INTERFACE void HC_CDECL HC_Show_Circular_Arc (Key key, Point *point1, Point *point2, Point *point3);
15007 
15021 HC_INTERFACE void HC_CDECL HC_Show_Circular_Chord (Key key, Point *point1, Point *point2, Point *point3);
15022 
15036 HC_INTERFACE void HC_CDECL HC_Show_Circular_Wedge (Key key, Point *point1, Point *point2, Point *point3);
15037 
15084 HC_INTERFACE void HC_CDECL HC_Show_Color (char *color_spec);
15085 
15092 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Index (char *types, int *index);
15093 
15116 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Value (char *types, char *colorspace, float *a, float *b, float *c);
15117 
15134 HC_INTERFACE void HC_CDECL HC_Show_Color_Map (char *colors);
15135 
15154 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_By_Value (char *color_space, int *count, RGB values[]);
15155 
15165 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Count (int *count);
15166 
15180 HC_INTERFACE void HC_CDECL HC_Show_Color_Name (char const *color, char *definition);
15181 
15191 HC_INTERFACE void HC_CDECL HC_Show_Color_Name_Count (int *count);
15192 
15208 HC_INTERFACE void HC_CDECL HC_Show_Compilation_Results(
15209  char const * stage,
15210  char const * primitive,
15211  Key * shader_key,
15212  int * source_size,
15213  char * source,
15214  int * errors_size,
15215  char * errors);
15216 
15230 HC_INTERFACE void HC_CDECL HC_Show_Compilation_Results_Size(
15231  char const * stage,
15232  char const * primitive,
15233  int * source_size,
15234  int * errors_size);
15235 
15250 HC_INTERFACE void HC_CDECL HC_Show_Explicit_Color (
15251  char const *type,
15252  char const *channel,
15253  float rgb[],
15254  char *texture,
15255  char *options);
15256 
15277 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Explicit_Color (
15278  int keycount,
15279  Key const pathkeys[],
15280  char const *type,
15281  char const *channel,
15282  float rgb[],
15283  char *texture,
15284  char *options);
15285 
15293 HC_INTERFACE void HC_CDECL HC_Show_Contents_Count (int *count);
15294 
15309 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Plane (Key key, float *a, float *b, float *c, float *d);
15310 
15325 HC_INTERFACE void HC_CDECL HC_Show_Cylinder (Key key, Point *p1, Point *p2, float *radius, char *cap);
15326 
15335 HC_INTERFACE void HC_CDECL HC_Show_Circle_By_Radius (Key key, Point *center, float *radius, Vector *normal);
15336 
15351 HC_INTERFACE void HC_CDECL HC_Show_Sphere (Key key, Point *center, float *radius, Vector *axis, Vector *ortho);
15352 
15704 HC_INTERFACE void HC_CDECL HC_Show_Device_Info (char const *driver, char const *item, char *data);
15705 
15713 HC_INTERFACE void HC_CDECL HC_Show_Device_Info_By_Key (Key key, char const *item, char *data);
15714 
15730 HC_INTERFACE void HC_CDECL HC_Show_Distant_Light (Key key, float *di, float *dj, float *dk);
15731 
15792 HC_INTERFACE void HC_CDECL HC_Show_Driver_Options (char *list);
15793 
15809 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern (char *pattern);
15810 
15825 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern_Explicit (char *pattern);
15826 
15842 HC_INTERFACE void HC_CDECL HC_Show_Edge_Weight (float *weight);
15843 
15857 HC_INTERFACE void HC_CDECL HC_Show_Ellipse (Key key, Point *center, Point *major, Point *minor);
15858 
15874 HC_INTERFACE void HC_CDECL HC_Show_Elliptical_Arc (Key key,
15875  Point *center,
15876  Point *major,
15877  Point *minor,
15878  float *start,
15879  float *end);
15880 
15899 HC_INTERFACE bool HC_CDECL HC_Show_Environment (char const *variable, char *value);
15900 
15917 HC_INTERFACE void HC_CDECL HC_Show_Face_Pattern (char *pattern);
15918 
15932 HC_INTERFACE void HC_CDECL HC_Show_Font (char const *name, char *options, int *data_length, char *data);
15933 
15939 HC_INTERFACE void HC_CDECL HC_Show_Font_Count (int *count);
15940 
16010 HC_INTERFACE void HC_CDECL HC_Show_Font_Info (char const *driver, char const *name, char const *item, char *data);
16011 
16019 HC_INTERFACE void HC_CDECL HC_Show_Font_Size (char const *name, char *options, int *data_length);
16020 
16037 HC_INTERFACE void HC_CDECL HC_Show_Grid (Key key,
16038  char *type,
16039  Point *origin,
16040  Point *ref1,
16041  Point *ref2,
16042  int *count1,
16043  int *count2);
16044 
16061 HC_INTERFACE void HC_CDECL HC_Show_Handedness (char *value);
16062 
16097 HC_INTERFACE void HC_CDECL HC_Show_Heuristics (char *list);
16098 
16118 HC_INTERFACE void HC_CDECL HC_Show_Image (Key key, float *x, float *y, float *z, char *format, int *width, int *height, void *data);
16119 
16131 HC_INTERFACE void HC_CDECL HC_Show_Image_Size (Key key, float *x, float *y, float *z, char *format, int *width, int *height);
16132 
16158 HC_INTERFACE bool HC_CDECL HC_Show_Snapshot(const char * display, int *width, int *height, void * image_data);
16159 
16177 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);
16178 
16188 HC_INTERFACE void HC_CDECL HC_Show_Compressed_Image_Size (Key key, char *format, int *width, int *height, int *size);
16189 HC_INTERFACE int HC_CDECL HC_Show_Image_Bytes_Per_Pixel (Key key);
16190 
16197 HC_INTERFACE void HC_CDECL HC_Show_Image_Format (Key key, char *format);
16198 
16205 HC_INTERFACE void HC_CDECL HC_Show_Image_Name (Key key, char *name);
16206 
16213 HC_INTERFACE void HC_CDECL HC_Show_Glyph (char const *name, char *data);
16214 
16221 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Size (char const *name, int *data_size);
16222 
16237 HC_INTERFACE bool HC_CDECL HC_Show_Shader(const char * target, Key * vertex, Key * pixel);
16238 
16239 
16240 HC_INTERFACE void HC_CDECL HC_Show_Shape (char const *name, float *data);
16241 HC_INTERFACE void HC_CDECL HC_Show_Shape_Size (char const *name, int *data_size);
16242 
16258 HC_INTERFACE void HC_CDECL HC_Show_Line_Style (char const *style, char *definition);
16259 
16266 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Size (char const *style, int *size);
16267 
16284 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern (char *pattern);
16285 
16302 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern_Explicit (char *pattern);
16303 
16333 HC_INTERFACE void HC_CDECL HC_Show_Key_Status (Key key, char *status);
16334 
16415 HC_INTERFACE void HC_CDECL HC_Show_Key_Type (Key key, char *type);
16416 
16433 HC_INTERFACE void HC_CDECL HC_Show_LOD_Type (Key key, int level, char *type);
16434 
16451 HC_INTERFACE void HC_CDECL HC_Show_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16452 
16464 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16465 
16477 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Ray (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16478 
16489 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16490 
16501 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Ray (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16502 
16519 HC_INTERFACE void HC_CDECL HC_Show_Line_Weight (float *weight);
16520 
16538 HC_INTERFACE void HC_CDECL HC_Show_Local_Light (Key key, float *x, float *y, float *z);
16539 
16561 HC_INTERFACE void HC_CDECL HC_Show_Location (float *x, float *y);
16562 
16588 HC_INTERFACE void HC_CDECL HC_Show_Location_Source (char *locater, char *display, char *action, int *status);
16589 
16603 HC_INTERFACE void HC_CDECL HC_Show_Marker (Key key, float *x, float *y, float *z);
16604 
16619 HC_INTERFACE void HC_CDECL HC_Show_Marker_Size (float *size);
16620 
16635 HC_INTERFACE void HC_CDECL HC_Show_Marker_Symbol (char *symbol);
16636 
16658 HC_INTERFACE void HC_CDECL HC_Show_Memory_Usage (long *allocated, long *in_use);
16659 
16684 HC_INTERFACE void HC_CDECL HC_Show_Memory_Statistics(char const * option, void * value);
16685 
16704 HC_INTERFACE void HC_CDECL HC_Show_Mesh (Key key, int *rows, int *columns, Point points[]);
16705 
16713 HC_INTERFACE void HC_CDECL HC_Show_Mesh_Size (Key key, int *rows, int *columns);
16714 
16729 HC_INTERFACE void HC_CDECL HC_Show_Modelling_Matrix (float matrix[]);
16730 
16735 HC_INTERFACE void HC_CDECL HC_DShow_Modelling_Matrix (double matrix[]);
16736 
16762 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve (Key key,
16763  int *degree,
16764  int *cp_count,
16765  Point points[],
16766  float weights[],
16767  float knots[],
16768  float *start_u,
16769  float *end_u);
16770 
16780 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve_Size (Key key, int *degree, int *cp_count, int *weight_count, int *knot_count);
16781 
16798 HC_INTERFACE void HC_CDECL HC_Show_Normal (float *x, float *y, float *z);
16799 
16806 HC_INTERFACE void HC_CDECL HC_Show_One_Callback (char const *callback_point, char *callback_name);
16807 
16815 HC_INTERFACE void HC_CDECL HC_Show_One_Callback_With_Data (char const *callback_point, char *callback, void **data);
16816 
16840 HC_INTERFACE void HC_CDECL HC_Show_One_Color (char const *type, char *color);
16841 
16851 HC_INTERFACE void HC_CDECL HC_Show_One_Color_By_Index (char const *type, int *index);
16852 
16862 HC_INTERFACE bool HC_CDECL HC_Show_One_Color_By_Value (char const *type, char *color_space, float *a, float *b, float *c);
16863 
16879 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map (int offset, char *color);
16880 
16893 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map_By_Value (int offset, char *color_space, float *a, float *b, float *c);
16894 
16901 HC_INTERFACE void HC_CDECL HC_Show_One_Driver_Option (char const *type, char *value);
16902 
16909 HC_INTERFACE void HC_CDECL HC_Show_One_Heuristic (char const *type, char *value);
16910 
16921 HC_INTERFACE void HC_CDECL HC_Show_One_Rendering_Option (char const *type, char *value);
16922 
16929 HC_INTERFACE void HC_CDECL HC_Show_One_Selectability (char const *type, char *value);
16930 
16937 HC_INTERFACE void HC_CDECL HC_Show_One_System_Option (char const *type, char *value);
16938 
16945 HC_INTERFACE void HC_CDECL HC_Show_One_Text_Font (char const *type, char *value);
16946 
16953 HC_INTERFACE bool HC_CDECL HC_Show_One_User_Index (long index, void **value);
16954 
16961 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option (char const *type, char *value);
16962 
16969 HC_INTERFACE void HC_CDECL HC_Show_One_Unicode_Option (unsigned short const *requestedOption, unsigned short *options);
16970 
16977 HC_INTERFACE void HC_CDECL HC_Show_One_Visibility (char const *type, char *value);
16978 
16984 HC_INTERFACE void HC_CDECL HC_Show_Open_Segment_Count (int *count);
16985 
17014 HC_INTERFACE Key HC_CDECL HC_Show_Owner (char const *segment, char *owner);
17015 
17023 HC_INTERFACE Key HC_CDECL HC_Show_Owner_By_Key (Key key, char *owner);
17024 
17040 HC_INTERFACE void HC_CDECL HC_Show_Parameter (int *size, float list[]);
17041 
17047 HC_INTERFACE void HC_CDECL HC_Show_Parameter_Size (int *size);
17048 
17059 HC_INTERFACE void HC_CDECL HC_Show_Partial_Image (Key key, int xpos, int ypos, int xlen, int ylen, void *data);
17060 
17071 HC_INTERFACE void HC_CDECL HC_Show_Partial_Mesh (Key key,
17072  int row_offset,
17073  int col_offset,
17074  int row_count,
17075  int col_count,
17076  Point points[]);
17077 
17086 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polygon (Key key, int offset, int request, Point points[]);
17087 
17096 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polyline (Key key, int offset, int request, Point points[]);
17097 
17110 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell (Key key,
17111  int voffset,
17112  int vcnt,
17113  Point points[],
17114  int foffset,
17115  int fcnt,
17116  int *flist_length,
17117  int face_list[]);
17118 
17127 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell_Size (Key key, int foffset, int fcnt, int *flist_length);
17128 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Mesh (Key key,
17129  int row_offset,
17130  int col_offset,
17131  int row_count,
17132  int col_count,
17133  DPoint points[]);
17134 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polygon (Key key, int offset, int request, DPoint points[]);
17135 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polyline (Key key, int offset, int request, DPoint points[]);
17136 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Shell (Key key,
17137  int voffset,
17138  int vcnt,
17139  DPoint points[],
17140  int foffset,
17141  int fcnt,
17142  int *flist_length,
17143  int face_list[]);
17144 
17174 HC_INTERFACE void HC_CDECL HC_Show_Pathname_Expansion (char const *pathname, char *expansion);
17175 
17196 HC_INTERFACE void HC_CDECL HC_Show_Polygon (Key key, int *count, Point points[]);
17197 
17204 HC_INTERFACE void HC_CDECL HC_Show_Polygon_Count (Key key, int *count);
17205 
17226 HC_INTERFACE void HC_CDECL HC_Show_Polyline (Key key, int *count, Point points[]);
17227 
17234 HC_INTERFACE void HC_CDECL HC_Show_Polyline_Count (Key key, int *count);
17235 
17247 HC_INTERFACE bool HC_CDECL HC_Show_Priority (Key key, int *priority);
17248 
17299 HC_INTERFACE void HC_CDECL HC_Show_Rendering_Options (char *list);
17300 HC_INTERFACE int HC_CDECL HC_Show_Segment_Name_Length (Key key);
17301 HC_INTERFACE Key HC_CDECL HC_Show_Segment_Name (Key key, char *name);
17302 
17324 HC_INTERFACE Key HC_CDECL HC_Show_Segment (Key key, char *pathname);
17325 
17331 HC_INTERFACE void HC_CDECL HC_Show_Segment_Count (int *count);
17332 
17346 HC_INTERFACE void HC_CDECL HC_Show_Selectability (char *list);
17347 
17370 HC_INTERFACE void HC_CDECL HC_Show_Selection (char *segment);
17371 
17486 HC_INTERFACE void HC_CDECL HC_Show_Selection_Element (Key *key, int *offset1, int *offset2, int *offset3);
17487 
17501 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source_Elem (int *vertex, int *edge, int *face, Point *hit_location); // HC_Show_Selection_Source_Element
17502 
17510 HC_INTERFACE void HC_CDECL HC_DShow_Selection_Source_Elem (int *vertex, int *edge, int *face, DPoint *hit_location); // HC_DShow_Selection_Source_Element
17511 
17526 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Key (Key *key);
17527 
17573 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements (Key *key, int *count, int vertex1[], int vertex2[], int faces[]);
17574 
17583 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements_Coun (Key *key, int *count); // HC_Show_Selection_Elements_Count
17584 HC_INTERFACE void HC_CDECL HC_Show_Selection_Item (Key *key, int *offset1, int *offset2);
17585 
17599 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys (int *count, Key keys[]);
17600 
17614 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Keys (int *count, Key key[]);
17615 
17621 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys_Count (int *count);
17622 HC_INTERFACE void HC_CDECL HC_Show_Selection_Location (float *xw, float *yw, float *xc, float *yc, float *zc);
17623 
17707 HC_INTERFACE void HC_CDECL HC_Show_Selection_Pathname (char *segment);
17708 
17752 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);
17753 
17763 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);
17764 
17794 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source (char *locater, char *picture, char *action, int *status);
17795 
17822 HC_INTERFACE void HC_CDECL HC_Show_Shell (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
17823 
17846 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips (Key key,
17847  int *pcount,
17848  Point points[],
17849  int *tristrips_length,
17850  int tristrips[],
17851  int *face_indices_length,
17852  int face_indices[]);
17853 
17862 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips_Size (Key key, int *pcount, int *tristrips_length, int *face_indices_length);
17863 
17871 HC_INTERFACE void HC_CDECL HC_Show_Shell_Size (Key key, int *pcount, int *flist_length);
17872 
17879 HC_INTERFACE void HC_CDECL HC_Show_Shell_Face_Count (Key key, int *face_count);
17880 
17890 HC_INTERFACE void HC_CDECL HC_Show_Shell_Tristrip_Count (Key key, int *tristrip_count);
17891 
17909 HC_INTERFACE void HC_CDECL HC_Show_Spot_Light (Key key, Point *position, Point *target, char *list);
17910 
17924 HC_INTERFACE void HC_CDECL HC_Show_Streaming_Mode (char *flag);
17925 
17952 HC_INTERFACE void HC_CDECL HC_Show_String (char *text);
17953 
17960 HC_INTERFACE void HC_CDECL HC_Show_String_Count (int *count);
17961 
17977 HC_INTERFACE void HC_CDECL HC_Show_String_Cursor (Key key, Key *text_key, int *row, int *col);
17978 
17984 HC_INTERFACE void HC_CDECL HC_Show_String_Length (int *length);
17985 
17999 HC_INTERFACE void HC_CDECL HC_Show_String_Source (char *keyboard, Key *cursor_key);
18000 
18007 HC_INTERFACE void HC_CDECL HC_Show_String_With_Encoding (char *encoding, void *text);
18008 
18021 HC_INTERFACE Key HC_CDECL HC_Show_Style_Segment (Key key, char *pathname);
18022 
18050 HC_INTERFACE bool HC_CDECL HC_Show_System_Info (char const *type, char *value);
18051 
18095 HC_INTERFACE void HC_CDECL HC_Show_System_Options (char *list);
18096 
18117 HC_INTERFACE void HC_CDECL HC_Show_Text (Key key, float *x, float *y, float *z, char *text);
18118 HC_INTERFACE void HC_CDECL HC_Show_Text_Leader (Key key, float *x, float *y, float *z, char *options);
18119 
18130 HC_INTERFACE void HC_CDECL HC_Show_Text_With_Encoding (Key key, float *x, float *y, float *z, char *encoding, void *text);
18131 
18146 HC_INTERFACE void HC_CDECL HC_Show_Text_Alignment (char *locater);
18147 
18154 HC_INTERFACE void HC_CDECL HC_Show_Text_Count (Key key, int *count);
18155 
18162 HC_INTERFACE void HC_CDECL HC_Show_Text_Encoding (Key key, char *encoding);
18163 
18199 HC_INTERFACE void HC_CDECL HC_Show_Text_Font (char *options);
18200 
18207 HC_INTERFACE void HC_CDECL HC_Show_Text_Length (Key key, int *length);
18208 
18225 HC_INTERFACE void HC_CDECL HC_Show_Text_Path (float *x, float *y, float *z);
18226 HC_INTERFACE void HC_CDECL HC_Show_Text_Size (float *value);
18227 
18241 HC_INTERFACE void HC_CDECL HC_Show_Text_Spacing (float *spacing);
18242 
18273 HC_INTERFACE void HC_CDECL HC_Show_Texture (char const *texture, char *definition);
18274 
18282 HC_INTERFACE void HC_CDECL HC_Show_Shader_Definition (char const *name, char *definition, char *shader_source);
18283 
18294 HC_INTERFACE void HC_CDECL HC_Show_Shader_Definition_Source_Size(Key shader_key, int * size);
18295 
18309 HC_INTERFACE void HC_CDECL HC_Show_Shader_Definition_By_Key(Key shader_key, char * name, char * stage, char * shader_source);
18310 
18332 HC_INTERFACE void HC_CDECL HC_Set_Shader_Inputs(Key shader_key, char const * inputs);
18333 
18346 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Inputs_Size(Key shader_key, int * size);
18347 
18361 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Inputs(Key shader_key, int * size, char * inputs);
18362 
18375 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Inputs(Key shader_key);
18376 
18486 HC_INTERFACE Key HC_CDECL HC_Define_Shader_Sampler(char const * name, char const * options);
18487 
18496 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Sampler_Def_Size(Key sampler_key, int * size);
18497 
18510 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Sampler_Def(Key sampler_key, int * size, char * definition);
18511 
18589 HC_INTERFACE Key HC_CDECL HC_Define_Shader_Texture(
18590  char const * name,
18591  int width,
18592  int height,
18593  int depth,
18594  int array_size,
18595  int mipmap_levels,
18596  char const * format,
18597  char const * options,
18598  void const ** data);
18599 
18600 
18616 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Texture_Def_Size(
18617  Key texture_key,
18618  int * name_size,
18619  int * width,
18620  int * height,
18621  int * depth,
18622  int * array_size,
18623  int * format_size,
18624  int * options_size,
18625  int * data_slice_size);
18626 
18647 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Texture_Def(
18648  Key texture_key,
18649  int * name_size,
18650  char * name,
18651  int * width,
18652  int * height,
18653  int * depth,
18654  int * array_size,
18655  int * mipmap_levels,
18656  int * format_size,
18657  char * format,
18658  int * options_size,
18659  char * options,
18660  int * data_slice_size,
18661  void ** data);
18662 
18678 HC_INTERFACE void HC_CDECL HC_Set_Shader_Textures(Key shader_key, int count, Key const * texture_keys, Key const * sampler_keys);
18679 
18691 HC_INTERFACE void HC_CDECL HC_UnSet_Shader_Textures(Key shader_key);
18692 
18705 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Textures_Count(Key shader_key, int * count);
18706 
18721 HC_INTERFACE bool HC_CDECL HC_Show_Shader_Textures(Key shader_key, int * count, Key * texture_keys, Key * sampler_keys);
18722 
18757 HC_INTERFACE void HC_CDECL HC_Show_Local_Texture (char const *texture_name, char *definition);
18758 
18764 HC_INTERFACE void HC_CDECL HC_Show_Texture_Count (int *count);
18765 
18771 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Count (int *count);
18772 HC_INTERFACE void HC_CDECL HC_Show_Shape_Count (int *count);
18773 
18779 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Count (int *count);
18780 
18795 HC_INTERFACE void HC_CDECL HC_Show_Texture_Matrix (float matrix[]);
18796 
18813 HC_INTERFACE void HC_CDECL HC_Show_Time (float *time);
18814 
18820 HC_INTERFACE void HC_CDECL HC_Show_User_Index_Count (int *count);
18821 
18837 HC_INTERFACE void HC_CDECL HC_Show_User_Indices (int count[], long indices[], void **values);
18838 
18855 HC_INTERFACE void HC_CDECL HC_Show_User_Options (char *list);
18856 
18867 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options (unsigned short *options);
18868 
18882 HC_INTERFACE void HC_CDECL HC_Show_User_Options_Length (int *length);
18883 
18889 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options_Length (int *length);
18890 HC_INTERFACE void HC_CDECL HC_Show_User_Value (intptr_t *data);
18891 
18906 HC_INTERFACE void HC_CDECL HC_Show_Visibility (char *list);
18907 
18918 HC_INTERFACE void HC_CDECL HC_Show_Wakeup (float *time);
18919 
18937 HC_INTERFACE void HC_CDECL HC_Show_Window (float *left, float *right, float *bottom, float *top);
18938 HC_INTERFACE void HC_CDECL HC_Show_Window_With_Options (float *left, float *right, float *bottom, float *top, char *list);
18939 
18954 HC_INTERFACE void HC_CDECL HC_Show_Window_Frame (char *flag);
18955 
18970 HC_INTERFACE void HC_CDECL HC_Show_Window_Pattern (char *pattern);
18971 
18990 HC_INTERFACE void HC_CDECL HC_Translate_Object (double x, double y, double z);
18991 
18998 HC_INTERFACE void HC_CDECL HC_DTranslate_Object (double x, double y, double z);
18999 
19018 HC_INTERFACE void HC_CDECL HC_Translate_Texture (double u, double v, double w);
19019 
19025 HC_INTERFACE void HC_CDECL HC_UnDefine_Alias (char const *name);
19026 
19032 HC_INTERFACE void HC_CDECL HC_UnDefine_Callback_Name (char const *name);
19033 
19039 HC_INTERFACE void HC_CDECL HC_UnDefine_Color_Name (char const *name);
19040 
19046 HC_INTERFACE void HC_CDECL HC_UnDefine_Error_Handler (Void_Routine handler);
19047 
19053 HC_INTERFACE void HC_CDECL HC_UnDefine_Exit_Handler (Void_Routine handler);
19054 
19060 HC_INTERFACE void HC_CDECL HC_UnDefine_Font (char const *name);
19061 
19067 HC_INTERFACE void HC_CDECL HC_UnDefine_Glyph (char const *name);
19068 
19074 HC_INTERFACE void HC_CDECL HC_UnDefine_Line_Style (char const *name);
19075 
19080 HC_INTERFACE void HC_CDECL HC_UnDefine_Shape (char const *name);
19081 
19087 HC_INTERFACE void HC_CDECL HC_UnDefine_Texture (char const *texture_name);
19088 
19094 HC_INTERFACE void HC_CDECL HC_UnDefine_Local_Texture (char const *texture_name);
19095 
19101 HC_INTERFACE void HC_CDECL HC_UnDefine_Shader (char const *iname);
19102 
19111 HC_INTERFACE void HC_CDECL HC_UnSet_Bounding_Volume (void);
19112 
19117 HC_INTERFACE void HC_CDECL HC_UnSet_Callback (void);
19118 
19123 HC_INTERFACE void HC_CDECL HC_UnSet_Camera (void);
19124 
19129 HC_INTERFACE void HC_CDECL HC_UnSet_Color (void);
19130 
19135 HC_INTERFACE void HC_CDECL HC_UnSet_Color_Map (void);
19136 
19141 HC_INTERFACE void HC_CDECL HC_UnSet_Driver_Options (void);
19142 
19147 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Pattern (void);
19148 
19153 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Weight (void);
19154 
19159 HC_INTERFACE void HC_CDECL HC_UnSet_Face_Pattern (void);
19160 
19165 HC_INTERFACE void HC_CDECL HC_UnSet_Handedness (void);
19166 
19171 HC_INTERFACE void HC_CDECL HC_UnSet_Heuristics (void);
19172 
19177 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Pattern (void);
19178 
19183 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Weight (void);
19184 
19189 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Size (void);
19190 
19195 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Symbol (void);
19196 
19201 HC_INTERFACE void HC_CDECL HC_UnSet_Modelling_Matrix (void);
19202 
19207 HC_INTERFACE void HC_CDECL HC_UnSet_Normal (void);
19208 
19214 HC_INTERFACE void HC_CDECL HC_UnSet_One_Callback (char const *callback);
19215 
19222 HC_INTERFACE void HC_CDECL HC_UnSet_One_Color (char const *which);
19223 
19229 HC_INTERFACE void HC_CDECL HC_UnSet_One_Driver_Option (char const *which);
19230 
19236 HC_INTERFACE void HC_CDECL HC_UnSet_One_Heuristic (char const *which);
19237 
19243 HC_INTERFACE void HC_CDECL HC_UnSet_One_Rendering_Option (char const *which);
19244 
19250 HC_INTERFACE void HC_CDECL HC_UnSet_One_Selectability (char const *which);
19251 
19257 HC_INTERFACE void HC_CDECL HC_UnSet_One_Text_Font (char const *which);
19258 
19264 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Index (long index);
19265 
19271 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Option (char const *which);
19272 
19278 HC_INTERFACE void HC_CDECL HC_UnSet_One_Unicode_Option (unsigned short const *which);
19279 
19285 HC_INTERFACE void HC_CDECL HC_UnSet_One_Visibility (char const *which);
19286 
19291 HC_INTERFACE void HC_CDECL HC_UnSet_Parameter (void);
19292 
19297 HC_INTERFACE void HC_CDECL HC_UnSet_Rendering_Options (void);
19298 
19303 HC_INTERFACE void HC_CDECL HC_UnSet_Selectability (void);
19304 
19314 HC_INTERFACE void HC_CDECL HC_UnSet_Shader(char const * target);
19315 
19320 HC_INTERFACE void HC_CDECL HC_UnSet_Streaming_Mode (void);
19321 
19326 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Alignment (void);
19327 
19332 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Font (void);
19333 
19338 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Path (void);
19339 
19344 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Spacing (void);
19345 
19350 HC_INTERFACE void HC_CDECL HC_UnSet_Texture_Matrix (void);
19351 
19356 HC_INTERFACE void HC_CDECL HC_UnSet_User_Options (void);
19357 
19362 HC_INTERFACE void HC_CDECL HC_UnSet_Unicode_Options (void);
19363 HC_INTERFACE void HC_CDECL HC_UnSet_User_Indices (void);
19364 HC_INTERFACE void HC_CDECL HC_UnSet_User_Data (void);
19365 HC_INTERFACE void HC_CDECL HC_UnSet_User_Value (void);
19366 
19371 HC_INTERFACE void HC_CDECL HC_UnSet_Visibility (void);
19372 
19377 HC_INTERFACE void HC_CDECL HC_UnSet_Window (void);
19378 
19383 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Frame (void);
19384 
19389 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Pattern (void);
19390 
19427 HC_INTERFACE bool HC_CDECL HC_Update_Display (void);
19428 
19448 HC_INTERFACE bool HC_CDECL HC_Update_Display_Timed (double time);
19449 
19465 HC_INTERFACE bool HC_CDECL HC_Update_One_Display (char const *segment);
19466 
19481 HC_INTERFACE bool HC_CDECL HC_Update_One_Display_Timed (char const *segment, double time);
19482 
19561 HC_INTERFACE bool HC_CDECL HC_Write_Metafile (char const *segment, char const *file, char const *options);
19562 
19579 HC_INTERFACE void HC_CDECL HC_Zoom_Camera (double zoom);
19580 
19629 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Pointer (Key key, const char * data_type, void * value);
19630 
19642 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Options (Key key, char *list);
19643 
19684 HC_INTERFACE void HC_CDECL HC_Set_Geometry_Options (Key key, const char *list); // HC_Edit_Geometry_Options
19685 
19726 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Surface (
19727  int u_degree,
19728  int v_degree,
19729  int u_count,
19730  int v_count,
19731  Point const points[],
19732  float const weights[],
19733  float const u_knots[],
19734  float const v_knots[]);
19735 
19760 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface_Size (
19761  Key key,
19762  int *u_degree,
19763  int *v_degree,
19764  int *u_count,
19765  int *v_count,
19766  int *weights_count,
19767  int *u_knots_count,
19768  int *v_knots_count);
19769 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface (
19770  Key key,
19771  int *u_degree,
19772  int *v_degree,
19773  int *u_count,
19774  int *v_count,
19775  Point points[],
19776  float weights[],
19777  float u_knots[],
19778  float v_knots[]);
19779 
19808 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Poly (
19809  int cpcount,
19810  float const points[]);
19811 
19852 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Curve (
19853  int degree,
19854  int cpcount,
19855  float const control_points[],
19856  float const weights[],
19857  float const knots[],
19858  double start_u,
19859  double end_u);
19860 
19889 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface (
19890  Key key,
19891  int cp_offset,
19892  int weights_offset,
19893  int u_knot_offset,
19894  int v_knot_offset,
19895  int cp_replace_count,
19896  int weights_replace_count,
19897  int u_knot_replace_count,
19898  int v_knot_replace_count,
19899  Point const points[],
19900  float const weights[],
19901  float const u_knots[],
19902  float const v_knots[]);
19903 
19913 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Points (
19914  Key key,
19915  int cp_offset,
19916  int cp_replace_count,
19917  Point const points[]);
19918 
19928 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Weights (
19929  Key key,
19930  int weights_offset,
19931  int weights_replace_count,
19932  float const weights[]);
19933 
19946 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Knots (
19947  Key key,
19948  int u_knot_offset,
19949  int v_knot_offset,
19950  int u_knot_replace_count,
19951  int v_knot_replace_count,
19952  float const u_knots[],
19953  float const v_knots[]);
19954 
20001 HC_INTERFACE void HC_CDECL HC_Show_Trim_Count (
20002  int * count);
20003 
20062 HC_INTERFACE void HC_CDECL HC_Show_Trim_Type (
20063  int index,
20064  char * trim_type);
20065 
20088 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly (
20089  int index,
20090  int * count,
20091  float points[]);
20092 
20099 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly_Count (
20100  int index,
20101  int * count);
20102 
20132 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve (
20133  int index,
20134  int * degree,
20135  int * cp_count,
20136  float points[],
20137  float weights[],
20138  float knots[],
20139  float * start_u,
20140  float * end_u);
20141 
20151 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve_Count (
20152  int index,
20153  int * degree,
20154  int * cp_count,
20155  int * w_count,
20156  int * knot_count);
20157 
20188 HC_INTERFACE void HC_CDECL HC_Delete_Trim (
20189  int index);
20190 
20203 HC_INTERFACE void HC_CDECL HC_Open_Trim (
20204  int offset);
20205 
20210 HC_INTERFACE void HC_CDECL HC_Close_Trim (void);
20211 
20223 HC_INTERFACE void HC_CDECL HC_Set_Trim_Operation (
20224  int index,
20225  char const * operation);
20226 
20238 HC_INTERFACE void HC_CDECL HC_Show_Trim_Operation (
20239  int index,
20240  char * operation);
20241 
20248 HC_INTERFACE void HC_CDECL HC_Create_Trim_Collection (void);
20249 
20257 HC_INTERFACE void HC_CDECL HC_Set_Variable_Line_Weight (
20258  char const * weight);
20259 
20267 HC_INTERFACE void HC_CDECL HC_Set_Variable_Edge_Weight (
20268  char const * weight);
20269 
20332 HC_INTERFACE void HC_CDECL HC_Set_Variable_Marker_Size (
20333  char const * size);
20334 
20344 HC_INTERFACE void HC_CDECL HC_Show_Variable_Edge_Weight (
20345  char * weight);
20346 
20357 HC_INTERFACE void HC_CDECL HC_Show_Variable_Line_Weight (
20358  char * weight);
20359 
20370 HC_INTERFACE void HC_CDECL HC_Show_Variable_Marker_Size (
20371  char * size);
20372 
20386 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Edge_Weight (
20387  int count,
20388  Key const keys[],
20389  char * weight); // HC_PShow_Net_Variable_Edge_Weight
20390 
20404 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Line_Weight (
20405  int count,
20406  Key const keys[],
20407  char * weight); // HC_PShow_Net_Variable_Line_Weight
20408 
20422 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Marker_Size (
20423  int count,
20424  Key const keys[],
20425  char * size); // HC_PShow_Net_Variable_Marker_Size
20426 
20441 HC_INTERFACE void HC_CDECL HC_MShow_Character_Attributes(
20442  Key key,
20443  int offset,
20444  int count,
20445  char * options);
20446 
20453 HC_INTERFACE void HC_CDECL HC_Show_Character_Attribute_Cou(
20454  Key key,
20455  int * count); // HC_Show_Character_Attribute_Count
20456 
20465 HC_INTERFACE void HC_CDECL HC_Show_One_Character_Attribute(
20466  Key key,
20467  int offset,
20468  char const *which,
20469  char * options);
20470 
20476 HC_INTERFACE void HC_CDECL HC_Set_Faces (
20477  int first_face,
20478  int face_count);
20479 
20484 HC_INTERFACE void HC_CDECL HC_Set_Region (
20485  int region);
20486 
20494 HC_INTERFACE void HC_CDECL HC_MSet_Region_Faces (
20495  Key key,
20496  int region,
20497  int first_face,
20498  int face_count);
20499 
20507 HC_INTERFACE void HC_CDECL HC_MSet_Face_Regions (
20508  Key key,
20509  int first_face,
20510  int face_count,
20511  int const regions[]);
20512 
20518 HC_INTERFACE void HC_CDECL HC_Show_Faces (
20519  int * face_count,
20520  int faces[]);
20521 
20527 HC_INTERFACE void HC_CDECL HC_Show_Faces_Count (
20528  int * face_count);
20529 
20534 HC_INTERFACE void HC_CDECL HC_Show_Region (
20535  int region[]);
20536 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces (
20537  Key key,
20538  int region,
20539  int * face_count,
20540  int faces[]);
20541 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces_Count (
20542  Key key,
20543  int region,
20544  int * face_count);
20545 
20552 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions (
20553  Key key,
20554  int * face_count,
20555  int regions[]);
20556 
20563 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions_Count (
20564  Key key,
20565  int * face_count);
20566 HC_INTERFACE void HC_CDECL HC_MShow_Partial_Face_Regions (
20567  Key key,
20568  int first_face,
20569  int face_count,
20570  int regions[]);
20571 
20578 HC_INTERFACE void HC_CDECL HC_Show_Region_Range (
20579  Key key,
20580  int * lowest,
20581  int * highest);
20582 
20607 HC_INTERFACE Key HC_CDECL HC_Insert_PolyCylinder (int p_count, Point const pts[], int r_count, float const radii[], char const *capping);
20608 
20619 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder (Key key, int *p_count, Point pts[], int *r_count, float radii[], char *capping);
20620 
20629 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder_Counts (Key key, int *p_count, int *r_count, char *capping);
20630 
20638 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_From_Region (Key key1, int region, char const *options);
20639 
20648 HC_INTERFACE Key HC_CDECL HC_Insert_Unicode_Text (
20649  double x,
20650  double y,
20651  double z,
20652  unsigned short const text[]);
20653 
20662 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Text (
20663  Key key,
20664  float *x,
20665  float *y,
20666  float *z,
20667  unsigned short text[]);
20668 
20705 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Shell (
20706  char const *action,
20707  char const *start_seg,
20708  int point_count,
20709  Point const points[],
20710  int face_list_length,
20711  int const face_list[]);
20712 
20723 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Shell (
20724  char const *action,
20725  char const *start_seg,
20726  int point_count,
20727  DPoint const points[],
20728  int face_list_length,
20729  int const face_list[]);
20730 
20765 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Sh_W_Op (
20766  char const *action,
20767  char const *start_seg,
20768  int point_count,
20769  Point const points[],
20770  int face_list_length,
20771  int const face_list[],
20772  char const *options); // HC_Compute_Selection_By_Shell_With_Options
20773 
20785 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Sh_W_O (
20786  char const *action,
20787  char const *start_seg,
20788  int point_count,
20789  DPoint const points[],
20790  int face_list_length,
20791  int const face_list[],
20792  char const *options); // HC_DCompute_Selection_By_Shell_With_Options
20793 
20844 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_S (
20845  char const *action,
20846  char const *start_seg,
20847  Key shellkey,
20848  int number_of_sweeps,
20849  float const matrices[],
20850  char const *options); // HC_Compute_Selection_By_Swept_Shell
20851 
20862 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_S (
20863  char const *action,
20864  char const *start_seg,
20865  Key shellkey,
20866  int number_of_sweeps,
20867  double const matrices[],
20868  char const *options); // HC_DCompute_Selection_By_Swept_Shell
20869 
20881 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_2 (
20882  char const *action,
20883  char const *start_seg,
20884  Key shellkey,
20885  int sweepcount,
20886  float const matrices[],
20887  char const *options,
20888  float bounding_box[]); // HC_Compute_Selection_By_Swept_Shell2
20889 
20901 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_2 (
20902  char const *action,
20903  char const *start_seg,
20904  Key shellkey,
20905  int sweepcount,
20906  double const matrices[],
20907  char const *options,
20908  double bounding_box[]); // HC_DCompute_Selection_By_Swept_Shell2
20909 
20936 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Key (
20937  char const *action,
20938  char const *start_seg,
20939  Key key, float const matrix[]);
20940 
20948 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Key (
20949  char const *action,
20950  char const *start_seg,
20951  Key key, double const matrix[]);
20952 
20972 HC_INTERFACE Key HC_CDECL HC_Compute_Swept_Shell(
20973  Key shellkey,
20974  Vector const * direction_in,
20975  Key * front_key,
20976  Key * back_key,
20977  Key * side_key,
20978  char const * options);
20979 
20989 HC_INTERFACE Key HC_CDECL HC_DCompute_Swept_Shell(
20990  Key shellkey,
20991  DVector const * direction_in,
20992  Key * front_key,
20993  Key * back_key,
20994  Key * side_key,
20995  char const * options);
20996 
21033 HC_INTERFACE void HC_CDECL HC_Compute_Swept_Shell_Along_P (
21034  Key shellkey,
21035  int number_of_sweeps,
21036  float const matrices[],
21037  char const * options); // HC_Compute_Swept_Shell_Along_Path
21038 
21046 HC_INTERFACE void HC_CDECL HC_DCompute_Swept_Shell_Along_P (
21047  Key shellkey,
21048  int number_of_sweeps,
21049  double const matrices[],
21050  char const * options); // HC_DCompute_Swept_Shell_Along_Path
21051 
21083 HC_INTERFACE float HC_CDECL HC_Compute_Selection_Dist_By_Sh (
21084  char const * action,
21085  char const * start_segment,
21086  int pcount,
21087  Point const points[],
21088  int flist_length,
21089  int const faces[] ,
21090  const char * options); // HC_Compute_Selection_Distance_By_Shell
21091 
21103 HC_INTERFACE double HC_CDECL HC_DCompute_Selection_Dist_By_S (
21104  char const * action,
21105  char const * start_segment,
21106  int pcount,
21107  DPoint const points[],
21108  int flist_length,
21109  int const faces[] ,
21110  const char * options); // HC_DCompute_Selection_Distance_By_Shell
21111 
21124 HC_INTERFACE void HC_CDECL HC_Begin_Shell_Selection (void);
21125 
21130 HC_INTERFACE void HC_CDECL HC_End_Shell_Selection (void);
21131 
21172 HC_INTERFACE int HC_CDECL HC_Compute_Intersect_Polyline (
21173  int pcount1,
21174  Point const points1[],
21175  int flist_length3,
21176  int const face_list1[],
21177  int pcount2,
21178  Point const points2[],
21179  int flist_length2,
21180  int const face_list2[],
21181  int *polyline_count,
21182  int polyline_lengths[],
21183  int *polyline_points_count,
21184  Point polyline_points[]);
21185 
21201 HC_INTERFACE int HC_CDECL HC_Show_Intersect_Polyline_Size (
21202  int pcount1,
21203  Point const points1[],
21204  int flist_length3,
21205  int const face_list1[],
21206  int pcount2,
21207  Point const points2[],
21208  int flist_length2,
21209  int const face_list2[],
21210  int *polyline_count,
21211  int *polyline_points_count);
21212 
21229 HC_INTERFACE int HC_CDECL HC_DCompute_Intersect_Polyline (
21230  int pcount1,
21231  DPoint const points1[],
21232  int flist_length3,
21233  int const face_list1[],
21234  int pcount2,
21235  DPoint const points2[],
21236  int flist_length2,
21237  int const face_list2[],
21238  int *polyline_count,
21239  int polyline_lengths[],
21240  int *polyline_points_count,
21241  DPoint polyline_points[]);
21242 HC_INTERFACE int HC_CDECL HC_DShow_Intersect_Polyline_Size (
21243  int pcount1,
21244  DPoint const points1[],
21245  int flist_length3,
21246  int const face_list1[],
21247  int pcount2,
21248  DPoint const points2[],
21249  int flist_length2,
21250  int const face_list2[],
21251  int *polyline_count,
21252  int *polyline_points_count);
21253 
21270 HC_INTERFACE bool HC_CDECL HC_Compute_Point_Inside_Shell (
21271  Point const *test_point,
21272  int point_count,
21273  Point const points[],
21274  int face_list_length,
21275  int const face_list[]);
21276 
21286 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_Inside_Shell (
21287  DPoint const *test_point,
21288  int point_count,
21289  DPoint const points[],
21290  int face_list_length,
21291  int const face_list[]);
21292 
21310 HC_INTERFACE bool HC_CDECL HC_Compute_Point_On_Shell (
21311  Point const *test_point,
21312  double tolerance,
21313  int point_count,
21314  Point const points[],
21315  int face_list_length,
21316  int const face_list[]);
21317 
21328 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_On_Shell (
21329  DPoint const *test_point,
21330  double tolerance,
21331  int point_count,
21332  DPoint const points[],
21333  int face_list_length,
21334  int const face_list[]);
21335 
21373 HC_INTERFACE void HC_CDECL HC_Compute_Points_Inside_Shell (
21374  int test_point_count,
21375  Point const test_points[],
21376  Vector const test_points_vectors[],
21377  int point_count,
21378  Point const points[],
21379  int face_list_length,
21380  int const face_list[],
21381  char const *options,
21382  int results[]);
21383 HC_INTERFACE void HC_CDECL HC_DCompute_Points_Inside_Shell (
21384  int test_point_count,
21385  DPoint const test_points[],
21386  DVector const test_points_vectors[],
21387  int point_count,
21388  DPoint const points[],
21389  int face_list_length,
21390  int const face_list[],
21391  char const *options,
21392  int results[]);
21393 
21416 HC_INTERFACE int HC_CDECL HC_Compute_Points_On_Shell (
21417  int test_point_count,
21418  Point const test_points[],
21419  double tolerance,
21420  int point_count,
21421  Point const points[],
21422  int face_list_length,
21423  int const face_list[],
21424  int results[]);
21425 
21438 HC_INTERFACE int HC_CDECL HC_DCompute_Points_On_Shell (
21439  int test_point_count,
21440  DPoint const test_points[],
21441  double tolerance,
21442  int point_count,
21443  DPoint const points[],
21444  int face_list_length,
21445  int const face_list[],
21446  int results[]);
21447 
21480 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_Sh (
21481  int test_point_count,
21482  Point const test_points[],
21483  double tolerance,
21484  int point_count,
21485  Point const points[],
21486  int face_list_length,
21487  int const face_list[],
21488  const char *options,
21489  float results[]); // HC_Compute_Points_Distance_From_Shell
21490 
21504 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_F_S (
21505  int test_point_count,
21506  DPoint const test_points[],
21507  double tolerance,
21508  int point_count,
21509  DPoint const points[],
21510  int face_list_length,
21511  int const face_list[],
21512  const char *options,
21513  double results[]); // HC_DCompute_Points_Distance_From_Shell
21514 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_S2 (
21515  int test_pcount,
21516  Point const test_pt[],
21517  double tolerance,
21518  int point_count1,
21519  Point const points1[],
21520  int face_list_length3,
21521  int const face_list1[],
21522  const char *options,
21523  float results[],
21524  int face_results[]); // HC_Compute_Points_Distance_From_Shell2
21525 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_FS2 (
21526  int test_pcount,
21527  DPoint const test_pt[],
21528  double tolerance,
21529  int point_count1,
21530  DPoint const points1[],
21531  int face_list_length3,
21532  int const face_list1[],
21533  const char *options,
21534  double results[],
21535  int face_results[]); // HC_DCompute_Points_Distance_From_Shell2
21536 
21565 HC_INTERFACE void HC_CDECL HC_Compute_Shell_Enclosure (
21566  int point_count1,
21567  Point const points1[],
21568  int face_list_length3,
21569  int const face_list1[],
21570  int point_count2,
21571  Point const points2[],
21572  int face_list_length2,
21573  int const face_list2[],
21574  char *result);
21575 
21587 HC_INTERFACE void HC_CDECL HC_DCompute_Shell_Enclosure (
21588  int point_count1,
21589  DPoint const points1[],
21590  int face_list_length3,
21591  int const face_list1[],
21592  int point_count2,
21593  DPoint const points2[],
21594  int face_list_length2,
21595  int const face_list2[],
21596  char *result);
21597 
21634 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Ray (
21635  char const *action,
21636  char const *start_seg,
21637  Point const *start_point,
21638  Vector const *direction);
21639 
21648 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Ray (
21649  char const *action,
21650  char const *start_seg,
21651  DPoint const *start_point,
21652  DVector const *direction);
21653 
21679 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid (char const *segment, char const *options, Point *min, Point *max);
21680 
21692 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Key (Key segKey, char const *options, Point *min, Point *max);
21693 
21708 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, Point *min, Point *max);
21709 
21736 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere (char const *segment, char const *options, Point *center, float *radius);
21737 
21747 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Key (Key segKey, char const *options, Point *center, float *radius);
21748 
21763 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Path (int count, Key const keys[], char const *options, Point *center, float *radius);
21764 
21773 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid (char const *segment, char const *options, DPoint *min, DPoint *max);
21774 
21784 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Key (Key segKey, char const *options, DPoint *min, DPoint *max);
21785 
21795 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, DPoint *min, DPoint *max);
21796 
21805 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere (char const *segment, char const *options, DPoint *center, double *radius);
21806 
21816 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Key (Key segKey, char const *options, DPoint *center, double *radius);
21817 
21828 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Path (int count, Key const keys[], char const *options, DPoint *center, double *radius);
21829 
21864 HC_INTERFACE void HC_CDECL HC_Set_Polygonal_Clip_Region (int count, Point const points[], char const * options);
21865 
21872 HC_INTERFACE void HC_CDECL HC_DSet_Polygonal_Clip_Region (int count, DPoint const points[], char const * options);
21873 
21911 HC_INTERFACE void HC_CDECL HC_Set_Complex_Clip_Region (int loops, int const lengths[], Point const points[], char const * options);
21912 
21920 HC_INTERFACE void HC_CDECL HC_DSet_Complex_Clip_Region (int loops, int const lengths[], DPoint const points[], char const * options);
21921 
21931 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region (
21932  int *loopCount, int loopSizeArray[], Point points[], char *options);
21933 
21941 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region (
21942  int *loopCount, int loopSizeArray[], DPoint points[], char *options);
21943 
21955 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region_Size (
21956  int *loopCount, int *totalPointCount, char *options);
21957 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region_Size (
21958  int *loopCount, int *totalPointCount, char *options);
21959 
21982 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region (
21983  int count, Key const keys[], int *loopCount, int loopSizeArray[], Point points[], char *spec);
21984 
22000 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region_Size (
22001  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
22002 
22013 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region (
22014  int count, Key const keys[], int *loopCount, int loopSizeArray[], DPoint points[], char *spec);
22015 
22025 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region_Size (
22026  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
22027 
22032 HC_INTERFACE void HC_CDECL HC_UnSet_Clip_Region (void);
22033 
22051 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD (char const *segment, char const *options);
22052 
22059 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD_By_Key (Key segKey, char const *options);
22060 
22107 HC_INTERFACE void HC_CDECL HC_Set_Text_Region (int pCount, Point const points[], char const *options);
22108 
22121 HC_INTERFACE void HC_CDECL HC_Show_Text_Region (int *count, Point points[], char *options);
22122 
22129 HC_INTERFACE void HC_CDECL HC_DSet_Text_Region (int pCount, DPoint const points[], char const *options);
22130 
22131 
22132 HC_INTERFACE void HC_CDECL HC_DShow_Text_Region (int *count, DPoint points[], char *options);
22133 
22139 HC_INTERFACE void HC_CDECL HC_Show_Text_Region_Count (int *count);
22140 
22145 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Region (void);
22146 
22184 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent (
22185  char const *segment, char const *options, float *left, float *right, float *bottom, float *top);
22186 
22198 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Pat (
22199  int count, Key const keys[], char const *options, float *left, float *right, float *bottom, float *top); // HC_Compute_Screen_Extent_By_Path
22200 
22211 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Key (
22212  Key segKey, char const *options, float *left, float *right, float *bottom, float *top);
22213 
22232 HC_INTERFACE void HC_CDECL HC_Set_Camera_Near_Limit (double wlimit);
22233 
22240 HC_INTERFACE bool HC_CDECL HC_Show_Camera_Near_Limit (float *limit);
22241 
22255 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Camera_Near_Limit (int count, Key const keys[], float *limit);
22256 
22263 HC_INTERFACE void HC_CDECL HC_UnSet_Camera_Near_Limit (void);
22264 
22274 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
22275 
22282 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option_Length (char const *which, int *length);
22283 
22293 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
22294 
22301 HC_INTERFACE void HC_CDECL HC_Show_One_Uni_Option_Length (unsigned short const *text, int *length); // HC_Show_One_Unicode_Option_Length
22302 
22322 HC_INTERFACE Key HC_CDECL HC_Show_Original_Key (Key key);
22323 
22343 HC_INTERFACE Key HC_CDECL HC_Show_Renumbered_Key (Key key, char *status);
22344 
22353 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Angle (Vector const *vector, Vector const *vector2);
22354 
22361 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Angle (DVector const *vector, DVector const *vector2);
22362 
22383 HC_INTERFACE void HC_CDECL HC_Set_Conditions (char const *list);
22384 
22389 HC_INTERFACE void HC_CDECL HC_UnSet_Conditions (void);
22390 
22396 HC_INTERFACE void HC_CDECL HC_UnSet_One_Condition (char const *condition);
22397 
22420 HC_INTERFACE void HC_CDECL HC_Set_Conditional_Action (char const * options, char const * condition);
22421 
22427 HC_INTERFACE void HC_CDECL HC_Show_Cond_Action_Types (char * action_types); // HC_Show_Conditional_Action_Types
22428 
22436 HC_INTERFACE void HC_CDECL HC_Show_One_Conditional_Action (char const * action_type, char * options, char * condition);
22437 
22442 HC_INTERFACE void HC_CDECL HC_UnSet_Conditional_Actions (void);
22443 
22449 HC_INTERFACE void HC_CDECL HC_UnSet_One_Conditional_Action (char const *which);
22450 
22463 HC_INTERFACE Key HC_CDECL HC_Conditional_Style (char const *style, char const *conditions);
22464 
22472 HC_INTERFACE Key HC_CDECL HC_Conditional_Style_By_Key (Key seg_key, char const *conditions);
22473 HC_INTERFACE bool HC_CDECL HC_Evaluate_Condition(const char * expression, const char * conditions);
22474 HC_INTERFACE Key HC_CDECL HC_Conditional_Include (char const *include, char const *condition);
22475 
22483 HC_INTERFACE Key HC_CDECL HC_Conditional_Include_By_Key (Key seg_key, char const *condition);
22484 
22490 HC_INTERFACE void HC_CDECL HC_Show_Conditions (char *list);
22491 
22503 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions (int count, Key const keys[], char *options);
22504 
22510 HC_INTERFACE void HC_CDECL HC_Show_Conditions_Length (int *length);
22511 
22523 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions_Length (int count, Key const keys[], int *length);
22524 
22531 HC_INTERFACE void HC_CDECL HC_Show_One_Condition (char const *condition, char *value);
22532 
22543 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Condition (int count, Key const keys[], char const * condition, char * options);
22544 
22552 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Include (Key key, char *pathname, char *conditions);
22553 
22561 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Style (Key key, char *pathname, char *conditions);
22562 
22572 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[]);
22573 HC_INTERFACE void HC_CDECL HC_Reverse_Contents_Search (void);
22574 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Colors_By_Value (Key key, char const *type, int offset, int count, RGB rgb[]);
22575 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
22576 
22585 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_Value (Key key, int offset, int count, RGB rgb[]);
22586 
22595 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_FIndex (Key key, int offset, int count, float findices[]);
22596 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22597 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameters (Key key, int offset, int pcount, int *number, float params[]);
22598 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameter_Size (Key key, int *number);
22599 
22616 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center (double x, double y, double z);
22617 
22631 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center_By_Key (Key key, double x, double y, double z);
22632 
22639 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center (double x, double y, double z);
22640 
22648 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center_By_Key (Key key, double x, double y, double z);
22649 
22667 HC_INTERFACE bool HC_CDECL HC_Show_Circular_Center (Key key, float * x, float * y, float * z);
22668 
22676 HC_INTERFACE bool HC_CDECL HC_DShow_Circular_Center (Key key, double * x, double * y, double * z);
22677 HC_INTERFACE void HC_CDECL HC_MShow_Net_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22678 
22692 HC_INTERFACE bool HC_CDECL HC_Show_Error (char * severity, int * category, int * severity_level);
22693 
22701 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Visibilities (Key key, int offset, int count, char const settings[]);
22702 
22709 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Visibilities (Key key, int offset, int count);
22710 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Visibilities (Key key, int offset, int count, char settings[]);
22711 
22740 HC_INTERFACE void HC_CDECL HC_MSet_Face_Visibilities (Key key, int offset, int count, char const settings[]);
22741 
22754 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Visibilities (Key key, int offset, int count);
22755 
22769 HC_INTERFACE void HC_CDECL HC_MShow_Face_Visibilities (Key key, int offset, int count, char settings[]);
22770 
22778 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
22779 
22786 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vertex_Vis (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Visibilities
22787 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vertex_Vis (Key key, int count, int const indices[], char settings[]); // HC_MShow_Specific_Vertex_Visibilities
22788 
22802 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
22803 
22811 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
22812 
22830 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
22831 
22845 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Colors (Key key, int offset, int count);
22846 
22854 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors (Key key, int offset, int count);
22855 
22876 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Section (int count, Plane const planes[]);
22877 
22884 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Section (int count, DPlane const planes[]);
22885 
22898 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section (Key key, int *count, Plane planes[]);
22899 
22911 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section_Count (Key key, int *count);
22912 
22919 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Section (Key key, int *count, DPlane planes[]);
22920 
22930 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, Plane const iplanes[]);
22931 
22932 
22941 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, DPlane const iplanes[]);
22942 
22958 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation(Point const points[], int flist_length, int const face_list[], int *tlist_length, int triangle_list[]);
22959 
22968 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation_Size(Point const points[], int flist_length, int const face_list[], int *tlist_length);
22969 
22986 HC_INTERFACE bool HC_CDECL HC_Compute_Polyline_From_Curve(Key key, char const *options, int *pcount, Point points[]);
22987 
22995 HC_INTERFACE bool HC_CDECL HC_DCompute_Polyline_From_Curve(Key key, char const *options, int *pcount, DPoint points[]);
22996 
23004 HC_INTERFACE void HC_CDECL HC_Compute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_Compute_Polyline_From_Curve_Size
23005 
23012 HC_INTERFACE void HC_CDECL HC_DCompute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_DCompute_Polyline_From_Curve_Size
23013 
23102 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree (char const * segname, char const * option_string);
23103 
23110 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree_By_Key (Key segkey, char const * option_string);
23111 
23133 HC_INTERFACE void HC_CDECL HC_Show_Optimized_Mapping (char const * segname, char const * direction,
23134  Key in_owner, Key in_key, int in_region,
23135  Key * out_owner, Key * out_key, int * out_region);
23136 
23152 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture(int count, Key const keys[],char const * name, char *output, Key * out_image);
23153 
23170 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Texture(int count, Key const keys[], char const * name, char const * opt, char *output);
23171 
23185 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shader(int count, Key const keys[],char const * name, char *output, char *shader_source);
23186 
23203 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);
23204 
23216 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Shader_Option(int count, Key const keys[], char const * name, char const * opt, char *output);
23217 
23230 HC_INTERFACE void HC_CDECL HC_Show_Priority_Range (Key key, int *low, int *high);
23231 
23241 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Points (Key key, int count, int const indices[]);
23242 
23252 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Faces (Key key, int count, int const indices[]);
23253 
23254 
23269 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_FIndex (
23270  Key key, char const *types, int count, int const offsets[], float const indices[]); // HC_MSet_Specific_Vertex_Colors_By_FIndex
23271 
23287 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_Value (
23288  Key key, char const *types, int count, int const offsets[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Vertex_Colors_By_Value
23289 
23303 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_FIndex (
23304  Key key, int count, int const indices[], float const findices[]); // HC_MSet_Specific_Face_Colors_By_FIndex
23305 
23320 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_Value (
23321  Key key, int count, int const indices[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Face_Colors_By_Value
23322 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_FInd (
23323  Key key, char const *type, int pcount, int const offsets[], float indices[]); // HC_MShow_Specific_Vertex_Colors_By_FIndex
23324 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_Value (
23325  Key key, char const *type, int count, int const offsets[], RGB rgb[]); // HC_MShow_Specific_Vertex_Colors_By_Value
23326 
23335 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_FInd (
23336  Key key, int count, int const indices[], float findices[]); // HC_MShow_Specific_Face_Colors_By_FIndex
23337 
23346 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_Value (
23347  Key key, int count, int const indices[], RGB rgb[]); // HC_MShow_Specific_Face_Colors_By_Value
23348 
23356 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vertex_Colors (Key key, int count, int const offsets[]); // HC_MUnSet_Specific_Vertex_Colors
23357 
23365 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Face_Colors (Key key, int count, int const faces[]); // HC_MUnSet_Specific_Face_Colors
23366 
23384 HC_INTERFACE int HC_CDECL HC_Gather_Capping_Geometry (int key_count, Key const path_keys[], Key cut_key, char const * options);
23385 
23423 HC_INTERFACE Key HC_CDECL HC_Generate_Shell_From_Geometry(Key geom, char const *options);
23424 
23460 HC_INTERFACE Key HC_CDECL HC_Generate_Edges(Key geom, char const *options);
23461 
23477 HC_INTERFACE Key HC_CDECL HC_Generate_Poly_From_Geometry(Key geom, char const *options); // HC_Generate_Polyline_From_Geometry
23478 
23479 
23490 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood_Si (
23491  Key shell_key,
23492  int face_index,
23493  int *count); // HC_Compute_Face_Neighborhood_Size
23494 
23509 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood (
23510  Key shell_key,
23511  int face_index,
23512  int *count,
23513  int neighbors[]);
23514 
23524 HC_INTERFACE void HC_CDECL HC_Show_Net_Normal (float *x, float *y, float *z);
23525 
23540 HC_INTERFACE void HC_CDECL HC_Rollback_Ink(int count);
23541 
23571 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry (char const *segname);
23572 
23579 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_By_Key (Key geom_key);
23580 
23594 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference (char const *segname, char const *condition);
23595 
23603 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference_By_Key (Key geom_key, char const *condition);
23604 
23611 HC_INTERFACE Key HC_CDECL HC_Show_Reference_Geometry (Key reference_key);
23612 
23620 HC_INTERFACE Key HC_CDECL HC_Show_Conditional_Reference (Key reference_key, char *conditions);
23621 HC_INTERFACE void HC_CDECL HC_Show_Reference_Geometry_Filt (Key key, char *filter); // HC_Show_Reference_Geometry_Filter
23622 
23638 HC_INTERFACE void HC_CDECL HC_Begin_Open_Item_Search (void);
23639 
23649 HC_INTERFACE bool HC_CDECL HC_Find_Open_Item (Key *key, char *type, int *offset1, int *offset2);
23650 
23656 HC_INTERFACE void HC_CDECL HC_Show_Open_Item_Count (int *count);
23657 
23662 HC_INTERFACE void HC_CDECL HC_End_Open_Item_Search (void);
23663 
23677 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Length (int count, Key const keys[], int *value);
23678 
23684 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Length (int *value);
23685 
23692 HC_INTERFACE void HC_CDECL HC_Move_Key_By_Key (Key key, Key newowner); // HC_Move_By_Key_By_Key
23693 
23709 HC_INTERFACE void HC_CDECL HC_Set_User_Data (intptr_t index, void const *data, long data_length);
23710 
23727 HC_INTERFACE long HC_CDECL HC_Show_One_User_Data (intptr_t index, void *data, long data_length);
23728 
23741 HC_INTERFACE long HC_CDECL HC_Show_User_Data_Indices (intptr_t data_indices[], long data_indices_count);
23742 
23748 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Data (intptr_t index);
23749 
23766 HC_INTERFACE long HC_CDECL HC_PShow_One_Net_User_Data (
23767  int count,
23768  Key const keys[],
23769  intptr_t index,
23770  void *data,
23771  long data_length);
23772 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
23773 
23781 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Normals (Key key, int offset, int count);
23782 
23790 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Normals (Key key, int offset, int count);
23791 
23800 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Parameters (Key key, int offset, int count);
23801 
23810 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Vertex_Normals (Key key, int count, int const indices[], Vector const normals[]);
23811 
23819 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vert_Normals (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Normals
23820 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vert_Normals (Key key, int count, int const indices[], Vector normals[]); // HC_MShow_Specific_Vertex_Normals
23821 
23830 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Face_Normals (Key key, int count, int const indices[], Vector const normals[]);
23831 
23839 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Face_Normals (Key key, int count, int const indices[]);
23840 
23849 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Face_Normals (Key key, int count, int const indices[], Vector normals[]);
23850 
23860 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
23861 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vertex_Parameters (Key key, int count, int const indices[], int * number_parameters, float user_parameters[]);
23862 
23870 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vert_Parameters (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Parameters
23871 
23880 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors2 (Key key, char const * type, int offset, int count);
23881 
23888 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
23889 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
23890 
23913 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
23914 
23927 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
23928 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
23929 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
23930 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
23931 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
23932 
23950 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
23951 
23966 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
23967 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
23968 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
23969 
23986 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
23987 
24002 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
24003 
24011 HC_INTERFACE Key HC_CDECL HC_Include_Segment_Key_By_Key (Key key, Key includer_key);
24012 
24021 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
24022 
24039 HC_INTERFACE void HC_CDECL HC_Define_Named_Style (char const * style_name, char const * source_segment);
24040 HC_INTERFACE void HC_CDECL HC_Define_Named_Style_By_Key (char const * style_name, Key style_segment_key);
24041 
24047 HC_INTERFACE void HC_CDECL HC_UnDefine_Named_Style (char const * style_name);
24048 
24055 HC_INTERFACE Key HC_CDECL HC_Show_Named_Style (char const * style_name, char *style_source);
24056 
24061 HC_INTERFACE void HC_CDECL HC_Begin_Named_Style_Search (void);
24062 
24069 HC_INTERFACE bool HC_CDECL HC_Find_Named_Style (char * style_name);
24070 
24076 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Count (int * count);
24077 
24082 HC_INTERFACE void HC_CDECL HC_End_Named_Style_Search (void);
24083 
24093 HC_INTERFACE Key HC_CDECL HC_PShow_Net_Named_Style (
24094  int count,
24095  Key const path_keys[],
24096  char const * style_name,
24097  char * style_segment_name);
24098 
24109 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment (char const * style_name);
24110 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style (char const * style_name, char const * condition);
24111 
24118 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Segment (Key style_key, char * style_name);
24119 
24127 HC_INTERFACE Key HC_CDECL HC_Open_Segment_Key_By_Key (Key parent_segment, char const *child_segment_name);
24128 
24136 HC_INTERFACE Key HC_CDECL HC_Style_Segment_Key_By_Key (Key target_segment, Key style_segment);
24137 
24145 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment_By_Key (Key target_segment, char const * style_name);
24146 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style_By_Key (Key target_segment, char const * style_name, char const * condition);
24147 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Named_Style (
24148  Key style_key,
24149  char * style_name,
24150  char * condition);
24151 
24159 HC_INTERFACE Key HC_CDECL HC_Create_Segment_Key_By_Key (Key parent_segment, char const * child_segment_name);
24160 
24165 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles();
24166 
24172 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles_By_K(Key target_segment); // HC_Set_Default_Line_Styles_By_Key
24173 
24178 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs();
24179 
24185 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs_By_Key(Key target_segment);
24186 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes();
24187 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes_By_Key(Key target_segment);
24188 
24196 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_Key_By_Ke (Key target_segment, Key reference_key); // HC_Reference_Geometry_Key_By_Key
24197 
24210 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style (
24211  int count,
24212  Key const keys[],
24213  char const * name,
24214  char * definition);
24215 
24228 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style_Size (
24229  int count,
24230  Key const keys[],
24231  char const * name,
24232  int * size);
24233 
24246 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph (
24247  int count,
24248  Key const keys[],
24249  char const * name,
24250  char * definition);
24251 
24264 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph_Size (
24265  int count,
24266  Key const keys[],
24267  char const * name,
24268  int * size);
24269 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape (
24270  int count,
24271  Key const keys[],
24272  char const * name,
24273  float * definition);
24274 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape_Size (
24275  int count,
24276  Key const keys[],
24277  char const * name,
24278  int * size);
24279 
24301 HC_INTERFACE void HC_CDECL HC_Generate_Error (
24302  int level,
24303  int category,
24304  int specific,
24305  char const * buf1,
24306  char const * buf2,
24307  char const * buf3);
24308 HC_INTERFACE void HC_CDECL HC_Commit_Proxy (
24309  Key key,
24310  const char * options);
24311 HC_INTERFACE Key HC_CDECL HC_Create_Proxy (
24312  Key key);
24313 HC_INTERFACE int HC_CDECL HC_Inspect_Proxies(Key out_keys[], int n_out_keys);
24314 
24357 HC_INTERFACE void HC_CDECL HC_Begin_Error_Handler_Search ();
24358 
24398 HC_INTERFACE void HC_CDECL HC_Begin_Exit_Handler_Search ();
24399 
24404 HC_INTERFACE void HC_CDECL HC_End_Error_Handler_Search ();
24405 
24410 HC_INTERFACE void HC_CDECL HC_End_Exit_Handler_Search ();
24411 
24418 HC_INTERFACE bool HC_CDECL HC_Find_Error_Handler (Void_Routine * handler);
24419 
24426 HC_INTERFACE bool HC_CDECL HC_Find_Exit_Handler (Void_Routine * handler);
24427 
24435 HC_INTERFACE void HC_CDECL HC_Show_Error_Handler_Count (int * count);
24436 
24442 HC_INTERFACE void HC_CDECL HC_Show_Exit_Handler_Count (int * count);
24443 
24460 HC_INTERFACE Key HC_CDECL HC_Compute_Subshell (
24461  Key source,
24462  int keep_fcount,
24463  const int keep_faces[],
24464  int keep_pcount,
24465  const int keep_pts1[],
24466  const int keep_pts2[],
24467  int face_map[],
24468  int pts_map[]);
24469 
24478 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Edge_Vis (
24479  Key key,
24480  int count,
24481  int const indices1[],
24482  int const indices2[],
24483  char const settings[]); // HC_MSet_Specific_Edge_Visibilities
24484 
24493 HC_INTERFACE void HC_CDECL HC_MShow_Face_Normals (
24494  Key key,
24495  int offset,
24496  int count,
24497  Vector normals[]);
24498 
24511 HC_INTERFACE void HC_CDECL HC_MShow_Net_Face_Normals (
24512  Key key,
24513  int offset,
24514  int count,
24515  Vector normals[]);
24516 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Edge_Vis (
24517  Key key,
24518  int count,
24519  int const indices1[],
24520  int const indices2[],
24521  char settings[]); // HC_MShow_Specific_Edge_Visibilities
24522 
24523 
24531 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Edge_Vis (
24532  Key key,
24533  int count,
24534  int const indices1[],
24535  int const indices2[]); // HC_MUnSet_Specific_Edge_Visibilities
24536 
24550 HC_INTERFACE void HC_CDECL HC_Show_Font_Info_By_Path (
24551  int count,
24552  Key const keys[],
24553  char const * font,
24554  char const * item,
24555  char * data);
24556 
24564 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys (
24565  Key key,
24566  int * count,
24567  Key keys[]);
24568 
24575 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys_Count (
24576  Key key,
24577  int * count);
24578 
24592 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern_Exp (
24593  int count,
24594  Key const keys[],
24595  char * pattern); // HC_PShow_Net_Line_Pattern_Explicit
24596 
24610 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern_Exp (
24611  int count,
24612  Key const keys[],
24613  char * pattern); // HC_PShow_Net_Edge_Pattern_Explicit
24614 HC_INTERFACE int HC_CDECL HC_Begin_Buffered_Selection (
24615  char const * start_name,
24616  double left,
24617  double right,
24618  double bottom,
24619  double top,
24620  char const * options);
24621 
24654 HC_INTERFACE int HC_CDECL HC_Collect_Area_Samples (
24655  double left,
24656  double right,
24657  double bottom,
24658  double top);
24659 
24676 HC_INTERFACE int HC_CDECL HC_Show_Sample_Max_Length ();
24677 
24705 HC_INTERFACE bool HC_CDECL HC_Find_Next_Sample (
24706  int * key_count,
24707  Key keys[],
24708  int * offset1,
24709  int * offset2,
24710  int * offset3);
24711 
24722 HC_INTERFACE void HC_CDECL HC_End_Buffered_Selection ();
24723 
24724 HC_INTERFACE void HC_CDECL HC_UnSet_Priority (Key key);
24725 
24789 HC_INTERFACE void HC_CDECL HC_Define_Highlight (
24790  int count,
24791  Key const keys[],
24792  char const * style,
24793  char const * options);
24794 
24814 HC_INTERFACE void HC_CDECL HC_Define_Geometry_Highlight (
24815  int count,
24816  Key const keys[],
24817  char const * style,
24818  char const * options,
24819  int elements_count,
24820  int const offset1[],
24821  int const offset2[],
24822  int const offset3[]);
24823 
24843 HC_INTERFACE int HC_CDECL HC_UnDefine_Highlight (
24844  int count,
24845  Key const keys[],
24846  char const * style,
24847  char const * options);
24848 
24860 HC_INTERFACE int HC_CDECL HC_UnDefine_Geometry_Highlight (
24861  int count,
24862  Key const keys[],
24863  char const * style,
24864  char const * options,
24865  int elements_count,
24866  int const offset1[],
24867  int const offset2[],
24868  int const offset3[]);
24869 
24898 HC_INTERFACE void HC_CDECL HC_Begin_Highlight_Search (
24899  int count,
24900  Key const keys[],
24901  char const * list);
24902 
24910 HC_INTERFACE bool HC_CDECL HC_Find_Highlight (
24911  int * count,
24912  Key keys[],
24913  char * options);
24914 
24920 HC_INTERFACE void HC_CDECL HC_Show_Highlight_Count (
24921  int * count,
24922  int * max_length);
24923 
24927 HC_INTERFACE void HC_CDECL HC_End_Highlight_Search (void);
24928 
24944 HC_INTERFACE void HC_CDECL HC_Determine_Highlight_Status(
24945  int count,
24946  Key const keys[],
24947  int results[],
24948  char const * list);
24949 
24961 HC_INTERFACE bool HC_CDECL HC_Check_Double_Precision(Key key, char const * options);
24962 
24963 
24973 HC_INTERFACE void HC_CDECL HC_DSet_Camera (
24974  DPoint const *position,
24975  DPoint const *target,
24976  DVector const *up,
24977  double width,
24978  double height,
24979  char const *projection);
24980 
24989 HC_INTERFACE void HC_CDECL HC_DSet_Camera_By_Volume (
24990  char const * proj,
24991  double xmin,
24992  double xmax,
24993  double ymin,
24994  double ymax);
24995 
25002 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Position (double x, double y, double z);
25003 
25011 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Target (double x, double y, double z);
25012 
25020 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Up_Vector (double x, double y, double z);
25021 
25028 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Field (double width, double height);
25029 
25041 HC_INTERFACE void HC_CDECL HC_DShow_Camera (
25042  DPoint * position,
25043  DPoint * target,
25044  DVector * up,
25045  double * width,
25046  double * height,
25047  char * projection);
25048 
25057 HC_INTERFACE void HC_CDECL HC_DShow_Camera_By_Volume (
25058  char * proj,
25059  double * xmin,
25060  double * xmax,
25061  double * ymin,
25062  double * ymax);
25063 
25070 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Position (double *x, double *y, double *z);
25071 
25078 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Target (double *x, double *y, double *z);
25079 
25086 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Up_Vector (double *x, double *y, double *z);
25087 
25093 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Field (double *width, double *height);
25094 
25100 HC_INTERFACE void HC_CDECL HC_DOrbit_Camera (double horiz, double vert);
25101 
25107 HC_INTERFACE void HC_CDECL HC_DPan_Camera (double horiz, double vert);
25108 
25113 HC_INTERFACE void HC_CDECL HC_DRoll_Camera (double angle);
25114 
25121 HC_INTERFACE void HC_CDECL HC_DDolly_Camera (double x, double y, double z);
25122 
25127 HC_INTERFACE void HC_CDECL HC_DZoom_Camera (double zoom);
25128 
25138 HC_INTERFACE Key HC_CDECL HC_DInsert_Text (double x, double y, double z, char const *text);
25139 
25147 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
25148 
25159 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
25160 
25170 HC_INTERFACE void HC_CDECL HC_DShow_Text (Key key, double *x, double *y, double *z, char *text);
25171 HC_INTERFACE void HC_CDECL HC_DShow_Text_Leader (Key key, double *x, double *y, double *z, char *options);
25172 
25183 HC_INTERFACE void HC_CDECL HC_DShow_Text_With_Encoding (Key key, double *x, double *y, double *z, char *encoding, void *text);
25184 
25185 HC_INTERFACE void HC_CDECL HC_DEdit_Text_Leader (Key key, double x, double y, double z, char const *options);
25186 
25198 HC_INTERFACE Key HC_CDECL HC_DInsert_Line (double xa, double ya, double za, double xb, double yb, double zb);
25199 
25210 HC_INTERFACE void HC_CDECL HC_DEdit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
25211 
25223 HC_INTERFACE void HC_CDECL HC_DShow_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
25224 
25233 HC_INTERFACE Key HC_CDECL HC_DInsert_Marker (double x, double y, double z);
25234 
25242 HC_INTERFACE void HC_CDECL HC_DEdit_Marker (Key key, double x, double y, double z);
25243 
25253 HC_INTERFACE void HC_CDECL HC_DShow_Marker (Key key, double *x, double *y, double *z);
25254 
25261 HC_INTERFACE Key HC_CDECL HC_DInsert_Polygon (int count, DPoint const points[]);
25262 
25272 HC_INTERFACE void HC_CDECL HC_DEdit_Polygon (Key key, int offset, int ndelete, int insert, DPoint const points[]);
25273 
25281 HC_INTERFACE void HC_CDECL HC_DShow_Polygon (Key key, int *count, DPoint points[]);
25282 
25290 HC_INTERFACE Key HC_CDECL HC_DInsert_Polyline (int count, DPoint const points[]);
25291 
25302 HC_INTERFACE void HC_CDECL HC_DEdit_Polyline (Key key, int offset, int ndelete, int insert, DPoint const points[]);
25303 
25310 HC_INTERFACE void HC_CDECL HC_DShow_Polyline (Key key, int * count, DPoint points[]);
25311 
25321 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell (
25322  int point_count,
25323  DPoint const points[],
25324  int face_list_length,
25325  int const face_list[]);
25326 
25336 HC_INTERFACE void HC_CDECL HC_DShow_Shell (
25337  Key key,
25338  int * point_countp,
25339  DPoint points[],
25340  int * face_list_lengthp,
25341  int face_list[]);
25342 
25343 
25354 HC_INTERFACE void HC_CDECL HC_DShow_Shell_By_Tristrips (
25355  Key key,
25356  int * point_countp,
25357  DPoint points[],
25358  int * tristrip_list_lengthp,
25359  int tristrip_list[],
25360  int * face_indices_lengthp,
25361  int face_indices[]);
25362 
25373 HC_INTERFACE void HC_CDECL HC_DEdit_Shell_Points (
25374  Key key,
25375  int ioffset,
25376  int ndelete,
25377  int insert,
25378  DPoint const points[]);
25379 
25387 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25388 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle_By_Radius (DPoint const *center, double radius, DVector const *normal);
25389 
25398 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Arc (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25399 
25408 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Chord (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25409 
25418 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Wedge (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25419 
25427 HC_INTERFACE void HC_CDECL HC_DEdit_Circle (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25428 
25436 HC_INTERFACE void HC_CDECL HC_DEdit_Circle_By_Radius (Key key, DPoint const *center, double radius, DVector const *vector);
25437 
25445 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Arc (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25446 
25454 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Chord (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25455 
25463 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Wedge (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25464 
25473 HC_INTERFACE void HC_CDECL HC_DShow_Circle (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25474 
25482 HC_INTERFACE void HC_CDECL HC_DShow_Circle_By_Radius (Key key, DPoint *center, double *radius, DVector *normal);
25483 
25492 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Arc (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25493 
25501 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Chord (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25502 
25511 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Wedge (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25512 
25521 HC_INTERFACE Key HC_CDECL HC_DInsert_Ellipse (DPoint const *center, DPoint const *major, DPoint const *minor);
25522 
25533 HC_INTERFACE Key HC_CDECL HC_DInsert_Elliptical_Arc (
25534  DPoint const *center,
25535  DPoint const *major,
25536  DPoint const *minor,
25537  double start,
25538  double end);
25539 
25547 HC_INTERFACE void HC_CDECL HC_DEdit_Ellipse (Key key, DPoint const *center, DPoint const *major, DPoint const *minor);
25548 
25558 HC_INTERFACE void HC_CDECL HC_DEdit_Elliptical_Arc (
25559  Key key,
25560  DPoint const *center,
25561  DPoint const *major,
25562  DPoint const *minor,
25563  double start,
25564  double end);
25565 
25573 HC_INTERFACE void HC_CDECL HC_DShow_Ellipse (Key key, DPoint *center, DPoint *major, DPoint *minor);
25574 
25586 HC_INTERFACE void HC_CDECL HC_DShow_Elliptical_Arc (Key key,
25587  DPoint *center,
25588  DPoint *major,
25589  DPoint *minor,
25590  float *start,
25591  float *end);
25592 
25604 HC_INTERFACE Key HC_CDECL HC_DInsert_Grid (
25605  char const *type,
25606  DPoint const *origin,
25607  DPoint const *ref1,
25608  DPoint const *ref2,
25609  int count1,
25610  int count2);
25611 
25612 
25624 HC_INTERFACE void HC_CDECL HC_DShow_Grid (
25625  Key key,
25626  char *type,
25627  DPoint *origin,
25628  DPoint *ref1,
25629  DPoint *ref2,
25630  int *count1,
25631  int *count2);
25632 
25643 HC_INTERFACE void HC_CDECL HC_DEdit_Grid (
25644  Key key,
25645  char const *type,
25646  DPoint const *origin,
25647  DPoint const *ref1,
25648  DPoint const *ref2,
25649  int count1,
25650  int count2);
25651 
25660 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh (int rows, int columns, DPoint const points[]);
25661 
25670 HC_INTERFACE void HC_CDECL HC_DShow_Mesh (Key key, int *rows, int *columns, DPoint points[]);
25671 
25681 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[]);
25682 
25694 HC_INTERFACE Key HC_CDECL HC_DInsert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
25695 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);
25696 
25709 HC_INTERFACE void HC_CDECL HC_DShow_Image (Key key, double *x, double *y, double *z, char *format, int *width, int *height, void *data);
25710 
25722 HC_INTERFACE void HC_CDECL HC_DShow_Image_Size (Key key, double *x, double *y, double *z, char *format, int *width, int *height);
25723 
25736 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);
25737 
25745 HC_INTERFACE void HC_CDECL HC_DMove_Image (Key key, double x, double y, double z);
25746 
25755 HC_INTERFACE Key HC_CDECL HC_DInsert_Ink (double x, double y, double z);
25756 
25766 HC_INTERFACE Key HC_CDECL HC_DInsert_PolyCylinder (int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping);
25767 
25777 HC_INTERFACE void HC_CDECL HC_DShow_PolyCylinder (Key key, int *p_count, DPoint pts[], int *r_count, double radii[], char *capping);
25778 
25788 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);
25789 
25800 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[]);
25801 
25811 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Plane (double a, double b, double c, double d);
25812 
25821 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Plane (Key key, double *a, double *b, double *c, double *d);
25822 
25831 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Plane (Key key, double a, double b, double c, double d);
25832 
25842 HC_INTERFACE Key HC_CDECL HC_DInsert_Cylinder (DPoint const *center_point_1, DPoint const *center_point_2, double radius, char const *cap);
25843 
25853 HC_INTERFACE void HC_CDECL HC_DShow_Cylinder (Key key, DPoint *p1, DPoint *p2, double *radius, char *cap);
25854 
25863 HC_INTERFACE void HC_CDECL HC_DEdit_Cylinder (Key key, DPoint const *p1, DPoint const *p2, double radius, char const *cap);
25864 
25873 HC_INTERFACE Key HC_CDECL HC_DInsert_Sphere (DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
25874 
25883 HC_INTERFACE void HC_CDECL HC_DShow_Sphere (Key key, DPoint *center, double *radius, DVector *axis, DVector *ortho);
25884 
25893 HC_INTERFACE void HC_CDECL HC_DEdit_Sphere (Key key, DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
25894 
25895 
25896 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Curve (
25897  int degree,
25898  int cpcount,
25899  DPoint const control_points[],
25900  float const weights[],
25901  float const knots[],
25902  double start_u,
25903  double end_u);
25904 
25918 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Curve (
25919  Key key,
25920  int *degree,
25921  int *cp_count,
25922  DPoint points[],
25923  float weights[],
25924  float knots[],
25925  float *start_u,
25926  float *end_u);
25927 
25940 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Curve (
25941  Key key,
25942  int cp_offset,
25943  int knot_offset,
25944  int cp_count,
25945  int knot_count,
25946  DPoint const control_points[],
25947  float const weights[],
25948  float const knots[]);
25949 
25963 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Surface (
25964  int u_degree,
25965  int v_degree,
25966  int u_count,
25967  int v_count,
25968  DPoint const points[],
25969  float const weights[],
25970  float const u_knots[],
25971  float const v_knots[]);
25972 
25973 
25988 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Surface (
25989  Key key,
25990  int *u_degree,
25991  int *v_degree,
25992  int *u_count,
25993  int *v_count,
25994  DPoint points[],
25995  float weights[],
25996  float u_knots[],
25997  float v_knots[]);
25998 
26017 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface (
26018  Key key,
26019  int cp_offset,
26020  int weights_offset,
26021  int u_knot_offset,
26022  int v_knot_offset,
26023  int cp_replace_count,
26024  int weights_replace_count,
26025  int u_knot_replace_count,
26026  int v_knot_replace_count,
26027  DPoint const points[],
26028  float const weights[],
26029  float const u_knots[],
26030  float const v_knots[]);
26031 
26041 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface_Points (
26042  Key key,
26043  int cp_offset,
26044  int cp_replace_count,
26045  DPoint const points[]);
26046 
26055 HC_INTERFACE Key HC_CDECL HC_DInsert_Local_Light (double x, double y, double z);
26056 
26065 HC_INTERFACE void HC_CDECL HC_DShow_Local_Light (Key key, double *x, double *y, double *z);
26066 
26075 HC_INTERFACE Key HC_CDECL HC_DInsert_Spot_Light (DPoint const *position, DPoint const *target, char const *list);
26076 
26085 HC_INTERFACE void HC_CDECL HC_DShow_Spot_Light (Key key, DPoint *position, DPoint *target, char *list);
26086 
26095 HC_INTERFACE Key HC_CDECL HC_DInsert_Area_Light (int count, DPoint const points[], char const *listptr);
26096 
26104 HC_INTERFACE void HC_CDECL HC_DShow_Area_Light (Key key, int *ucount, DPoint upoints[], char *listptr);
26105 
26116 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates (
26117  char const *segment,
26118  char const *in_system,
26119  DPoint const *in_position,
26120  char const *out_system,
26121  DPoint *out_position);
26122 
26134 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates_By_Path (
26135  int count,
26136  Key const keys[],
26137  char const *in_system,
26138  DPoint const *in_position,
26139  char const *out_system,
26140  DPoint *out_position);
26141 
26150 HC_INTERFACE void HC_CDECL HC_DCompute_Transformed_Points (int count, DPoint const points[], double const matrix[], DPoint out_points[]);
26151 
26152 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell2 (
26153  int in_pt_count_target,
26154  Point const in_pts_target[],
26155  Vector const in_normals_target[],
26156  int in_flist_len_target,
26157  int const in_flist_target[],
26158 
26159  int in_pt_count_tool,
26160  Point const in_pts_tool[],
26161  Vector const in_normals_tool[],
26162  int in_flist_len_tool,
26163  int const in_flist_tool[],
26164 
26165  char const * option_string,
26166  RGB const * in_color1,
26167  RGB const * in_color2,
26168  unsigned char const in_vis1[],
26169  unsigned char const in_vis2[]);
26170 
26192 HC_INTERFACE Key HC_CDECL HC_DCompute_Boolean_Shell (
26193  int in_pt_count_target,
26194  DPoint const in_pts_target[],
26195  Vector const in_normals_target[],
26196  int in_flist_len_target,
26197  int const in_flist_target[],
26198 
26199  int in_pt_count_tool,
26200  DPoint const in_pts_tool[],
26201  Vector const in_normals_tool[],
26202  int in_flist_len_tool,
26203  int const in_flist_tool[],
26204 
26205  char const * option_string,
26206  RGB const * in_color1,
26207  RGB const * in_color2,
26208  unsigned char const in_vis1[],
26209  unsigned char const in_vis2[]);
26210 
26211 
26229 HC_INTERFACE void HC_CDECL HC_DCompute_Optimized_Shell (
26230  int pcount,
26231  DPoint const points[],
26232  Vector const normals[],
26233  int flist_length,
26234  int const face_list[],
26235  char const * options,
26236  int * new_pcount,
26237  DPoint new_points[],
26238  int * new_flist_length,
26239  int new_face_list[],
26240  int point_mapping_list[],
26241  int face_mapping_list[]);
26242 
26243 HC_INTERFACE intptr_t HC_CDECL HC_Memory_Usage_By_Key (
26244  Key key,
26245  char const * which);
26246 
26247 HC_INTERFACE void HC_CDECL HC_Apply_Attribute_Filter (
26248  Key key,
26249  char const * filter);
26250 
26251 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter (
26252  Key key,
26253  char * filter);
26254 
26255 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter_Length (
26256  Key key,
26257  int * filter_length);
26258 
26259 HC_INTERFACE void HC_CDECL HC_Begin_Decimate_Shell (Key key);
26260 HC_INTERFACE void HC_CDECL HC_End_Decimate_Shell (void);
26261 HC_INTERFACE Key HC_CDECL HC_Decimate_Shell (int quality_percent, char const * options);
26262 
26263 #if __APPLE__
26264 #pragma clang diagnostic pop
26265 #endif
26266 
26267 #endif // HPS_CORE_BUILD
26268 
26269 #define HC_PROTO_DEFINED 1
26270 #endif /* HC_PROTO_DEFINED */
26271 
26272 
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...
bool HC_Show_Shader_Uniforms_Data_Size(char const *target, Key shader_key, int *size)
Returns the size of the shader uniform data in bytes. Only valid for modern custom shaders...
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 attribute...
void HC_MUnSet_Spec_Face_Colors(Key key, int count, int const faces[])
Removes vertex-specific color settings from an arbitrary set of faces.
void HC_Show_Line_Weight(float *weight)
Returns the line weight that has been set on the currently open segment.
void HC_DRotate_Object_Offaxis(double x, double y, double z, double theta)
Similar to Rotate_Object_Offaxis(), but operates on double-precision data.
void HC_DCompute_Rotation_Matrix(double alpha, double beta, double theta, double out_matrix[])
Similar to Compute_Rotation_Matrix(), but operates on double-precision data.
double HC_DCompute_Vector_Angle(DVector const *vector, DVector const *vector2)
Similar to Compute_Vector_Angle(), but operates on double-precision data.
void HC_Compute_Transformed_Points(int count, Point const points[], float const matrix[], Point out_points[])
Applies a user-specified transform to any number of points.
void HC_Show_User_Options(char *list)
Returns the user options that have been set on the currently open segment.
Key HC_Insert_Circle_By_Radius(Point const *center, double radius, Vector const *normal)
Generates a flat, infinitely thin, colored-in circular object.
void HC_Show_Shape_Count(int *count)
int HC_DPShow_Net_Camera_Up_Vector(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Up_Vector(), but operates on double-precision cameras.
void HC_Set_User_Options(char const *list)
Allows you to create new "attributes" of your own choosing.
bool HC_PShow_Net_Color_Map(int key_count, Key const path_keys[], char *colors)
bool HC_Show_Environment(char const *variable, char *value)
Allows you to retrieve information from the operating system environment of your running program...
int HC_Compute_Points_On_Shell(int test_point_count, Point const test_points[], double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[], int results[])
Tests, within a certain tolerance, whether a given set of points reside on the surface of a shell...
bool HC_PShow_One_Net_Rendering_Opti(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Rendering_Option() but returns the net settings along a discrete path...
void HC_Show_Circular_Chord(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular chord, as referenced by a key.
void HC_Show_One_User_Option(char const *type, char *value)
Similar to Show_User_Options() but returns a single setting, rather than the entire set...
void HC_DEdit_Circular_Arc(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Arc(), but operates on double-precision data.
void HC_End_Shader_Search(void)
Terminates the shader search sequence and frees any involved memory.
bool HC_Compute_Point_Inside_Shell(Point const *test_point, int point_count, Point const points[], int face_list_length, int const face_list[])
Tests whether a given point is inside a shell, which is assumed to be a closed surface.
void HC_Show_Marker(Key key, float *x, float *y, float *z)
Returns the position of a marker, as referenced by a key.
void HC_Set_User_Index(long index, void const *data)
Associates a segment with an index into a user-defined array of option strings.
bool HC_PShow_Net_User_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_User_Options(), but returns the net effective settings along a discrete segment path...
bool HC_Find_Related_Selection(void)
Allows you to inspect the "next best" geometry item with the current Selection Event.
void HC_MShow_Vertex_Parameters(Key key, int offset, int pcount, int *number, float params[])
void HC_DShow_Clip_Region_Size(int *loopCount, int *totalPointCount, char *options)
Key HC_DInsert_Line(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Line(), but accepts parameters of type double for increased precision. Unlike Insert_Line, the parameters are not truncated.
bool HC_DCompute_Coordinates(char const *segment, char const *in_system, DPoint const *in_position, char const *out_system, DPoint *out_position)
Similar to Compute_Coordinates(), but returns double-precision values for position.
void HC_MUnSet_Specific_Vertex_Vis(Key key, int count, int const indices[])
Removes per-vertex visibility settings on several individual vertices at once. This allows the shell ...
void HC_Set_Conditional_Action(char const *options, char const *condition)
Allows the user to associated specific action(s) with a set of conditions.
Key HC_DInsert_NURBS_Curve(int degree, int cpcount, DPoint const control_points[], float const weights[], float const knots[], double start_u, double end_u)
void HC_Show_Font_Info_By_Path(int count, Key const keys[], char const *font, char const *item, char *data)
Similar to Show_Font_Info(), but returns the net effective font information along a discrete segment ...
void HC_UnSet_Parameter(void)
Removes all settings established by a previous call to Set_Parameter().
Key HC_Insert_Cylinder(Point const *center_point_1, Point const *center_point_2, double radius, char const *cap)
Inserts a cylinder into the currently open segment.
void HC_Show_Text_Encoding(Key key, char *encoding)
Finds the type of encoding with which a particular string was inserted, as referenced by a key...
void HC_UnDefine_Named_Style(char const *style_name)
Removes a named style definintion established by a previous call to Define_Named_Style.
void HC_Begin_Open_Segment_Search(void)
Returns the pathnames of all open segments.
Key HC_Reference_Geometry_By_Key(Key geom_key)
Similar to Reference_Geometry(), but references a particular item, rather than a segment and all of i...
void HC_Show_Shape_Size(char const *name, int *data_size)
void HC_End_Error_Handler_Search()
Terminates the error handler search sequence and frees any memory involved.
void HC_Show_Window_Pattern(char *pattern)
Returns the window pattern set on the currently open segment.
void HC_Set_Edge_Pattern(char const *pattern)
Applies a pattern of dots and dashes, or whatever, to the edges of polygons, circles, ellipses, shells, and meshes.
void HC_DShow_Camera_Target(double *x, double *y, double *z)
Similar to Show_Camera_Target(). This command should be used in conjunction with other double-precisi...
void HC_Show_Mesh(Key key, int *rows, int *columns, Point points[])
Returns the previous definition of a mesh, as referenced by a key.
void HC_Begin_Shape_Search(void)
void HC_Set_Text_Spacing(double spacing)
Allows you to space out or squeeze the text strings in a segment.
bool HC_DCompute_Coordinates_By_Path(int count, Key const keys[], char const *in_system, DPoint const *in_position, char const *out_system, DPoint *out_position)
Similar to Compute_Coordinates_By_Path(), but operates on double-precision data.
void HC_Show_Unicode_Options_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_Unicode_Options.
bool HC_Compile_Shader(int key_count, Key const path_keys[], char const *options)
Defines a section of code that will be injected into HOOPS 3DF shaders.
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.
void HC_Show_Compilation_Results_Size(char const *stage, char const *primitive, int *source_size, int *errors_size)
Returns the shader source size and the errors size (if any).
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)
bool HC_Show_Shader_Uniforms_Data(char const *target, Key shader_key, int *size, void *data)
Returns the size of the shader uniform data in bytes. Only valid for modern custom shaders...
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_Show_Compilation_Results(char const *stage, char const *primitive, Key *shader_key, int *source_size, char *source, int *errors_size, char *errors)
Returns the shader source size and the errors (if any).
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 samplers 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_Show_Shader_Definition_By_Key(Key shader_key, char *name, char *stage, char *shader_source)
Returns the shader stage and its source code. Only valid for modern custom shaders.
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.