hc_proto.h
Go to the documentation of this file.
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 
11 #ifndef HC_PROTO_DEFINED
12 
13 #ifndef HPS_CORE_BUILD
14 
15 #if __APPLE__
16 #pragma clang diagnostic push
17 #pragma clang diagnostic ignored "-Wcomment"
18 #endif
19 
20 
36 HC_INTERFACE void HC_CDECL HC_Abort_Program (char const *message);
37 
75 HC_INTERFACE void HC_CDECL HC_Append_Modelling_Matrix (float const array[]);
76 
84 HC_INTERFACE void HC_CDECL HC_DAppend_Modelling_Matrix (double const array[]);
85 
119 HC_INTERFACE void HC_CDECL HC_Append_Texture_Matrix (float const array[]);
120 
170 HC_INTERFACE void HC_CDECL HC_Begin_Alias_Search (void);
171 
219 HC_INTERFACE void HC_CDECL HC_Begin_Callback_Name_Search (void);
220 
272 HC_INTERFACE void HC_CDECL HC_Begin_Color_Name_Search (void);
273 
372 HC_INTERFACE void HC_CDECL HC_Begin_Contents_Search (char const *segment, char const *filter);
373 
420 HC_INTERFACE void HC_CDECL HC_Begin_Font_Search (char const *display, char const *filter);
421 
453 HC_INTERFACE void HC_CDECL HC_Begin_Glyph_Search (void);
454 
486 HC_INTERFACE void HC_CDECL HC_Begin_Line_Style_Search (void);
487 
508 HC_INTERFACE void HC_CDECL HC_Begin_Open_Segment_Search (void);
509 
568 HC_INTERFACE void HC_CDECL HC_Begin_Segment_Search (char const *segspec);
569 
594 HC_INTERFACE void HC_CDECL HC_Begin_Shader_Search (void);
595 HC_INTERFACE void HC_CDECL HC_Begin_Shape_Search (void);
596 
626 HC_INTERFACE void HC_CDECL HC_Begin_Texture_Search (void);
627 
656 HC_INTERFACE void HC_CDECL HC_Begin_Local_Texture_Search (void);
657 
708 HC_INTERFACE void HC_CDECL HC_Bring_To_Front (char const *segment);
709 
716 HC_INTERFACE void HC_CDECL HC_Bring_To_Front_By_Key (Key key);
717 
722 HC_INTERFACE void HC_CDECL HC_Close_Edge (void);
723 
728 HC_INTERFACE void HC_CDECL HC_Close_Face (void);
729 
734 HC_INTERFACE void HC_CDECL HC_Close_Geometry (void);
735 
740 HC_INTERFACE void HC_CDECL HC_Close_LOD (void);
741 
746 HC_INTERFACE void HC_CDECL HC_Close_Region (void);
747 
754 HC_INTERFACE void HC_CDECL HC_Close_Segment (void);
755 
760 HC_INTERFACE void HC_CDECL HC_Close_Vertex (void);
761 
784 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid (char const *segment, Point *min, Point *max);
785 
794 HC_INTERFACE bool HC_CDECL HC_Compute_Circumcuboid_By_Key (Key key, Point *min, Point *max);
795 
806 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere (char const *segment, Point *center, float *radius);
807 
816 HC_INTERFACE bool HC_CDECL HC_Compute_Circumsphere_By_Key (Key key, Point *center, float *radius);
817 
825 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid (char const *segment, DPoint *min, DPoint *max);
826 
836 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumcuboid_By_Key (Key key, DPoint *min, DPoint *max);
837 
845 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere (char const *segment, DPoint *center, double *radius);
846 
855 HC_INTERFACE bool HC_CDECL HC_DCompute_Circumsphere_By_Key (Key key, DPoint *center, double *radius);
856 
874 HC_INTERFACE bool HC_CDECL HC_Compute_Color (char const *name, char const *out_type, RGB *out_value);
875 
885 HC_INTERFACE bool HC_CDECL HC_Compute_Color_By_Value (char const *in_type, RGB const *in_value, char const *out_type, RGB *out_value);
886 
911 HC_INTERFACE void HC_CDECL HC_Compute_Convex_Hull (int pcount, Point const points[], int *fcount, int face_list[]);
912 
984 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates (char const *segment,
985  char const *in_system,
986  Point const *in_position,
987  char const *out_system,
988  Point *out_position);
989 
1001 HC_INTERFACE bool HC_CDECL HC_Compute_Coordinates_By_Path (int count,
1002  Key const keys[],
1003  char const *in_system,
1004  Point const *in_position,
1005  char const *out_system,
1006  Point *out_position);
1007 
1035 HC_INTERFACE void HC_CDECL HC_Compute_Cross_Product (Vector const *vector1, Vector const *vector2, Vector *out_vector);
1036 
1043 HC_INTERFACE void HC_CDECL HC_DCompute_Cross_Product (DVector const *vector1, DVector const *vector2, DVector *out_vector);
1044 
1052 HC_INTERFACE double HC_CDECL HC_Compute_Dot_Product (Vector const *vector1, Vector const *vector2);
1053 
1060 HC_INTERFACE double HC_CDECL HC_DCompute_Dot_Product (DVector const *vector1, DVector const *vector2);
1061 
1070 HC_INTERFACE void HC_CDECL HC_Compute_Identity_Matrix (float out_matrix[]);
1071 
1077 HC_INTERFACE void HC_CDECL HC_DCompute_Identity_Matrix (double out_matrix[]);
1078 
1087 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Adjoint (float const matrix[], float out_matrix[]);
1088 
1094 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Adjoint (double const matrix[], double out_matrix[]);
1095 
1105 HC_INTERFACE double HC_CDECL HC_Compute_Matrix_Determinant (float const matrix[]);
1106 
1112 HC_INTERFACE double HC_CDECL HC_DCompute_Matrix_Determinant (double const matrix[]);
1113 
1128 HC_INTERFACE bool HC_CDECL HC_Compute_Matrix_Inverse (float const matrix[], float out_matrix[]);
1129 
1136 HC_INTERFACE bool HC_CDECL HC_DCompute_Matrix_Inverse (double const matrix[], double out_matrix[]);
1137 
1164 HC_INTERFACE void HC_CDECL HC_Compute_Matrix_Product (float const matrix1[], float const matrix2[], float out_matrix[]);
1165 
1172 HC_INTERFACE void HC_CDECL HC_DCompute_Matrix_Product (double const matrix1[], double const matrix2[], double out_matrix[]);
1173 HC_INTERFACE void HC_CDECL HC_Compute_Minimized_Shell (int in_point_count,
1174  Point const in_points[],
1175  int in_face_list_length,
1176  int const in_face_list[],
1177  char const *option_string,
1178  int *out_point_count,
1179  Point out_points[],
1180  int *out_face_list_length,
1181  int out_face_list[],
1182  int vertex_mapping[],
1183  int face_mapping[]);
1184 
1199 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Matrix (float const matrix[], float out_matrix[]);
1200 
1207 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Matrix (double const matrix[], double out_matrix[]);
1208 
1218 HC_INTERFACE bool HC_CDECL HC_Compute_Normalized_Vector (Vector const *vector, Vector *out_vector);
1219 
1226 HC_INTERFACE bool HC_CDECL HC_DCompute_Normalized_Vector (DVector const *vector, DVector *out_vector);
1227 
1239 HC_INTERFACE void HC_CDECL HC_Compute_Offaxis_Rotation (double x, double y, double z, double theta, float out_matrix[]);
1240 
1249 HC_INTERFACE void HC_CDECL HC_DCompute_Offaxis_Rotation (double x, double y, double z, double theta, double out_matrix[]);
1250 
1265 HC_INTERFACE void HC_CDECL HC_Compute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1266  float out_matrix[]);
1267 
1278 HC_INTERFACE void HC_CDECL HC_DCompute_Offcenter_Rotation (double alpha, double beta, double theta, double x, double y, double z,
1279  double out_matrix[]);
1280 
1454 HC_INTERFACE void HC_CDECL HC_Compute_Optimized_Shell (int pcount,
1455  Point const points[],
1456  Vector const normals[],
1457  int flist_length,
1458  int const face_list[],
1459  char const * options,
1460  int * new_pcount,
1461  Point new_points[],
1462  int * new_flist_length,
1463  int new_face_list[],
1464  int point_mapping_list[],
1465  int face_mapping_list[]);
1466 
1487 HC_INTERFACE Key HC_CDECL HC_Compute_Capping_Shell (
1488  int shell_count,
1489  Key const shell_list[],
1490  float const plane[]);
1491 
1572 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell (
1573  int target_pcount,
1574  Point const target_points[],
1575  Vector const target_normals[],
1576  int target_flist_length,
1577  int const target_face_list[],
1578  int tool_pcount,
1579  Point const tool_points[],
1580  Vector const tool_normals[],
1581  int tool_flist_length,
1582  int const tool_face_list[],
1583  char const * options);
1584 
1597 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Normal (int count, Point const points[], char const *hand, Vector *out_vector);
1598 
1607 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Normal (int count, DPoint const points[], char const *hand, DVector *out_vector);
1608 
1625 HC_INTERFACE bool HC_CDECL HC_Compute_Polygon_Plane (int count, Point const points[], char const *hand, Plane *out_plane);
1626 
1635 HC_INTERFACE bool HC_CDECL HC_DCompute_Polygon_Plane (int count, DPoint const points[], char const *hand, DPlane *out_plane);
1636 
1648 HC_INTERFACE void HC_CDECL HC_Compute_Rotation_Matrix (double alpha, double beta, double theta, float out_matrix[]);
1649 
1657 HC_INTERFACE void HC_CDECL HC_DCompute_Rotation_Matrix (double alpha, double beta, double theta, double out_matrix[]);
1658 
1670 HC_INTERFACE void HC_CDECL HC_Compute_Scale_Matrix (double x, double y, double z, float out_matrix[]);
1671 
1679 HC_INTERFACE void HC_CDECL HC_DCompute_Scale_Matrix (double x, double y, double z, double out_matrix[]);
1680 
1762 HC_INTERFACE int HC_CDECL HC_Compute_Selection (char const *display,
1763  char const *start_seg,
1764  char const *action,
1765  double x,
1766  double y);
1767 
1783 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Area (char const *display,
1784  char const *start_seg,
1785  char const *action,
1786  double left,
1787  double right,
1788  double bottom,
1789  double top);
1790 
1803 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polygon (char const *display,
1804  char const *start_seg,
1805  char const *action,
1806  int pcount,
1807  Point const points[]);
1808 
1821 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Polylin (char const *display,
1822  char const *start_seg,
1823  char const *action,
1824  int pcount,
1825  Point const points[]); // HC_Compute_Selection_By_Polyline
1826 
1843 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Volume (char const *display,
1844  char const *start_seg,
1845  char const *action,
1846  double left,
1847  double right,
1848  double bottom,
1849  double top,
1850  double hither,
1851  double yon);
1852 
1861 HC_INTERFACE void HC_CDECL HC_Compute_Text16_From_Text (char const *intext, char const *encoding, int *outcount, unsigned short outtext16[]);
1862 
1916 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent (char const *segment, char const *text, float *xsize, float *ysize);
1917 
1925 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Key (Key key, float *xfrac, float *yfrac);
1926 
1936 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_By_Path (int count, Key const keys[], char const *text, float *xfrac, float *yfrac);
1937 
1948 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_Enc_Path (int count,
1949  Key const keys[],
1950  char const *encoding,
1951  void const *text,
1952  float *xfrac,
1953  float *yfrac);
1954 
1964 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Extent_With_Enc (char const *segment,
1965  char const *encoding,
1966  void const *text,
1967  float *xfrac,
1968  float *yfrac); // HC_Compute_Text_Extent_With_Encoding
1969 
1970 
1971 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics (
1972  int count,
1973  Key const * keys,
1974  char const * encoding,
1975  void const * text,
1976  char const * options,
1977  int * size,
1978  float values[]);
1979 HC_INTERFACE bool HC_CDECL HC_Compute_Text_Metrics_Size (
1980  int count,
1981  Key const * keys,
1982  char const * encoding,
1983  void const * text,
1984  char const * options,
1985  int * size);
1986 
2005 HC_INTERFACE void HC_CDECL HC_Compute_Text_From_Text16 (int incount, unsigned short const intext16[], char const *encoding, char *outtext);
2006 
2035 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline (char const *segment,
2036  char const *text,
2037  int *pcount,
2038  Point points[],
2039  int *flist_length,
2040  int face_list[]);
2041 
2051 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Key (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
2052 
2061 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size (char const *segment, char const *text, int *pcount, int *flist_length);
2062 
2070 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_By (Key key, int *pcount, int *flist_length); // HC_Compute_Text_Outline_Size_By_Key
2071 
2081 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Wi (
2082  char const * segment,
2083  char const * encoding,
2084  void const * etext,
2085  int * pcount,
2086  int * flist_length); // HC_Compute_Text_Outline_Size_With_Encoding
2087 
2099 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_With_En (char const *segment,
2100  char const * encoding,
2101  void const * etext,
2102  int * pcount,
2103  Point points[],
2104  int * flist_length,
2105  int face_list[]); // HC_Compute_Text_Outline_With_Encoding
2106 
2118 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_By_Path (
2119  int count,
2120  Key const keys[],
2121  char const * text,
2122  int * pcount,
2123  Point points[],
2124  int * flist_length,
2125  int face_list[]);
2126 
2136 HC_INTERFACE void HC_CDECL HC_Compute_Text_Outline_Size_Pa (
2137  int count,
2138  Key const keys[],
2139  char const * text,
2140  int * pcount,
2141  int * flist_length); // HC_Compute_Text_Outline_Size_By_Path
2142 
2207 HC_INTERFACE bool HC_CDECL HC_Compute_Transform (char const *segment,
2208  char const *in_system,
2209  char const *out_system,
2210  float matrix[]);
2211 
2220 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform (char const *segment,
2221  char const *in_system,
2222  char const *out_system,
2223  double matrix[]);
2224 
2235 HC_INTERFACE bool HC_CDECL HC_Compute_Transform_By_Path (int count,
2236  Key const keys[],
2237  char const *in_system,
2238  char const *out_system,
2239  float matrix[]);
2240 
2251 HC_INTERFACE bool HC_CDECL HC_DCompute_Transform_By_Path (int count,
2252  Key const keys[],
2253  char const *in_system,
2254  char const *out_system,
2255  double matrix[]);
2256 
2273 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Plane (Plane const *plane, float const matrix[], Plane *out_plane);
2274 
2282 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Plane (DPlane const *plane, double const matrix[], DPlane *out_plane);
2283 
2293 HC_INTERFACE bool HC_CDECL HC_Compute_Transformed_Planes (int count, Plane const planes[], float const matrix[], Plane out_planes[]);
2294 
2304 HC_INTERFACE bool HC_CDECL HC_DCompute_Transformed_Planes (int count, DPlane const planes[], double const matrix[], DPlane out_planes[]);
2305 
2314 HC_INTERFACE void HC_CDECL HC_Compute_Transformed_Points (int count, Point const points[], float const matrix[], Point out_points[]);
2315 
2323 HC_INTERFACE void HC_CDECL HC_Compute_Translation_Matrix (double x, double y, double z, float out_matrix[]);
2324 
2332 HC_INTERFACE void HC_CDECL HC_DCompute_Translation_Matrix (double x, double y, double z, double out_matrix[]);
2333 
2339 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Length (Vector const *vector);
2340 
2346 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Length (DVector const *vector);
2347 
2490 HC_INTERFACE void HC_CDECL HC_Control_Update (char const *segment, char const *options);
2491 
2502 HC_INTERFACE void HC_CDECL HC_Control_Update_Area (char const *segment, double left, double right, double bottom, double top, char const *options);
2503 
2514 HC_INTERFACE void HC_CDECL HC_Control_Update_Area_By_Key (Key key, double left, double right, double bottom, double top, char const *options);
2515 
2522 HC_INTERFACE void HC_CDECL HC_Control_Update_By_Key (Key key, char const *options);
2523 
2556 HC_INTERFACE bool HC_CDECL HC_Convert_Precision(Key key, char const * options);
2557 
2579 HC_INTERFACE void HC_CDECL HC_Define_Alias (char const *name, char const *expansion);
2580 
2597 HC_INTERFACE void HC_CDECL HC_Define_Callback_Name (char const *name, Void_Routine callback);
2598 
2655 HC_INTERFACE void HC_CDECL HC_Define_Color_Name (char const *name, char const *er_name, char const *ish_name, char const *definition);
2656 
2844 HC_INTERFACE void HC_CDECL HC_Define_Driver_Config (char const *driver, char const *id, char const *version, char const *config);
2845 
2894 HC_INTERFACE void HC_CDECL HC_Define_Error_Handler (Void_Routine handler);
2895 
2919 HC_INTERFACE void HC_CDECL HC_Define_Exit_Handler (Void_Routine handler);
2920 
3030 HC_INTERFACE void HC_CDECL HC_Define_Font (char const *name, char const *options, int data_length, char const data[]);
3031 
3040 HC_INTERFACE void HC_CDECL HC_Define_Font_By_Reference (char const *name, char const *options, int data_length, char const data[]); // HC_Define_Font_By_Ref
3041 
3122 HC_INTERFACE void HC_CDECL HC_Define_Glyph (char const *name, int data_size, char const data[]);
3123 HC_INTERFACE void HC_CDECL HC_Define_Image_Glyph(const char * name, const char * definition);
3124 
3400 HC_INTERFACE void HC_CDECL HC_Define_Line_Style (char const *name, char const *definition);
3401 
3578 HC_INTERFACE void HC_CDECL HC_Define_Shape (char const *name, int data_size, float const data[]);
3579 
3983 HC_INTERFACE void HC_CDECL HC_Define_System_Options (char const *list);
3984 
4323 HC_INTERFACE void HC_CDECL HC_Define_Texture (char const *texture_name, char const *definition);
4324 
4359 HC_INTERFACE void HC_CDECL HC_Define_Local_Texture (char const *texture_name, char const *definition);
4360 
4417 HC_INTERFACE void HC_CDECL HC_Define_Shader (char const *name, char const *options, char const *shader_source);
4418 
4436 HC_INTERFACE void HC_CDECL HC_Delete_By_Key (Key key);
4437 
4453 HC_INTERFACE void HC_CDECL HC_Delete_Segment (char const *segment);
4454 
4472 HC_INTERFACE void HC_CDECL HC_Dolly_Camera (double right, double up, double in);
4473 HC_INTERFACE intptr_t HC_CDECL HC_Dump_Memory_Profile (char const *which);
4474 
4496 HC_INTERFACE void HC_CDECL HC_Edit_Image (Key key, int xoffset, int yoffset, int xcount, int ycount, const void *data);
4497 
4530 HC_INTERFACE void HC_CDECL HC_Edit_Image_Options (Key image_key, char const *options);
4531 
4551 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[]);
4552 
4580 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Curve (Key key,
4581  int cp_offset,
4582  int knot_offset,
4583  int cp_count,
4584  int knot_count,
4585  Point const control_points[],
4586  float const weights[],
4587  float const knots[]);
4588 
4615 HC_INTERFACE void HC_CDECL HC_Edit_Polygon (Key key, int offset, int ndelete, int insert, Point const points[]);
4616 
4645 HC_INTERFACE void HC_CDECL HC_Edit_Polyline (Key key, int offset, int ndelete, int insert, Point const points[]);
4646 
4669 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Faces (Key key, int offset, int ndelete, int ilist_length, int const insert_list[]);
4670 
4695 HC_INTERFACE void HC_CDECL HC_Edit_Shell_Points (Key key, int offset, int ndelete, int insert, Point const points[]);
4696 
4718 HC_INTERFACE void HC_CDECL HC_Edit_Text (Key key, int row, int column, int erase, int ndelete, char const *new_text);
4719 HC_INTERFACE void HC_CDECL HC_Edit_Text_Leader (Key key, double x, double y, double z, char const *options);
4720 
4726 HC_INTERFACE void HC_CDECL HC_End_Alias_Search (void);
4727 
4732 HC_INTERFACE void HC_CDECL HC_End_Callback_Name_Search (void);
4733 
4739 HC_INTERFACE void HC_CDECL HC_End_Color_Name_Search (void);
4740 
4741 
4747 HC_INTERFACE void HC_CDECL HC_End_Contents_Search (void);
4748 
4753 HC_INTERFACE void HC_CDECL HC_End_Font_Search (void);
4754 
4759 HC_INTERFACE void HC_CDECL HC_End_Open_Segment_Search (void);
4760 
4765 HC_INTERFACE void HC_CDECL HC_End_Segment_Search (void);
4766 
4771 HC_INTERFACE void HC_CDECL HC_End_Texture_Search (void);
4772 
4777 HC_INTERFACE void HC_CDECL HC_End_Shader_Search (void);
4778 
4783 HC_INTERFACE void HC_CDECL HC_End_Glyph_Search (void);
4784 
4790 HC_INTERFACE void HC_CDECL HC_End_Line_Style_Search (void);
4791 HC_INTERFACE void HC_CDECL HC_End_Shape_Search (void);
4792 
4804 HC_INTERFACE void HC_CDECL HC_Exit_Program (void);
4805 
4812 HC_INTERFACE bool HC_CDECL HC_Find_Alias (char * alias);
4813 
4820 HC_INTERFACE bool HC_CDECL HC_Find_Callback_Name (char *name);
4821 
4832 HC_INTERFACE bool HC_CDECL HC_Find_Color_Name (char *name, char *er_name, char *ish_name);
4833 
4843 HC_INTERFACE bool HC_CDECL HC_Find_Contents (char *type, Key *key);
4844 
4858 HC_INTERFACE bool HC_CDECL HC_Find_Contents_Original_Key (char *type, Key *key);
4859 
4866 HC_INTERFACE bool HC_CDECL HC_Find_Font (char *name);
4867 
4874 HC_INTERFACE bool HC_CDECL HC_Find_Open_Segment (char *segment);
4875 
4908 HC_INTERFACE bool HC_CDECL HC_Find_Related_Selection (void);
4909 
4916 HC_INTERFACE bool HC_CDECL HC_Find_Segment (char *segment);
4917 
4924 HC_INTERFACE bool HC_CDECL HC_Find_Texture (char *name);
4925 
4932 HC_INTERFACE bool HC_CDECL HC_Find_Shader (char *sname);
4933 
4940 HC_INTERFACE bool HC_CDECL HC_Find_Glyph (char *name);
4941 
4948 HC_INTERFACE bool HC_CDECL HC_Find_Line_Style (char *name);
4949 HC_INTERFACE bool HC_CDECL HC_Find_Shape (char *name);
4950 
4959 HC_INTERFACE void HC_CDECL HC_Flush_Attributes (char const *segment);
4960 
4977 HC_INTERFACE void HC_CDECL HC_Flush_By_Key (Key key);
4978 
5014 HC_INTERFACE void HC_CDECL HC_Flush_Contents (char const *segment, char const *filter);
5015 
5023 HC_INTERFACE void HC_CDECL HC_Flush_Geometry (char const *segment);
5024 
5039 HC_INTERFACE void HC_CDECL HC_Edit_Sphere (Key key, Point const *center, double radius, Vector const *axis, Vector const *ortho);
5040 
5057 HC_INTERFACE void HC_CDECL HC_Edit_Circle (Key key, Point const *point1, Point const *point2, Point const *point3);
5058 
5075 HC_INTERFACE void HC_CDECL HC_Edit_Circle_By_Radius (Key key, Point const *center, double radius, Vector const *vector);
5076 
5098 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Arc (Key key, Point const *point1, Point const *point2, Point const *point3);
5099 
5115 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Chord (Key key, Point const *point1, Point const *point2, Point const *point3);
5116 
5132 HC_INTERFACE void HC_CDECL HC_Edit_Circular_Wedge (Key key, Point const *point1, Point const *point2, Point const *point3);
5133 
5168 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Plane (Key key, double a, double b, double c, double d);
5169 
5189 HC_INTERFACE void HC_CDECL HC_Edit_Ellipse (Key key, Point const *center, Point const *major, Point const *minor);
5190 
5214 HC_INTERFACE void HC_CDECL HC_Edit_Elliptical_Arc (
5215  Key key,
5216  Point const *center,
5217  Point const *major,
5218  Point const *minor,
5219  double start,
5220  double end);
5221 
5265 HC_INTERFACE void HC_CDECL HC_Edit_Grid (
5266  Key key,
5267  char const *type,
5268  Point const *origin,
5269  Point const *ref1,
5270  Point const *ref2,
5271  int count1,
5272  int count2);
5273 
5294 HC_INTERFACE void HC_CDECL HC_Edit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5295 
5307 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5308 
5320 HC_INTERFACE void HC_CDECL HC_Edit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5321 
5332 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5333 HC_INTERFACE void HC_CDECL HC_DEdit_Infinite_Ray (Key key, double xa, double ya, double za, double xb, double yb, double zb);
5334 
5358 HC_INTERFACE void HC_CDECL HC_Edit_Marker (Key key, double x, double y, double z);
5359 
5380 HC_INTERFACE void HC_CDECL HC_Edit_Cylinder (Key key, Point const *p1, Point const *p2, double radius, char const *cap);
5381 
5390 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, Point const points[]);
5391 
5400 HC_INTERFACE void HC_CDECL HC_Edit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, float const radii[]);
5401 
5410 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Points (Key key, int offset, int delete_count, int insert_count, DPoint const points[]);
5411 
5420 HC_INTERFACE void HC_CDECL HC_DEdit_PolyCylinder_Radii (Key key, int offset, int delete_count, int insert_count, double const radii[]);
5421 
5445 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);
5446 
5457 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[]);
5458 
5466 HC_INTERFACE Key HC_CDECL HC_Copy_Geometry (Key key, char const *segment);
5467 
5491 HC_INTERFACE Key HC_CDECL HC_Copy_Segment (char const *old_seg_name, char const *new_seg_name);
5492 
5507 HC_INTERFACE Key HC_CDECL HC_Create_Segment (char const *segment);
5508 
5537 HC_INTERFACE Key HC_CDECL HC_Include_Segment (char const *include);
5538 
5545 HC_INTERFACE Key HC_CDECL HC_Include_Segment_By_Key (Key seg_key);
5546 
5561 HC_INTERFACE Key HC_CDECL HC_Insert_Area_Light (int count, Point const points[], char const *listptr);
5562 
5597 HC_INTERFACE Key HC_CDECL HC_Insert_Circle (Point const *point1, Point const *point2, Point const *point3);
5598 
5622 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Arc (Point const *point1, Point const *point2, Point const *point3);
5623 
5645 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Chord (Point const *point1, Point const *point2, Point const *point3);
5646 
5672 HC_INTERFACE Key HC_CDECL HC_Insert_Circular_Wedge (Point const *point1, Point const *point2, Point const *point3);
5673 
5712 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Plane (double a, double b, double c, double d);
5713 
5748 HC_INTERFACE Key HC_CDECL HC_Insert_Cylinder (Point const *center_point_1, Point const *center_point_2, double radius, char const *cap);
5749 
5764 HC_INTERFACE Key HC_CDECL HC_Insert_Sphere (Point const *center, double radius, Vector const *axis, Vector const *ortho);
5765 
5789 HC_INTERFACE Key HC_CDECL HC_Insert_Circle_By_Radius (Point const *center, double radius, Vector const *normal);
5790 
5835 HC_INTERFACE Key HC_CDECL HC_Insert_Distant_Light (double di, double dj, double dk);
5836 
5858 HC_INTERFACE Key HC_CDECL HC_Insert_Ellipse (Point const *center, Point const *major, Point const *minor);
5859 
5887 HC_INTERFACE Key HC_CDECL HC_Insert_Elliptical_Arc (
5888  Point const *center,
5889  Point const *major,
5890  Point const *minor,
5891  double start,
5892  double end);
5893 
5930 HC_INTERFACE Key HC_CDECL HC_Insert_Grid (
5931  char const *type,
5932  Point const *origin,
5933  Point const *ref1,
5934  Point const *ref2,
5935  int count1,
5936  int count2);
5937 
6030 HC_INTERFACE Key HC_CDECL HC_Insert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
6031 
6138 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);
6139 
6156 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);
6157 
6169 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);
6170 
6194 HC_INTERFACE Key HC_CDECL HC_Insert_Ink (double x, double y, double z);
6195 
6218 HC_INTERFACE Key HC_CDECL HC_Insert_Line (double xa, double ya, double za, double xb, double yb, double zb);
6219 
6244 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6245 
6270 HC_INTERFACE Key HC_CDECL HC_Insert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6271 
6282 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Line (double xa, double ya, double za, double xb, double yb, double zb);
6283 
6293 HC_INTERFACE Key HC_CDECL HC_DInsert_Infinite_Ray (double xa, double ya, double za, double xb, double yb, double zb);
6294 
6328 HC_INTERFACE Key HC_CDECL HC_Insert_Local_Light (double x, double y, double z);
6329 
6355 HC_INTERFACE Key HC_CDECL HC_Insert_Marker (double x, double y, double z);
6356 
6402 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh (int rows, int columns, Point const points[]);
6403 HC_INTERFACE Key HC_CDECL HC_Insert_Mesh_By_Ref (int rows, int columns, Point const points[]);
6404 
6412 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh_By_Ref (int rows, int columns, DPoint const points[]);
6413 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Curve (int degree,
6414  int cpcount,
6415  Point const control_points[],
6416  float const weights[],
6417  float const knots[],
6418  double start_u,
6419  double end_u);
6420 
6449 HC_INTERFACE Key HC_CDECL HC_Insert_Polygon (int count, Point const points[]);
6450 
6479 HC_INTERFACE Key HC_CDECL HC_Insert_Polyline (int count, Point const points[]);
6480 
6481 
6534 HC_INTERFACE Key HC_CDECL HC_Insert_Shell (int pcount, Point const points[], int flist_length, int const face_list[]);
6535 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Ref (int pcount, Point const points[], int flist_length, int const face_list[]);
6536 
6545 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Ref (int pcount, DPoint const points[], int flist_length, int const face_list[]);
6546 
6640 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_By_Tristrips (
6641  int pcount,
6642  Point const points[],
6643  int tristrips_length,
6644  int const tristrips[],
6645  int face_indices_length,
6646  int const face_indices[]);
6647 
6658 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell_By_Tristrips (
6659  int pcount,
6660  DPoint const points[],
6661  int tristrips_length,
6662  int const tristrips[],
6663  int face_indices_length,
6664  int const face_indices[]);
6665 
6802 HC_INTERFACE Key HC_CDECL HC_Insert_Spot_Light (Point const *position, Point const *target, char const *list);
6803 
6829 HC_INTERFACE Key HC_CDECL HC_Insert_String_Cursor (Key text_key, int row, int column);
6830 
6897 HC_INTERFACE Key HC_CDECL HC_Insert_Text (double x, double y, double z, char const *text);
6898 
6923 HC_INTERFACE Key HC_CDECL HC_Insert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
6924 
6935 HC_INTERFACE Key HC_CDECL HC_Insert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
6936 
7023 HC_INTERFACE Key HC_CDECL HC_Open_Segment (char const *segment);
7024 
7066 HC_INTERFACE Key HC_CDECL HC_Renumber_Key (Key oldkey, Key newkey, char const *scope);
7067 
7115 HC_INTERFACE Key HC_CDECL HC_Show_Include_Segment (Key key, char *pathname);
7116 
7123 HC_INTERFACE Key HC_CDECL HC_Show_Owner_Original_Key (Key key);
7124 
7155 HC_INTERFACE Key HC_CDECL HC_Style_Segment (char const *style);
7156 
7163 HC_INTERFACE Key HC_CDECL HC_Style_Segment_By_Key (Key seg_key);
7164 
7207 HC_INTERFACE void HC_CDECL HC_MSet_Character_Attributes (Key key, int offset, int count, char const *options);
7208 
7217 HC_INTERFACE void HC_CDECL HC_MUnSet_Character_Attributes (Key key, int offset, int count, char const *options);
7218 
7236 HC_INTERFACE void HC_CDECL HC_MSet_Face_Normals (Key key, int offset, int count, Vector const *normals);
7237 
7256 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_FIndex (Key key, char const *type, int offset, int count, float const findices[]);
7257 
7273 HC_INTERFACE void HC_CDECL HC_MSet_Face_Colors_By_Value (
7274  Key key,
7275  char const * type,
7276  int offset,
7277  char const * color_space,
7278  int count,
7279  RGB const values[]);
7280 
7299 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_FIndex (Key key, char const *types, int offset, int count, float const findices[]);
7300 
7320 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value (
7321  Key key,
7322  char const * types,
7323  int offset,
7324  char const * color_space,
7325  int count,
7326  RGB const values[]);
7327 
7347 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Colors_By_Value4 (
7348  Key key,
7349  char const * geometry,
7350  int offset,
7351  char const * color_space,
7352  int count,
7353  RGBA const values[]);
7354 
7368 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Normals (Key key, int offset, int count, Vector const normals[]);
7369 
7384 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Parameters (Key key, int offset, int pcount, int number, float const parameters[]);
7385 
7399 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map (int offset, char const *colors);
7400 
7409 HC_INTERFACE void HC_CDECL HC_Modify_Color_Map_By_Value (int offset, char const *color_space, int count, RGB const values[]);
7410 
7433 HC_INTERFACE void HC_CDECL HC_Move_By_Key (Key key, char const *newowner);
7434 
7450 HC_INTERFACE void HC_CDECL HC_Move_Distant_Light (Key key, double di, double dj, double dk);
7451 
7464 HC_INTERFACE void HC_CDECL HC_Move_Image (Key key, double x, double y, double z);
7465 
7483 HC_INTERFACE void HC_CDECL HC_Move_Light_Position (Key key, double x, double y, double z);
7484 
7501 HC_INTERFACE void HC_CDECL HC_Move_Light_Target (Key key, double x, double y, double z);
7502 
7514 HC_INTERFACE void HC_CDECL HC_Move_Segment (char const *old_seg_name, char const *new_seg_name);
7515 
7538 HC_INTERFACE void HC_CDECL HC_Move_String_Cursor (Key key, int row, int column);
7539 
7553 HC_INTERFACE void HC_CDECL HC_Move_Text (Key key, double x, double y, double z);
7554 
7582 HC_INTERFACE void HC_CDECL HC_Open_Edge (int offset1, int offset2);
7583 
7618 HC_INTERFACE void HC_CDECL HC_Open_Face (int id);
7619 
7657 HC_INTERFACE void HC_CDECL HC_Open_Geometry (Key key);
7658 
7673 HC_INTERFACE void HC_CDECL HC_Open_LOD (int level);
7674 
7683 HC_INTERFACE void HC_CDECL HC_Open_Region (int region);
7684 
7690 HC_INTERFACE void HC_CDECL HC_Open_Segment_By_Key (Key key);
7691 
7716 HC_INTERFACE void HC_CDECL HC_Open_Vertex (int offset);
7717 
7737 HC_INTERFACE void HC_CDECL HC_Orbit_Camera (double theta, double phi);
7738 
7752 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Callback (int key_count, Key const path_keys[], char *callbacks);
7753 
7773 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera (int key_count,
7774  Key const path_keys[],
7775  Point *position,
7776  Point *target,
7777  Vector *up,
7778  float *width,
7779  float *height,
7780  char *projection);
7781 
7802 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_By_Volume (int count,
7803  Key const keys[],
7804  char *proj,
7805  float *xmin,
7806  float *xmax,
7807  float *ymin,
7808  float *ymax);
7809 
7826 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Position (int key_count, Key const path_keys[], float *x, float *y, float *z);
7827 
7844 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Target (int key_count, Key const path_keys[], float *x, float *y, float *z);
7845 
7862 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], float *x, float *y, float *z);
7863 
7879 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Field (int key_count, Key const path_keys[], float *width, float *height);
7880 
7892 HC_INTERFACE int HC_CDECL HC_PShow_Net_Camera_Projection (int key_count, Key const path_keys[], char *projection);
7893 
7906 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera (int key_count,
7907  Key const path_keys[],
7908  DPoint *position,
7909  DPoint *target,
7910  DVector *up,
7911  double *width,
7912  double *height,
7913  char *projection);
7914 
7926 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_By_Volume (int count,
7927  Key const keys[],
7928  char *proj,
7929  double *xmin,
7930  double *xmax,
7931  double *ymin,
7932  double *ymax);
7933 
7943 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Position (int key_count, Key const path_keys[], double *x, double *y, double *z);
7944 
7954 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Target (int key_count, Key const path_keys[], double *x, double *y, double *z);
7955 
7965 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Up_Vector (int key_count, Key const path_keys[], double *x, double *y, double *z);
7966 
7975 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Camera_Field (int key_count, Key const path_keys[], double *width, double *height);
7976 
7977 
7989 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color (int count, Key const keys[], char *color_spec);
7990 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map (int key_count, Key const path_keys[], char *colors);
7991 
8007 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[]);
8008 
8022 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Count (int key_count, Key const path_keys[], int *count);
8023 
8035 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Driver_Options (int key_count, Key const path_keys[], char *list);
8036 
8050 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern (int key_count, Key const path_keys[], char *pattern);
8051 
8065 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Weight (int key_count, Key const path_keys[], float *weight);
8066 
8080 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Face_Pattern (int key_count, Key const path_keys[], char *pattern);
8081 
8096 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Handedness (int key_count, Key const path_keys[], char *value);
8097 
8111 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Heuristics (int key_count, Key const path_keys[], char *list);
8112 
8126 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern (int key_count, Key const path_keys[], char *pattern);
8127 
8141 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Weight (int key_count, Key const path_keys[], float *weight);
8142 
8156 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Size (int key_count, Key const path_keys[], float *size);
8157 
8171 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Marker_Symbol (int key_count, Key const path_keys[], char *symbol);
8172 
8189 HC_INTERFACE int HC_CDECL HC_PShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], float matrix[]);
8190 
8198 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Modelling_Matrix (int key_count, Key const path_keys[], double matrix[]);
8199 
8213 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Rendering_Options (int key_count, Key const path_keys[], char *list);
8214 
8228 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Selectability (int key_count, Key const path_keys[], char *list);
8229 
8243 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Alignment (int key_count, Key const path_keys[], char *locater);
8244 
8258 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Font (int key_count, Key const path_keys[], char *options);
8259 
8275 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Path (int key_count, Key const path_keys[], float *x, float *y, float *z);
8276 
8290 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Text_Spacing (int key_count, Key const path_keys[], float *spacing);
8291 
8305 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture_Matrix (int key_count, Key const path_keys[], float matrix[]);
8306 
8320 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Index_Count (int key_count, Key const keys[], int *count);
8321 
8337 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Indices (int key_count, Key const path_keys[], int *count, long *indices, void **values);
8338 
8352 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Options (int key_count, Key const path_keys[], char *list);
8353 
8367 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Unicode_Options (int key_count, Key const path_keys[], unsigned short *options);
8368 
8380 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
8381 
8395 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
8396 HC_INTERFACE bool HC_CDECL HC_PShow_Net_User_Value (int key_count, Key const path_keys[], intptr_t *data);
8397 
8411 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Visibility (int key_count, Key const path_keys[], char *list);
8412 
8429 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window (int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top);
8430 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,
8431  char *list);
8432 
8446 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Frame (int key_count, Key const path_keys[], char *flag);
8447 
8461 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Window_Pattern (int key_count, Key const path_keys[], char *pattern);
8462 
8475 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Callback (int count, Key const keys[], char const *callback_point, char *callback_name);
8476 
8490 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
8491 
8501 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color (int count, Key const keys[], char const *type, char *color);
8502 
8515 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Index (int count, Key const keys[], char const *type, int *index);
8516 
8532 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_By_Value (
8533  int count,
8534  Key const keys[],
8535  char const * type,
8536  char * color_space,
8537  float * a,
8538  float * b,
8539  float * c);
8540 
8551 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map (int count, Key const keys[], int offset, char *color);
8552 
8566 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Color_Map_By_V (
8567  int count,
8568  Key const keys[],
8569  int offset,
8570  char * color_space,
8571  float * x,
8572  float * y,
8573  float * z); // HC_PShow_One_Net_Color_Map_By_Value
8574 
8585 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Driver_Option (int count, Key const keys[], char const *type, char *value);
8586 
8596 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Heuristic (int count, Key const keys[], char const *type, char *value);
8597 
8608 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
8609 
8619 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Selectability (int count, Key const keys[], char const *type, char *value);
8620 
8630 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Text_Font (int count, Key const keys[], char const *type, char *value);
8631 
8641 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Index (int count, Key const keys[], long index, void **value);
8642 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_User_Option (int count, Key const keys[], char const *type, char *value);
8643 
8656 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
8657 
8668 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Visibility (int count, Key const keys[], char const *type, char *value);
8669 
8689 HC_INTERFACE void HC_CDECL HC_Pan_Camera (double theta, double phi);
8690 
8754 HC_INTERFACE bool HC_CDECL HC_Parse_String (char const *string, char const *delimiter, int offset, char *token);
8755 
8787 HC_INTERFACE void HC_CDECL HC_Pause (void);
8788 
8808 HC_INTERFACE void HC_CDECL HC_Print_Version (void);
8809 
8830 HC_INTERFACE int HC_CDECL HC_QShow_Existence (char const *segment, char const *filter);
8831 
8894 HC_INTERFACE int HC_CDECL HC_Show_Existence (char const *filter);
8895 
8903 HC_INTERFACE int HC_CDECL HC_Show_Existence_By_Key (Key key, char const *filter);
8904 
8912 HC_INTERFACE int HC_CDECL HC_QShow_Existence_Unicode (char const *segment, unsigned short const *filter);
8913 
8929 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode (unsigned short const *filter);
8930 
8938 HC_INTERFACE int HC_CDECL HC_Show_Existence_Unicode_By_K (Key key, unsigned short const *filter); // HC_Show_Existence_Unicode_By_Key
8939 
8975 HC_INTERFACE bool HC_CDECL HC_Read_Metafile (char const *file, char const *segment, char const *options);
8976 
8991 HC_INTERFACE void HC_CDECL HC_Record_Instance_Handle (void const *handle);
8992 
9044 HC_INTERFACE void HC_CDECL HC_Record_Profile_Source (char const *section, char const *filename);
9045 
9069 HC_INTERFACE void HC_CDECL HC_Relinquish_Memory (void);
9070 
9092 HC_INTERFACE void HC_CDECL HC_Rename_Segment (char const *old_seg_name, char const *new_seg_name);
9093 HC_INTERFACE void HC_CDECL HC_Rename_Segment_By_Key (Key key, char const *new_seg_name);
9094 
9111 HC_INTERFACE void HC_CDECL HC_Report_Error (int category,
9112  int specific,
9113  int severity,
9114  int msgc,
9115  char const * const *msgv,
9116  int stack_c,
9117  char const * const *stack_v);
9118 
9136 HC_INTERFACE void HC_CDECL HC_Reset_System (void);
9137 
9151 HC_INTERFACE void HC_CDECL HC_Restart_Ink (void);
9152 
9167 HC_INTERFACE void HC_CDECL HC_Roll_Camera (double theta);
9168 
9195 HC_INTERFACE void HC_CDECL HC_Rotate_Object (double theta, double phi, double psi);
9196 
9212 HC_INTERFACE void HC_CDECL HC_Rotate_Object_Offaxis (double x, double y, double z, double theta);
9213 
9220 HC_INTERFACE void HC_CDECL HC_DRotate_Object (double theta, double phi, double psi);
9221 
9229 HC_INTERFACE void HC_CDECL HC_DRotate_Object_Offaxis (double x, double y, double z, double theta);
9230 
9257 HC_INTERFACE void HC_CDECL HC_Rotate_Texture (double theta, double phi, double psi);
9258 
9274 HC_INTERFACE void HC_CDECL HC_Rotate_Texture_Offaxis (double x, double y, double z, double theta);
9275 
9302 HC_INTERFACE void HC_CDECL HC_Scale_Object (double x, double y, double z);
9303 
9310 HC_INTERFACE void HC_CDECL HC_DScale_Object (double x, double y, double z);
9311 
9332 HC_INTERFACE void HC_CDECL HC_Scale_Texture (double u, double v, double w);
9333 
9350 HC_INTERFACE void HC_CDECL HC_Scroll_Text (Key key, int left_scroll, int up_scroll);
9351 
9371 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Cuboid (Point const *min, Point const *max);
9372 
9384 HC_INTERFACE void HC_CDECL HC_Set_Bounding_Sphere (Point const *center, double radius);
9385 
9391 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Cuboid (DPoint const *min, DPoint const *max);
9392 
9398 HC_INTERFACE void HC_CDECL HC_DSet_Bounding_Sphere (DPoint const *center, double radius);
9399 
9864 HC_INTERFACE void HC_CDECL HC_Set_Callback (char const *callbacks);
9865 
9872 HC_INTERFACE void HC_CDECL HC_Set_Callback_With_Data (char const *callback, void const *data);
9873 
9903 HC_INTERFACE void HC_CDECL HC_Set_Camera (Point const *position,
9904  Point const *target,
9905  Vector const *up,
9906  double width,
9907  double height,
9908  char const *projection);
9909 
9971 HC_INTERFACE void HC_CDECL HC_Set_Camera_By_Volume (char const *projection, double xmin, double xmax, double ymin, double ymax);
9972 
9998 HC_INTERFACE void HC_CDECL HC_Set_Camera_Field (double width, double height);
9999 
10018 HC_INTERFACE void HC_CDECL HC_Set_Camera_Position (double x, double y, double z);
10019 
10048 HC_INTERFACE void HC_CDECL HC_Set_Camera_Projection (char const *type);
10049 
10072 HC_INTERFACE void HC_CDECL HC_Set_Camera_Target (double x, double y, double z);
10073 
10107 HC_INTERFACE void HC_CDECL HC_Set_Camera_Up_Vector (double x, double y, double z);
10108 
10592 HC_INTERFACE void HC_CDECL HC_Set_Color (char const *color_spec);
10593 
10622 HC_INTERFACE void HC_CDECL HC_Set_Explicit_Color (
10623  char const *type,
10624  char const *channel,
10625  Point const *rgb,
10626  char const *texture,
10627  char const *options);
10628 
10668 HC_INTERFACE void HC_CDECL HC_Set_Color_By_FIndex (char const *types, double findex);
10669 
10745 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Index (char const *types, int index);
10746 
10841 HC_INTERFACE void HC_CDECL HC_Set_Color_By_Value (char const *types, char const *colorspace, double a, double b, double c);
10842 
10881 HC_INTERFACE void HC_CDECL HC_Set_Color_Map (char const *colors);
10882 
10890 HC_INTERFACE void HC_CDECL HC_Set_Color_Map_By_Value (char const *color_space, int count, RGB const values[]);
10891 
11427 HC_INTERFACE void HC_CDECL HC_Set_Driver_Options (char const *list);
11428 
11474 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern (char const *pattern);
11475 
11528 HC_INTERFACE void HC_CDECL HC_Set_Edge_Pattern_Explicit (char const *pattern);
11529 
11554 HC_INTERFACE void HC_CDECL HC_Set_Edge_Weight (double weight);
11555 
11603 HC_INTERFACE void HC_CDECL HC_Set_Face_Pattern (char const *pattern);
11604 
11625 HC_INTERFACE void HC_CDECL HC_Set_Handedness (char const *value);
11626 
11953 HC_INTERFACE void HC_CDECL HC_Set_Heuristics (char const *list);
11954 
12092 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern (char const *pattern);
12093 
12241 HC_INTERFACE void HC_CDECL HC_Set_Line_Pattern_Explicit (char const *pattern);
12242 
12269 HC_INTERFACE void HC_CDECL HC_Set_Line_Weight (double weight);
12270 
12334 HC_INTERFACE void HC_CDECL HC_Set_Marker_Size (double weight);
12335 
12518 HC_INTERFACE void HC_CDECL HC_Set_Marker_Symbol (char const *symbol);
12519 
12546 HC_INTERFACE void HC_CDECL HC_Set_Modelling_Matrix (float const matrix[]);
12547 
12552 HC_INTERFACE void HC_CDECL HC_DSet_Modelling_Matrix (double const matrix[]);
12553 
12576 HC_INTERFACE void HC_CDECL HC_Set_Normal (double x, double y, double z);
12577 
12613 HC_INTERFACE void HC_CDECL HC_Set_Parameter (int number, float const parameters[]);
12614 
12631 HC_INTERFACE void HC_CDECL HC_Set_Priority (Key key, int priority);
12632 HC_INTERFACE void HC_CDECL HC_UnSet_PBR_Material();
12633 
12658 HC_INTERFACE void HC_CDECL HC_Set_PBR_Material(
12659  char const * base_color_map,
12660  char const * normal_map,
12661  char const * emissive_map,
12662  char const * metalness_map,
12663  int metalness_map_channel,
12664  char const * roughness_map,
12665  int roughness_map_channel,
12666  char const * occlusion_map,
12667  int occlusion_map_channel,
12668  RGBA const * base_color_factor,
12669  float normal_factor,
12670  float metalness_factor,
12671  float roughness_factor,
12672  float occlusion_factor,
12673  float alpha_factor,
12674  char const * options);
12675 
12699 HC_INTERFACE bool HC_CDECL HC_Show_PBR_Material(
12700  char * base_color_map,
12701  char * normal_map,
12702  char * emissive_map,
12703  char * metalness_map,
12704  int * metalness_map_channel,
12705  char * roughness_map,
12706  int * roughness_map_channel,
12707  char * occlusion_map,
12708  int * occlusion_map_channel,
12709  RGBA * base_color_factor,
12710  float * normal_factor,
12711  float * metalness_factor,
12712  float * roughness_factor,
12713  float * occlusion_factor,
12714  float * alpha_factor,
12715  char * options);
12716 
12740 HC_INTERFACE bool HC_CDECL HC_PShow_Net_PBR_Material(
12741  int count,
12742  Key const * keys,
12743  char * base_color_map,
12744  char * normal_map,
12745  char * emissive_map,
12746  char * metalness_map,
12747  int * metalness_map_channel,
12748  char * roughness_map,
12749  int * roughness_map_channel,
12750  char * occlusion_map,
12751  int * occlusion_map_channel,
12752  RGBA * base_color_factor,
12753  float * normal_factor,
12754  float * metalness_factor,
12755  float * roughness_factor,
12756  float * occlusion_factor,
12757  float * alpha_factor,
12758  char * options);
12759 
13856 HC_INTERFACE void HC_CDECL HC_Set_Rendering_Options (char const *list);
13857 
13943 HC_INTERFACE void HC_CDECL HC_Set_Selectability (char const *list);
13944 
13981 HC_INTERFACE void HC_CDECL HC_Set_Streaming_Mode (char const *flag);
13982 
14040 HC_INTERFACE void HC_CDECL HC_Set_Text_Alignment (char const *locater);
14041 
14321 HC_INTERFACE void HC_CDECL HC_Set_Text_Font (char const *list);
14322 
14339 HC_INTERFACE void HC_CDECL HC_Set_Text_Path (double x, double y, double z);
14340 HC_INTERFACE void HC_CDECL HC_Set_Text_Size (double ivalue);
14341 
14358 HC_INTERFACE void HC_CDECL HC_Set_Text_Spacing (double spacing);
14359 
14380 HC_INTERFACE void HC_CDECL HC_Set_Texture_Matrix (float const matrix[]);
14381 
14393 HC_INTERFACE void HC_CDECL HC_Set_User_Index (long index, void const *data);
14394 
14439 HC_INTERFACE void HC_CDECL HC_Set_User_Options (char const *list);
14440 
14451 HC_INTERFACE void HC_CDECL HC_Set_Unicode_Options (unsigned short const *options);
14452 HC_INTERFACE void HC_CDECL HC_Set_User_Value (intptr_t data);
14453 
14687 HC_INTERFACE void HC_CDECL HC_Set_Visibility (char const *list);
14688 
14724 HC_INTERFACE void HC_CDECL HC_Set_Window (double left, double right, double bottom, double top);
14725 HC_INTERFACE void HC_CDECL HC_Set_Window_With_Options (double left, double right, double bottom, double top, char const *list);
14726 
14747 HC_INTERFACE void HC_CDECL HC_Set_Window_Frame (char const *flag);
14748 
14833 HC_INTERFACE void HC_CDECL HC_Set_Window_Pattern (char const *pattern);
14834 
14864 HC_INTERFACE void HC_CDECL HC_Show_Alias (char const *alias, char *expansion);
14865 
14875 HC_INTERFACE void HC_CDECL HC_Show_Alias_Count (int *count);
14876 
14884 HC_INTERFACE void HC_CDECL HC_Show_Area_Light (Key key, int *ucount, Point upoints[], char *listptr);
14885 HC_INTERFACE void HC_CDECL HC_Show_Area_Light_Count (Key key, int *count, char *listptr);
14886 
14913 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid (Point *min, Point *max);
14914 
14923 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Cuboid_By_Key (Key key, Point *min, Point *max);
14924 
14931 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid (DPoint *min, DPoint *max);
14932 
14940 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Cuboid_By_Key (Key key, DPoint *min, DPoint *max);
14941 
14952 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info (char *list);
14953 
14960 HC_INTERFACE void HC_CDECL HC_Show_Bounding_Info_By_Key (Key key, char *list);
14961 
14972 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere (Point *center, float *radius);
14973 
14981 HC_INTERFACE bool HC_CDECL HC_Show_Bounding_Sphere_By_Key (Key key, Point *center, float *radius);
14982 
14988 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere (DPoint *center, double *radius);
14989 
14996 HC_INTERFACE bool HC_CDECL HC_DShow_Bounding_Sphere_By_Key (Key key, DPoint *center, double *radius);
14997 
15018 HC_INTERFACE void HC_CDECL HC_Show_Button (char *button);
15019 
15044 HC_INTERFACE void HC_CDECL HC_Show_Button_Source (char *keyboard, char *button, int *status);
15045 
15052 HC_INTERFACE void HC_CDECL HC_Show_Callback (char *callbacks);
15053 
15065 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name (char const *name, Void_Routine *callback);
15066 
15072 HC_INTERFACE void HC_CDECL HC_Show_Callback_Name_Count (int *count);
15073 
15085 HC_INTERFACE void HC_CDECL HC_Show_Camera (Point *position,
15086  Point * target,
15087  Vector * up,
15088  float * width,
15089  float * height,
15090  char * projection);
15091 
15103 HC_INTERFACE void HC_CDECL HC_Show_Camera_By_Volume (char *projection, float *xmin, float *xmax, float *ymin, float *ymax);
15104 
15110 HC_INTERFACE void HC_CDECL HC_Show_Camera_Field (float *width, float *height);
15111 
15118 HC_INTERFACE void HC_CDECL HC_Show_Camera_Position (float *x, float *y, float *z);
15119 
15124 HC_INTERFACE void HC_CDECL HC_Show_Camera_Projection (char *projection);
15125 
15132 HC_INTERFACE void HC_CDECL HC_Show_Camera_Target (float *x, float *y, float *z);
15133 
15140 HC_INTERFACE void HC_CDECL HC_Show_Camera_Up_Vector (float *x, float *y, float *z);
15141 
15155 HC_INTERFACE void HC_CDECL HC_Show_Circle (Key key, Point *point1, Point *point2, Point *point3);
15156 
15170 HC_INTERFACE void HC_CDECL HC_Show_Circular_Arc (Key key, Point *point1, Point *point2, Point *point3);
15171 
15185 HC_INTERFACE void HC_CDECL HC_Show_Circular_Chord (Key key, Point *point1, Point *point2, Point *point3);
15186 
15200 HC_INTERFACE void HC_CDECL HC_Show_Circular_Wedge (Key key, Point *point1, Point *point2, Point *point3);
15201 
15248 HC_INTERFACE void HC_CDECL HC_Show_Color (char *color_spec);
15249 
15256 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Index (char *types, int *index);
15257 
15280 HC_INTERFACE void HC_CDECL HC_Show_Color_By_Value (char *types, char *colorspace, float *a, float *b, float *c);
15281 
15298 HC_INTERFACE void HC_CDECL HC_Show_Color_Map (char *colors);
15299 
15318 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_By_Value (char *color_space, int *count, RGB values[]);
15319 
15329 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Count (int *count);
15330 
15344 HC_INTERFACE void HC_CDECL HC_Show_Color_Name (char const *color, char *definition);
15345 
15355 HC_INTERFACE void HC_CDECL HC_Show_Color_Name_Count (int *count);
15356 
15371 HC_INTERFACE void HC_CDECL HC_Show_Explicit_Color (
15372  char const *type,
15373  char const *channel,
15374  float rgb[],
15375  char *texture,
15376  char *options);
15377 
15398 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Explicit_Color (
15399  int keycount,
15400  Key const pathkeys[],
15401  char const *type,
15402  char const *channel,
15403  float rgb[],
15404  char *texture,
15405  char *options);
15406 
15414 HC_INTERFACE void HC_CDECL HC_Show_Contents_Count (int *count);
15415 
15430 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Plane (Key key, float *a, float *b, float *c, float *d);
15431 
15446 HC_INTERFACE void HC_CDECL HC_Show_Cylinder (Key key, Point *p1, Point *p2, float *radius, char *cap);
15447 
15456 HC_INTERFACE void HC_CDECL HC_Show_Circle_By_Radius (Key key, Point *center, float *radius, Vector *normal);
15457 
15472 HC_INTERFACE void HC_CDECL HC_Show_Sphere (Key key, Point *center, float *radius, Vector *axis, Vector *ortho);
15473 
15825 HC_INTERFACE void HC_CDECL HC_Show_Device_Info (char const *driver, char const *item, char *data);
15826 
15834 HC_INTERFACE void HC_CDECL HC_Show_Device_Info_By_Key (Key key, char const *item, char *data);
15835 
15851 HC_INTERFACE void HC_CDECL HC_Show_Distant_Light (Key key, float *di, float *dj, float *dk);
15852 
15913 HC_INTERFACE void HC_CDECL HC_Show_Driver_Options (char *list);
15914 
15930 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern (char *pattern);
15931 
15946 HC_INTERFACE void HC_CDECL HC_Show_Edge_Pattern_Explicit (char *pattern);
15947 
15963 HC_INTERFACE void HC_CDECL HC_Show_Edge_Weight (float *weight);
15964 
15978 HC_INTERFACE void HC_CDECL HC_Show_Ellipse (Key key, Point *center, Point *major, Point *minor);
15979 
15995 HC_INTERFACE void HC_CDECL HC_Show_Elliptical_Arc (Key key,
15996  Point *center,
15997  Point *major,
15998  Point *minor,
15999  float *start,
16000  float *end);
16001 
16020 HC_INTERFACE bool HC_CDECL HC_Show_Environment (char const *variable, char *value);
16021 
16038 HC_INTERFACE void HC_CDECL HC_Show_Face_Pattern (char *pattern);
16039 
16053 HC_INTERFACE void HC_CDECL HC_Show_Font (char const *name, char *options, int *data_length, char *data);
16054 
16060 HC_INTERFACE void HC_CDECL HC_Show_Font_Count (int *count);
16061 
16131 HC_INTERFACE void HC_CDECL HC_Show_Font_Info (char const *driver, char const *name, char const *item, char *data);
16132 
16140 HC_INTERFACE void HC_CDECL HC_Show_Font_Size (char const *name, char *options, int *data_length);
16141 
16158 HC_INTERFACE void HC_CDECL HC_Show_Grid (Key key,
16159  char *type,
16160  Point *origin,
16161  Point *ref1,
16162  Point *ref2,
16163  int *count1,
16164  int *count2);
16165 
16182 HC_INTERFACE void HC_CDECL HC_Show_Handedness (char *value);
16183 
16218 HC_INTERFACE void HC_CDECL HC_Show_Heuristics (char *list);
16219 
16239 HC_INTERFACE void HC_CDECL HC_Show_Image (Key key, float *x, float *y, float *z, char *format, int *width, int *height, void *data);
16240 
16252 HC_INTERFACE void HC_CDECL HC_Show_Image_Size (Key key, float *x, float *y, float *z, char *format, int *width, int *height);
16253 
16279 HC_INTERFACE bool HC_CDECL HC_Show_Snapshot(const char * display, int *width, int *height, void * image_data);
16280 
16298 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);
16299 
16309 HC_INTERFACE void HC_CDECL HC_Show_Compressed_Image_Size (Key key, char *format, int *width, int *height, int *size);
16310 HC_INTERFACE int HC_CDECL HC_Show_Image_Bytes_Per_Pixel (Key key);
16311 
16318 HC_INTERFACE void HC_CDECL HC_Show_Image_Format (Key key, char *format);
16319 
16326 HC_INTERFACE void HC_CDECL HC_Show_Image_Name (Key key, char *name);
16327 
16334 HC_INTERFACE void HC_CDECL HC_Show_Glyph (char const *name, char *data);
16335 
16342 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Size (char const *name, int *data_size);
16343 HC_INTERFACE void HC_CDECL HC_Show_Shape (char const *name, float *data);
16344 HC_INTERFACE void HC_CDECL HC_Show_Shape_Size (char const *name, int *data_size);
16345 
16361 HC_INTERFACE void HC_CDECL HC_Show_Line_Style (char const *style, char *definition);
16362 
16369 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Size (char const *style, int *size);
16370 
16387 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern (char *pattern);
16388 
16405 HC_INTERFACE void HC_CDECL HC_Show_Line_Pattern_Explicit (char *pattern);
16406 
16436 HC_INTERFACE void HC_CDECL HC_Show_Key_Status (Key key, char *status);
16437 
16518 HC_INTERFACE void HC_CDECL HC_Show_Key_Type (Key key, char *type);
16519 
16536 HC_INTERFACE void HC_CDECL HC_Show_LOD_Type (Key key, int level, char *type);
16537 
16554 HC_INTERFACE void HC_CDECL HC_Show_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16555 
16567 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Line (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16568 
16580 HC_INTERFACE void HC_CDECL HC_Show_Infinite_Ray (Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb);
16581 
16592 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16593 
16604 HC_INTERFACE void HC_CDECL HC_DShow_Infinite_Ray (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
16605 
16622 HC_INTERFACE void HC_CDECL HC_Show_Line_Weight (float *weight);
16623 
16641 HC_INTERFACE void HC_CDECL HC_Show_Local_Light (Key key, float *x, float *y, float *z);
16642 
16664 HC_INTERFACE void HC_CDECL HC_Show_Location (float *x, float *y);
16665 
16691 HC_INTERFACE void HC_CDECL HC_Show_Location_Source (char *locater, char *display, char *action, int *status);
16692 
16706 HC_INTERFACE void HC_CDECL HC_Show_Marker (Key key, float *x, float *y, float *z);
16707 
16722 HC_INTERFACE void HC_CDECL HC_Show_Marker_Size (float *size);
16723 
16738 HC_INTERFACE void HC_CDECL HC_Show_Marker_Symbol (char *symbol);
16739 
16761 HC_INTERFACE void HC_CDECL HC_Show_Memory_Usage (long *allocated, long *in_use);
16762 
16780 HC_INTERFACE void HC_CDECL HC_Show_Mesh (Key key, int *rows, int *columns, Point points[]);
16781 
16789 HC_INTERFACE void HC_CDECL HC_Show_Mesh_Size (Key key, int *rows, int *columns);
16790 
16805 HC_INTERFACE void HC_CDECL HC_Show_Modelling_Matrix (float matrix[]);
16806 
16811 HC_INTERFACE void HC_CDECL HC_DShow_Modelling_Matrix (double matrix[]);
16812 
16838 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve (Key key,
16839  int *degree,
16840  int *cp_count,
16841  Point points[],
16842  float weights[],
16843  float knots[],
16844  float *start_u,
16845  float *end_u);
16846 
16856 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Curve_Size (Key key, int *degree, int *cp_count, int *weight_count, int *knot_count);
16857 
16874 HC_INTERFACE void HC_CDECL HC_Show_Normal (float *x, float *y, float *z);
16875 
16882 HC_INTERFACE void HC_CDECL HC_Show_One_Callback (char const *callback_point, char *callback_name);
16883 
16891 HC_INTERFACE void HC_CDECL HC_Show_One_Callback_With_Data (char const *callback_point, char *callback, void **data);
16892 
16916 HC_INTERFACE void HC_CDECL HC_Show_One_Color (char const *type, char *color);
16917 
16927 HC_INTERFACE void HC_CDECL HC_Show_One_Color_By_Index (char const *type, int *index);
16928 
16938 HC_INTERFACE bool HC_CDECL HC_Show_One_Color_By_Value (char const *type, char *color_space, float *a, float *b, float *c);
16939 
16955 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map (int offset, char *color);
16956 
16969 HC_INTERFACE void HC_CDECL HC_Show_One_Color_Map_By_Value (int offset, char *color_space, float *a, float *b, float *c);
16970 
16977 HC_INTERFACE void HC_CDECL HC_Show_One_Driver_Option (char const *type, char *value);
16978 
16985 HC_INTERFACE void HC_CDECL HC_Show_One_Heuristic (char const *type, char *value);
16986 
16997 HC_INTERFACE void HC_CDECL HC_Show_One_Rendering_Option (char const *type, char *value);
16998 
17005 HC_INTERFACE void HC_CDECL HC_Show_One_Selectability (char const *type, char *value);
17006 
17013 HC_INTERFACE void HC_CDECL HC_Show_One_System_Option (char const *type, char *value);
17014 
17021 HC_INTERFACE void HC_CDECL HC_Show_One_Text_Font (char const *type, char *value);
17022 
17029 HC_INTERFACE bool HC_CDECL HC_Show_One_User_Index (long index, void **value);
17030 
17037 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option (char const *type, char *value);
17038 
17045 HC_INTERFACE void HC_CDECL HC_Show_One_Unicode_Option (unsigned short const *requestedOption, unsigned short *options);
17046 
17053 HC_INTERFACE void HC_CDECL HC_Show_One_Visibility (char const *type, char *value);
17054 
17060 HC_INTERFACE void HC_CDECL HC_Show_Open_Segment_Count (int *count);
17061 
17090 HC_INTERFACE Key HC_CDECL HC_Show_Owner (char const *segment, char *owner);
17091 
17099 HC_INTERFACE Key HC_CDECL HC_Show_Owner_By_Key (Key key, char *owner);
17100 
17116 HC_INTERFACE void HC_CDECL HC_Show_Parameter (int *size, float list[]);
17117 
17123 HC_INTERFACE void HC_CDECL HC_Show_Parameter_Size (int *size);
17124 
17135 HC_INTERFACE void HC_CDECL HC_Show_Partial_Image (Key key, int xpos, int ypos, int xlen, int ylen, void *data);
17136 
17147 HC_INTERFACE void HC_CDECL HC_Show_Partial_Mesh (Key key,
17148  int row_offset,
17149  int col_offset,
17150  int row_count,
17151  int col_count,
17152  Point points[]);
17153 
17162 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polygon (Key key, int offset, int request, Point points[]);
17163 
17172 HC_INTERFACE void HC_CDECL HC_Show_Partial_Polyline (Key key, int offset, int request, Point points[]);
17173 
17186 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell (Key key,
17187  int voffset,
17188  int vcnt,
17189  Point points[],
17190  int foffset,
17191  int fcnt,
17192  int *flist_length,
17193  int face_list[]);
17194 
17203 HC_INTERFACE void HC_CDECL HC_Show_Partial_Shell_Size (Key key, int foffset, int fcnt, int *flist_length);
17204 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Mesh (Key key,
17205  int row_offset,
17206  int col_offset,
17207  int row_count,
17208  int col_count,
17209  DPoint points[]);
17210 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polygon (Key key, int offset, int request, DPoint points[]);
17211 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Polyline (Key key, int offset, int request, DPoint points[]);
17212 HC_INTERFACE void HC_CDECL HC_DShow_Partial_Shell (Key key,
17213  int voffset,
17214  int vcnt,
17215  DPoint points[],
17216  int foffset,
17217  int fcnt,
17218  int *flist_length,
17219  int face_list[]);
17220 
17250 HC_INTERFACE void HC_CDECL HC_Show_Pathname_Expansion (char const *pathname, char *expansion);
17251 
17272 HC_INTERFACE void HC_CDECL HC_Show_Polygon (Key key, int *count, Point points[]);
17273 
17280 HC_INTERFACE void HC_CDECL HC_Show_Polygon_Count (Key key, int *count);
17281 
17302 HC_INTERFACE void HC_CDECL HC_Show_Polyline (Key key, int *count, Point points[]);
17303 
17310 HC_INTERFACE void HC_CDECL HC_Show_Polyline_Count (Key key, int *count);
17311 
17323 HC_INTERFACE bool HC_CDECL HC_Show_Priority (Key key, int *priority);
17324 
17375 HC_INTERFACE void HC_CDECL HC_Show_Rendering_Options (char *list);
17376 HC_INTERFACE int HC_CDECL HC_Show_Segment_Name_Length (Key key);
17377 HC_INTERFACE Key HC_CDECL HC_Show_Segment_Name (Key key, char *name);
17378 
17400 HC_INTERFACE Key HC_CDECL HC_Show_Segment (Key key, char *pathname);
17401 
17407 HC_INTERFACE void HC_CDECL HC_Show_Segment_Count (int *count);
17408 
17422 HC_INTERFACE void HC_CDECL HC_Show_Selectability (char *list);
17423 
17446 HC_INTERFACE void HC_CDECL HC_Show_Selection (char *segment);
17447 
17562 HC_INTERFACE void HC_CDECL HC_Show_Selection_Element (Key *key, int *offset1, int *offset2, int *offset3);
17563 
17577 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source_Elem (int *vertex, int *edge, int *face, Point *hit_location); // HC_Show_Selection_Source_Element
17578 
17586 HC_INTERFACE void HC_CDECL HC_DShow_Selection_Source_Elem (int *vertex, int *edge, int *face, DPoint *hit_location); // HC_DShow_Selection_Source_Element
17587 
17602 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Key (Key *key);
17603 
17649 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements (Key *key, int *count, int vertex1[], int vertex2[], int faces[]);
17650 
17659 HC_INTERFACE void HC_CDECL HC_Show_Selection_Elements_Coun (Key *key, int *count); // HC_Show_Selection_Elements_Count
17660 HC_INTERFACE void HC_CDECL HC_Show_Selection_Item (Key *key, int *offset1, int *offset2);
17661 
17675 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys (int *count, Key keys[]);
17676 
17690 HC_INTERFACE void HC_CDECL HC_Show_Selection_Original_Keys (int *count, Key key[]);
17691 
17697 HC_INTERFACE void HC_CDECL HC_Show_Selection_Keys_Count (int *count);
17698 HC_INTERFACE void HC_CDECL HC_Show_Selection_Location (float *xw, float *yw, float *xc, float *yc, float *zc);
17699 
17783 HC_INTERFACE void HC_CDECL HC_Show_Selection_Pathname (char *segment);
17784 
17828 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);
17829 
17839 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);
17840 
17870 HC_INTERFACE void HC_CDECL HC_Show_Selection_Source (char *locater, char *picture, char *action, int *status);
17871 
17898 HC_INTERFACE void HC_CDECL HC_Show_Shell (Key key, int *pcount, Point points[], int *flist_length, int face_list[]);
17899 
17922 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips (Key key,
17923  int *pcount,
17924  Point points[],
17925  int *tristrips_length,
17926  int tristrips[],
17927  int *face_indices_length,
17928  int face_indices[]);
17929 
17938 HC_INTERFACE void HC_CDECL HC_Show_Shell_By_Tristrips_Size (Key key, int *pcount, int *tristrips_length, int *face_indices_length);
17939 
17947 HC_INTERFACE void HC_CDECL HC_Show_Shell_Size (Key key, int *pcount, int *flist_length);
17948 
17955 HC_INTERFACE void HC_CDECL HC_Show_Shell_Face_Count (Key key, int *face_count);
17956 
17966 HC_INTERFACE void HC_CDECL HC_Show_Shell_Tristrip_Count (Key key, int *tristrip_count);
17967 
17985 HC_INTERFACE void HC_CDECL HC_Show_Spot_Light (Key key, Point *position, Point *target, char *list);
17986 
18000 HC_INTERFACE void HC_CDECL HC_Show_Streaming_Mode (char *flag);
18001 
18028 HC_INTERFACE void HC_CDECL HC_Show_String (char *text);
18029 
18036 HC_INTERFACE void HC_CDECL HC_Show_String_Count (int *count);
18037 
18053 HC_INTERFACE void HC_CDECL HC_Show_String_Cursor (Key key, Key *text_key, int *row, int *col);
18054 
18060 HC_INTERFACE void HC_CDECL HC_Show_String_Length (int *length);
18061 
18075 HC_INTERFACE void HC_CDECL HC_Show_String_Source (char *keyboard, Key *cursor_key);
18076 
18083 HC_INTERFACE void HC_CDECL HC_Show_String_With_Encoding (char *encoding, void *text);
18084 
18097 HC_INTERFACE Key HC_CDECL HC_Show_Style_Segment (Key key, char *pathname);
18098 
18126 HC_INTERFACE bool HC_CDECL HC_Show_System_Info (char const *type, char *value);
18127 
18171 HC_INTERFACE void HC_CDECL HC_Show_System_Options (char *list);
18172 
18193 HC_INTERFACE void HC_CDECL HC_Show_Text (Key key, float *x, float *y, float *z, char *text);
18194 HC_INTERFACE void HC_CDECL HC_Show_Text_Leader (Key key, float *x, float *y, float *z, char *options);
18195 
18206 HC_INTERFACE void HC_CDECL HC_Show_Text_With_Encoding (Key key, float *x, float *y, float *z, char *encoding, void *text);
18207 
18222 HC_INTERFACE void HC_CDECL HC_Show_Text_Alignment (char *locater);
18223 
18230 HC_INTERFACE void HC_CDECL HC_Show_Text_Count (Key key, int *count);
18231 
18238 HC_INTERFACE void HC_CDECL HC_Show_Text_Encoding (Key key, char *encoding);
18239 
18275 HC_INTERFACE void HC_CDECL HC_Show_Text_Font (char *options);
18276 
18283 HC_INTERFACE void HC_CDECL HC_Show_Text_Length (Key key, int *length);
18284 
18301 HC_INTERFACE void HC_CDECL HC_Show_Text_Path (float *x, float *y, float *z);
18302 HC_INTERFACE void HC_CDECL HC_Show_Text_Size (float *value);
18303 
18317 HC_INTERFACE void HC_CDECL HC_Show_Text_Spacing (float *spacing);
18318 
18349 HC_INTERFACE void HC_CDECL HC_Show_Texture (char const *texture, char *definition);
18350 
18358 HC_INTERFACE void HC_CDECL HC_Show_Shader (char const *name, char *definition, char *shader_source);
18359 
18394 HC_INTERFACE void HC_CDECL HC_Show_Local_Texture (char const *texture_name, char *definition);
18395 
18401 HC_INTERFACE void HC_CDECL HC_Show_Texture_Count (int *count);
18402 
18408 HC_INTERFACE void HC_CDECL HC_Show_Glyph_Count (int *count);
18409 HC_INTERFACE void HC_CDECL HC_Show_Shape_Count (int *count);
18410 
18416 HC_INTERFACE void HC_CDECL HC_Show_Line_Style_Count (int *count);
18417 
18432 HC_INTERFACE void HC_CDECL HC_Show_Texture_Matrix (float matrix[]);
18433 
18450 HC_INTERFACE void HC_CDECL HC_Show_Time (float *time);
18451 
18457 HC_INTERFACE void HC_CDECL HC_Show_User_Index_Count (int *count);
18458 
18474 HC_INTERFACE void HC_CDECL HC_Show_User_Indices (int count[], long indices[], void **values);
18475 
18492 HC_INTERFACE void HC_CDECL HC_Show_User_Options (char *list);
18493 
18504 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options (unsigned short *options);
18505 
18519 HC_INTERFACE void HC_CDECL HC_Show_User_Options_Length (int *length);
18520 
18526 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Options_Length (int *length);
18527 HC_INTERFACE void HC_CDECL HC_Show_User_Value (intptr_t *data);
18528 
18543 HC_INTERFACE void HC_CDECL HC_Show_Visibility (char *list);
18544 
18555 HC_INTERFACE void HC_CDECL HC_Show_Wakeup (float *time);
18556 
18574 HC_INTERFACE void HC_CDECL HC_Show_Window (float *left, float *right, float *bottom, float *top);
18575 HC_INTERFACE void HC_CDECL HC_Show_Window_With_Options (float *left, float *right, float *bottom, float *top, char *list);
18576 
18591 HC_INTERFACE void HC_CDECL HC_Show_Window_Frame (char *flag);
18592 
18607 HC_INTERFACE void HC_CDECL HC_Show_Window_Pattern (char *pattern);
18608 
18627 HC_INTERFACE void HC_CDECL HC_Translate_Object (double x, double y, double z);
18628 
18635 HC_INTERFACE void HC_CDECL HC_DTranslate_Object (double x, double y, double z);
18636 
18655 HC_INTERFACE void HC_CDECL HC_Translate_Texture (double u, double v, double w);
18656 
18662 HC_INTERFACE void HC_CDECL HC_UnDefine_Alias (char const *name);
18663 
18669 HC_INTERFACE void HC_CDECL HC_UnDefine_Callback_Name (char const *name);
18670 
18676 HC_INTERFACE void HC_CDECL HC_UnDefine_Color_Name (char const *name);
18677 
18683 HC_INTERFACE void HC_CDECL HC_UnDefine_Error_Handler (Void_Routine handler);
18684 
18690 HC_INTERFACE void HC_CDECL HC_UnDefine_Exit_Handler (Void_Routine handler);
18691 
18697 HC_INTERFACE void HC_CDECL HC_UnDefine_Font (char const *name);
18698 
18704 HC_INTERFACE void HC_CDECL HC_UnDefine_Glyph (char const *name);
18705 
18711 HC_INTERFACE void HC_CDECL HC_UnDefine_Line_Style (char const *name);
18712 
18717 HC_INTERFACE void HC_CDECL HC_UnDefine_Shape (char const *name);
18718 
18724 HC_INTERFACE void HC_CDECL HC_UnDefine_Texture (char const *texture_name);
18725 
18731 HC_INTERFACE void HC_CDECL HC_UnDefine_Local_Texture (char const *texture_name);
18732 
18738 HC_INTERFACE void HC_CDECL HC_UnDefine_Shader (char const *iname);
18739 
18748 HC_INTERFACE void HC_CDECL HC_UnSet_Bounding_Volume (void);
18749 
18754 HC_INTERFACE void HC_CDECL HC_UnSet_Callback (void);
18755 
18760 HC_INTERFACE void HC_CDECL HC_UnSet_Camera (void);
18761 
18766 HC_INTERFACE void HC_CDECL HC_UnSet_Color (void);
18767 
18772 HC_INTERFACE void HC_CDECL HC_UnSet_Color_Map (void);
18773 
18778 HC_INTERFACE void HC_CDECL HC_UnSet_Driver_Options (void);
18779 
18784 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Pattern (void);
18785 
18790 HC_INTERFACE void HC_CDECL HC_UnSet_Edge_Weight (void);
18791 
18796 HC_INTERFACE void HC_CDECL HC_UnSet_Face_Pattern (void);
18797 
18802 HC_INTERFACE void HC_CDECL HC_UnSet_Handedness (void);
18803 
18808 HC_INTERFACE void HC_CDECL HC_UnSet_Heuristics (void);
18809 
18814 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Pattern (void);
18815 
18820 HC_INTERFACE void HC_CDECL HC_UnSet_Line_Weight (void);
18821 
18826 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Size (void);
18827 
18832 HC_INTERFACE void HC_CDECL HC_UnSet_Marker_Symbol (void);
18833 
18838 HC_INTERFACE void HC_CDECL HC_UnSet_Modelling_Matrix (void);
18839 
18844 HC_INTERFACE void HC_CDECL HC_UnSet_Normal (void);
18845 
18851 HC_INTERFACE void HC_CDECL HC_UnSet_One_Callback (char const *callback);
18852 
18859 HC_INTERFACE void HC_CDECL HC_UnSet_One_Color (char const *which);
18860 
18866 HC_INTERFACE void HC_CDECL HC_UnSet_One_Driver_Option (char const *which);
18867 
18873 HC_INTERFACE void HC_CDECL HC_UnSet_One_Heuristic (char const *which);
18874 
18880 HC_INTERFACE void HC_CDECL HC_UnSet_One_Rendering_Option (char const *which);
18881 
18887 HC_INTERFACE void HC_CDECL HC_UnSet_One_Selectability (char const *which);
18888 
18894 HC_INTERFACE void HC_CDECL HC_UnSet_One_Text_Font (char const *which);
18895 
18901 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Index (long index);
18902 
18908 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Option (char const *which);
18909 
18915 HC_INTERFACE void HC_CDECL HC_UnSet_One_Unicode_Option (unsigned short const *which);
18916 
18922 HC_INTERFACE void HC_CDECL HC_UnSet_One_Visibility (char const *which);
18923 
18928 HC_INTERFACE void HC_CDECL HC_UnSet_Parameter (void);
18929 
18934 HC_INTERFACE void HC_CDECL HC_UnSet_Rendering_Options (void);
18935 
18940 HC_INTERFACE void HC_CDECL HC_UnSet_Selectability (void);
18941 
18946 HC_INTERFACE void HC_CDECL HC_UnSet_Streaming_Mode (void);
18947 
18952 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Alignment (void);
18953 
18958 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Font (void);
18959 
18964 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Path (void);
18965 
18970 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Spacing (void);
18971 
18976 HC_INTERFACE void HC_CDECL HC_UnSet_Texture_Matrix (void);
18977 
18982 HC_INTERFACE void HC_CDECL HC_UnSet_User_Options (void);
18983 
18988 HC_INTERFACE void HC_CDECL HC_UnSet_Unicode_Options (void);
18989 HC_INTERFACE void HC_CDECL HC_UnSet_User_Indices (void);
18990 HC_INTERFACE void HC_CDECL HC_UnSet_User_Data (void);
18991 HC_INTERFACE void HC_CDECL HC_UnSet_User_Value (void);
18992 
18997 HC_INTERFACE void HC_CDECL HC_UnSet_Visibility (void);
18998 
19003 HC_INTERFACE void HC_CDECL HC_UnSet_Window (void);
19004 
19009 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Frame (void);
19010 
19015 HC_INTERFACE void HC_CDECL HC_UnSet_Window_Pattern (void);
19016 
19053 HC_INTERFACE bool HC_CDECL HC_Update_Display (void);
19054 
19074 HC_INTERFACE bool HC_CDECL HC_Update_Display_Timed (double time);
19075 
19091 HC_INTERFACE bool HC_CDECL HC_Update_One_Display (char const *segment);
19092 
19107 HC_INTERFACE bool HC_CDECL HC_Update_One_Display_Timed (char const *segment, double time);
19108 
19183 HC_INTERFACE bool HC_CDECL HC_Write_Metafile (char const *segment, char const *file, char const *options);
19184 
19201 HC_INTERFACE void HC_CDECL HC_Zoom_Camera (double zoom);
19202 
19251 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Pointer (Key key, const char * data_type, void * value);
19252 
19264 HC_INTERFACE void HC_CDECL HC_Show_Geometry_Options (Key key, char *list);
19265 
19306 HC_INTERFACE void HC_CDECL HC_Set_Geometry_Options (Key key, const char *list); // HC_Edit_Geometry_Options
19307 
19348 HC_INTERFACE Key HC_CDECL HC_Insert_NURBS_Surface (
19349  int u_degree,
19350  int v_degree,
19351  int u_count,
19352  int v_count,
19353  Point const points[],
19354  float const weights[],
19355  float const u_knots[],
19356  float const v_knots[]);
19357 
19382 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface_Size (
19383  Key key,
19384  int *u_degree,
19385  int *v_degree,
19386  int *u_count,
19387  int *v_count,
19388  int *weights_count,
19389  int *u_knots_count,
19390  int *v_knots_count);
19391 HC_INTERFACE void HC_CDECL HC_Show_NURBS_Surface (
19392  Key key,
19393  int *u_degree,
19394  int *v_degree,
19395  int *u_count,
19396  int *v_count,
19397  Point points[],
19398  float weights[],
19399  float u_knots[],
19400  float v_knots[]);
19401 
19430 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Poly (
19431  int cpcount,
19432  float const points[]);
19433 
19474 HC_INTERFACE void HC_CDECL HC_Trim_NURBS_Surface_By_Curve (
19475  int degree,
19476  int cpcount,
19477  float const control_points[],
19478  float const weights[],
19479  float const knots[],
19480  double start_u,
19481  double end_u);
19482 
19511 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface (
19512  Key key,
19513  int cp_offset,
19514  int weights_offset,
19515  int u_knot_offset,
19516  int v_knot_offset,
19517  int cp_replace_count,
19518  int weights_replace_count,
19519  int u_knot_replace_count,
19520  int v_knot_replace_count,
19521  Point const points[],
19522  float const weights[],
19523  float const u_knots[],
19524  float const v_knots[]);
19525 
19535 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Points (
19536  Key key,
19537  int cp_offset,
19538  int cp_replace_count,
19539  Point const points[]);
19540 
19550 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Weights (
19551  Key key,
19552  int weights_offset,
19553  int weights_replace_count,
19554  float const weights[]);
19555 
19568 HC_INTERFACE void HC_CDECL HC_Edit_NURBS_Surface_Knots (
19569  Key key,
19570  int u_knot_offset,
19571  int v_knot_offset,
19572  int u_knot_replace_count,
19573  int v_knot_replace_count,
19574  float const u_knots[],
19575  float const v_knots[]);
19576 
19623 HC_INTERFACE void HC_CDECL HC_Show_Trim_Count (
19624  int * count);
19625 
19684 HC_INTERFACE void HC_CDECL HC_Show_Trim_Type (
19685  int index,
19686  char * trim_type);
19687 
19710 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly (
19711  int index,
19712  int * count,
19713  float points[]);
19714 
19721 HC_INTERFACE void HC_CDECL HC_Show_Trim_Poly_Count (
19722  int index,
19723  int * count);
19724 
19754 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve (
19755  int index,
19756  int * degree,
19757  int * cp_count,
19758  float points[],
19759  float weights[],
19760  float knots[],
19761  float * start_u,
19762  float * end_u);
19763 
19773 HC_INTERFACE void HC_CDECL HC_Show_Trim_Curve_Count (
19774  int index,
19775  int * degree,
19776  int * cp_count,
19777  int * w_count,
19778  int * knot_count);
19779 
19810 HC_INTERFACE void HC_CDECL HC_Delete_Trim (
19811  int index);
19812 
19825 HC_INTERFACE void HC_CDECL HC_Open_Trim (
19826  int offset);
19827 
19832 HC_INTERFACE void HC_CDECL HC_Close_Trim (void);
19833 
19845 HC_INTERFACE void HC_CDECL HC_Set_Trim_Operation (
19846  int index,
19847  char const * operation);
19848 
19860 HC_INTERFACE void HC_CDECL HC_Show_Trim_Operation (
19861  int index,
19862  char * operation);
19863 
19870 HC_INTERFACE void HC_CDECL HC_Create_Trim_Collection (void);
19871 
19879 HC_INTERFACE void HC_CDECL HC_Set_Variable_Line_Weight (
19880  char const * weight);
19881 
19889 HC_INTERFACE void HC_CDECL HC_Set_Variable_Edge_Weight (
19890  char const * weight);
19891 
19954 HC_INTERFACE void HC_CDECL HC_Set_Variable_Marker_Size (
19955  char const * size);
19956 
19966 HC_INTERFACE void HC_CDECL HC_Show_Variable_Edge_Weight (
19967  char * weight);
19968 
19979 HC_INTERFACE void HC_CDECL HC_Show_Variable_Line_Weight (
19980  char * weight);
19981 
19992 HC_INTERFACE void HC_CDECL HC_Show_Variable_Marker_Size (
19993  char * size);
19994 
20008 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Edge_Weight (
20009  int count,
20010  Key const keys[],
20011  char * weight); // HC_PShow_Net_Variable_Edge_Weight
20012 
20026 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Line_Weight (
20027  int count,
20028  Key const keys[],
20029  char * weight); // HC_PShow_Net_Variable_Line_Weight
20030 
20044 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Var_Marker_Size (
20045  int count,
20046  Key const keys[],
20047  char * size); // HC_PShow_Net_Variable_Marker_Size
20048 
20063 HC_INTERFACE void HC_CDECL HC_MShow_Character_Attributes(
20064  Key key,
20065  int offset,
20066  int count,
20067  char * options);
20068 
20075 HC_INTERFACE void HC_CDECL HC_Show_Character_Attribute_Cou(
20076  Key key,
20077  int * count); // HC_Show_Character_Attribute_Count
20078 
20087 HC_INTERFACE void HC_CDECL HC_Show_One_Character_Attribute(
20088  Key key,
20089  int offset,
20090  char const *which,
20091  char * options);
20092 
20098 HC_INTERFACE void HC_CDECL HC_Set_Faces (
20099  int first_face,
20100  int face_count);
20101 
20106 HC_INTERFACE void HC_CDECL HC_Set_Region (
20107  int region);
20108 
20116 HC_INTERFACE void HC_CDECL HC_MSet_Region_Faces (
20117  Key key,
20118  int region,
20119  int first_face,
20120  int face_count);
20121 
20129 HC_INTERFACE void HC_CDECL HC_MSet_Face_Regions (
20130  Key key,
20131  int first_face,
20132  int face_count,
20133  int const regions[]);
20134 
20140 HC_INTERFACE void HC_CDECL HC_Show_Faces (
20141  int * face_count,
20142  int faces[]);
20143 
20149 HC_INTERFACE void HC_CDECL HC_Show_Faces_Count (
20150  int * face_count);
20151 
20156 HC_INTERFACE void HC_CDECL HC_Show_Region (
20157  int region[]);
20158 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces (
20159  Key key,
20160  int region,
20161  int * face_count,
20162  int faces[]);
20163 HC_INTERFACE void HC_CDECL HC_MShow_Region_Faces_Count (
20164  Key key,
20165  int region,
20166  int * face_count);
20167 
20174 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions (
20175  Key key,
20176  int * face_count,
20177  int regions[]);
20178 
20185 HC_INTERFACE void HC_CDECL HC_MShow_Face_Regions_Count (
20186  Key key,
20187  int * face_count);
20188 HC_INTERFACE void HC_CDECL HC_MShow_Partial_Face_Regions (
20189  Key key,
20190  int first_face,
20191  int face_count,
20192  int regions[]);
20193 
20200 HC_INTERFACE void HC_CDECL HC_Show_Region_Range (
20201  Key key,
20202  int * lowest,
20203  int * highest);
20204 
20229 HC_INTERFACE Key HC_CDECL HC_Insert_PolyCylinder (int p_count, Point const pts[], int r_count, float const radii[], char const *capping);
20230 
20241 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder (Key key, int *p_count, Point pts[], int *r_count, float radii[], char *capping);
20242 
20251 HC_INTERFACE void HC_CDECL HC_Show_PolyCylinder_Counts (Key key, int *p_count, int *r_count, char *capping);
20252 
20260 HC_INTERFACE Key HC_CDECL HC_Insert_Shell_From_Region (Key key1, int region, char const *options);
20261 
20270 HC_INTERFACE Key HC_CDECL HC_Insert_Unicode_Text (
20271  double x,
20272  double y,
20273  double z,
20274  unsigned short const text[]);
20275 
20284 HC_INTERFACE void HC_CDECL HC_Show_Unicode_Text (
20285  Key key,
20286  float *x,
20287  float *y,
20288  float *z,
20289  unsigned short text[]);
20290 
20327 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Shell (
20328  char const *action,
20329  char const *start_seg,
20330  int point_count,
20331  Point const points[],
20332  int face_list_length,
20333  int const face_list[]);
20334 
20345 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Shell (
20346  char const *action,
20347  char const *start_seg,
20348  int point_count,
20349  DPoint const points[],
20350  int face_list_length,
20351  int const face_list[]);
20352 
20387 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Sh_W_Op (
20388  char const *action,
20389  char const *start_seg,
20390  int point_count,
20391  Point const points[],
20392  int face_list_length,
20393  int const face_list[],
20394  char const *options); // HC_Compute_Selection_By_Shell_With_Options
20395 
20407 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Sh_W_O (
20408  char const *action,
20409  char const *start_seg,
20410  int point_count,
20411  DPoint const points[],
20412  int face_list_length,
20413  int const face_list[],
20414  char const *options); // HC_DCompute_Selection_By_Shell_With_Options
20415 
20466 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_S (
20467  char const *action,
20468  char const *start_seg,
20469  Key shellkey,
20470  int number_of_sweeps,
20471  float const matrices[],
20472  char const *options); // HC_Compute_Selection_By_Swept_Shell
20473 
20484 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_S (
20485  char const *action,
20486  char const *start_seg,
20487  Key shellkey,
20488  int number_of_sweeps,
20489  double const matrices[],
20490  char const *options); // HC_DCompute_Selection_By_Swept_Shell
20491 
20503 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Swept_2 (
20504  char const *action,
20505  char const *start_seg,
20506  Key shellkey,
20507  int sweepcount,
20508  float const matrices[],
20509  char const *options,
20510  float bounding_box[]); // HC_Compute_Selection_By_Swept_Shell2
20511 
20523 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Swpt_2 (
20524  char const *action,
20525  char const *start_seg,
20526  Key shellkey,
20527  int sweepcount,
20528  double const matrices[],
20529  char const *options,
20530  double bounding_box[]); // HC_DCompute_Selection_By_Swept_Shell2
20531 
20558 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Key (
20559  char const *action,
20560  char const *start_seg,
20561  Key key, float const matrix[]);
20562 
20570 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Key (
20571  char const *action,
20572  char const *start_seg,
20573  Key key, double const matrix[]);
20574 
20594 HC_INTERFACE Key HC_CDECL HC_Compute_Swept_Shell(
20595  Key shellkey,
20596  Vector const * direction_in,
20597  Key * front_key,
20598  Key * back_key,
20599  Key * side_key,
20600  char const * options);
20601 
20611 HC_INTERFACE Key HC_CDECL HC_DCompute_Swept_Shell(
20612  Key shellkey,
20613  DVector const * direction_in,
20614  Key * front_key,
20615  Key * back_key,
20616  Key * side_key,
20617  char const * options);
20618 
20655 HC_INTERFACE void HC_CDECL HC_Compute_Swept_Shell_Along_P (
20656  Key shellkey,
20657  int number_of_sweeps,
20658  float const matrices[],
20659  char const * options); // HC_Compute_Swept_Shell_Along_Path
20660 
20668 HC_INTERFACE void HC_CDECL HC_DCompute_Swept_Shell_Along_P (
20669  Key shellkey,
20670  int number_of_sweeps,
20671  double const matrices[],
20672  char const * options); // HC_DCompute_Swept_Shell_Along_Path
20673 
20705 HC_INTERFACE float HC_CDECL HC_Compute_Selection_Dist_By_Sh (
20706  char const * action,
20707  char const * start_segment,
20708  int pcount,
20709  Point const points[],
20710  int flist_length,
20711  int const faces[] ,
20712  const char * options); // HC_Compute_Selection_Distance_By_Shell
20713 
20725 HC_INTERFACE double HC_CDECL HC_DCompute_Selection_Dist_By_S (
20726  char const * action,
20727  char const * start_segment,
20728  int pcount,
20729  DPoint const points[],
20730  int flist_length,
20731  int const faces[] ,
20732  const char * options); // HC_DCompute_Selection_Distance_By_Shell
20733 
20746 HC_INTERFACE void HC_CDECL HC_Begin_Shell_Selection (void);
20747 
20752 HC_INTERFACE void HC_CDECL HC_End_Shell_Selection (void);
20753 
20794 HC_INTERFACE int HC_CDECL HC_Compute_Intersect_Polyline (
20795  int pcount1,
20796  Point const points1[],
20797  int flist_length3,
20798  int const face_list1[],
20799  int pcount2,
20800  Point const points2[],
20801  int flist_length2,
20802  int const face_list2[],
20803  int *polyline_count,
20804  int polyline_lengths[],
20805  int *polyline_points_count,
20806  Point polyline_points[]);
20807 
20823 HC_INTERFACE int HC_CDECL HC_Show_Intersect_Polyline_Size (
20824  int pcount1,
20825  Point const points1[],
20826  int flist_length3,
20827  int const face_list1[],
20828  int pcount2,
20829  Point const points2[],
20830  int flist_length2,
20831  int const face_list2[],
20832  int *polyline_count,
20833  int *polyline_points_count);
20834 
20851 HC_INTERFACE int HC_CDECL HC_DCompute_Intersect_Polyline (
20852  int pcount1,
20853  DPoint const points1[],
20854  int flist_length3,
20855  int const face_list1[],
20856  int pcount2,
20857  DPoint const points2[],
20858  int flist_length2,
20859  int const face_list2[],
20860  int *polyline_count,
20861  int polyline_lengths[],
20862  int *polyline_points_count,
20863  DPoint polyline_points[]);
20864 HC_INTERFACE int HC_CDECL HC_DShow_Intersect_Polyline_Size (
20865  int pcount1,
20866  DPoint const points1[],
20867  int flist_length3,
20868  int const face_list1[],
20869  int pcount2,
20870  DPoint const points2[],
20871  int flist_length2,
20872  int const face_list2[],
20873  int *polyline_count,
20874  int *polyline_points_count);
20875 
20892 HC_INTERFACE bool HC_CDECL HC_Compute_Point_Inside_Shell (
20893  Point const *test_point,
20894  int point_count,
20895  Point const points[],
20896  int face_list_length,
20897  int const face_list[]);
20898 
20908 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_Inside_Shell (
20909  DPoint const *test_point,
20910  int point_count,
20911  DPoint const points[],
20912  int face_list_length,
20913  int const face_list[]);
20914 
20932 HC_INTERFACE bool HC_CDECL HC_Compute_Point_On_Shell (
20933  Point const *test_point,
20934  double tolerance,
20935  int point_count,
20936  Point const points[],
20937  int face_list_length,
20938  int const face_list[]);
20939 
20950 HC_INTERFACE bool HC_CDECL HC_DCompute_Point_On_Shell (
20951  DPoint const *test_point,
20952  double tolerance,
20953  int point_count,
20954  DPoint const points[],
20955  int face_list_length,
20956  int const face_list[]);
20957 
20995 HC_INTERFACE void HC_CDECL HC_Compute_Points_Inside_Shell (
20996  int test_point_count,
20997  Point const test_points[],
20998  Vector const test_points_vectors[],
20999  int point_count,
21000  Point const points[],
21001  int face_list_length,
21002  int const face_list[],
21003  char const *options,
21004  int results[]);
21005 HC_INTERFACE void HC_CDECL HC_DCompute_Points_Inside_Shell (
21006  int test_point_count,
21007  DPoint const test_points[],
21008  DVector const test_points_vectors[],
21009  int point_count,
21010  DPoint const points[],
21011  int face_list_length,
21012  int const face_list[],
21013  char const *options,
21014  int results[]);
21015 
21038 HC_INTERFACE int HC_CDECL HC_Compute_Points_On_Shell (
21039  int test_point_count,
21040  Point const test_points[],
21041  double tolerance,
21042  int point_count,
21043  Point const points[],
21044  int face_list_length,
21045  int const face_list[],
21046  int results[]);
21047 
21060 HC_INTERFACE int HC_CDECL HC_DCompute_Points_On_Shell (
21061  int test_point_count,
21062  DPoint const test_points[],
21063  double tolerance,
21064  int point_count,
21065  DPoint const points[],
21066  int face_list_length,
21067  int const face_list[],
21068  int results[]);
21069 
21102 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_Sh (
21103  int test_point_count,
21104  Point const test_points[],
21105  double tolerance,
21106  int point_count,
21107  Point const points[],
21108  int face_list_length,
21109  int const face_list[],
21110  const char *options,
21111  float results[]); // HC_Compute_Points_Distance_From_Shell
21112 
21126 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_F_S (
21127  int test_point_count,
21128  DPoint const test_points[],
21129  double tolerance,
21130  int point_count,
21131  DPoint const points[],
21132  int face_list_length,
21133  int const face_list[],
21134  const char *options,
21135  double results[]); // HC_DCompute_Points_Distance_From_Shell
21136 HC_INTERFACE int HC_CDECL HC_Compute_Points_Distance_F_S2 (
21137  int test_pcount,
21138  Point const test_pt[],
21139  double tolerance,
21140  int point_count1,
21141  Point const points1[],
21142  int face_list_length3,
21143  int const face_list1[],
21144  const char *options,
21145  float results[],
21146  int face_results[]); // HC_Compute_Points_Distance_From_Shell2
21147 HC_INTERFACE int HC_CDECL HC_DCompute_Points_Distance_FS2 (
21148  int test_pcount,
21149  DPoint const test_pt[],
21150  double tolerance,
21151  int point_count1,
21152  DPoint const points1[],
21153  int face_list_length3,
21154  int const face_list1[],
21155  const char *options,
21156  double results[],
21157  int face_results[]); // HC_DCompute_Points_Distance_From_Shell2
21158 
21187 HC_INTERFACE void HC_CDECL HC_Compute_Shell_Enclosure (
21188  int point_count1,
21189  Point const points1[],
21190  int face_list_length3,
21191  int const face_list1[],
21192  int point_count2,
21193  Point const points2[],
21194  int face_list_length2,
21195  int const face_list2[],
21196  char *result);
21197 
21209 HC_INTERFACE void HC_CDECL HC_DCompute_Shell_Enclosure (
21210  int point_count1,
21211  DPoint const points1[],
21212  int face_list_length3,
21213  int const face_list1[],
21214  int point_count2,
21215  DPoint const points2[],
21216  int face_list_length2,
21217  int const face_list2[],
21218  char *result);
21219 
21256 HC_INTERFACE int HC_CDECL HC_Compute_Selection_By_Ray (
21257  char const *action,
21258  char const *start_seg,
21259  Point const *start_point,
21260  Vector const *direction);
21261 
21270 HC_INTERFACE int HC_CDECL HC_DCompute_Selection_By_Ray (
21271  char const *action,
21272  char const *start_seg,
21273  DPoint const *start_point,
21274  DVector const *direction);
21275 
21301 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid (char const *segment, char const *options, Point *min, Point *max);
21302 
21314 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Key (Key segKey, char const *options, Point *min, Point *max);
21315 
21330 HC_INTERFACE bool HC_CDECL HC_Filter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, Point *min, Point *max);
21331 
21358 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere (char const *segment, char const *options, Point *center, float *radius);
21359 
21369 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Key (Key segKey, char const *options, Point *center, float *radius);
21370 
21385 HC_INTERFACE bool HC_CDECL HC_Filter_Circumsphere_By_Path (int count, Key const keys[], char const *options, Point *center, float *radius);
21386 
21395 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid (char const *segment, char const *options, DPoint *min, DPoint *max);
21396 
21406 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Key (Key segKey, char const *options, DPoint *min, DPoint *max);
21407 
21417 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumcuboid_By_Path (int count, Key const keys[], char const *options, DPoint *min, DPoint *max);
21418 
21427 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere (char const *segment, char const *options, DPoint *center, double *radius);
21428 
21438 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Key (Key segKey, char const *options, DPoint *center, double *radius);
21439 
21450 HC_INTERFACE bool HC_CDECL HC_DFilter_Circumsphere_By_Path (int count, Key const keys[], char const *options, DPoint *center, double *radius);
21451 
21486 HC_INTERFACE void HC_CDECL HC_Set_Polygonal_Clip_Region (int count, Point const points[], char const * options);
21487 
21494 HC_INTERFACE void HC_CDECL HC_DSet_Polygonal_Clip_Region (int count, DPoint const points[], char const * options);
21495 
21533 HC_INTERFACE void HC_CDECL HC_Set_Complex_Clip_Region (int loops, int const lengths[], Point const points[], char const * options);
21534 
21542 HC_INTERFACE void HC_CDECL HC_DSet_Complex_Clip_Region (int loops, int const lengths[], DPoint const points[], char const * options);
21543 
21553 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region (
21554  int *loopCount, int loopSizeArray[], Point points[], char *options);
21555 
21563 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region (
21564  int *loopCount, int loopSizeArray[], DPoint points[], char *options);
21565 
21577 HC_INTERFACE void HC_CDECL HC_Show_Clip_Region_Size (
21578  int *loopCount, int *totalPointCount, char *options);
21579 HC_INTERFACE void HC_CDECL HC_DShow_Clip_Region_Size (
21580  int *loopCount, int *totalPointCount, char *options);
21581 
21604 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region (
21605  int count, Key const keys[], int *loopCount, int loopSizeArray[], Point points[], char *spec);
21606 
21622 HC_INTERFACE int HC_CDECL HC_PShow_Net_Clip_Region_Size (
21623  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
21624 
21635 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region (
21636  int count, Key const keys[], int *loopCount, int loopSizeArray[], DPoint points[], char *spec);
21637 
21647 HC_INTERFACE int HC_CDECL HC_DPShow_Net_Clip_Region_Size (
21648  int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec);
21649 
21654 HC_INTERFACE void HC_CDECL HC_UnSet_Clip_Region (void);
21655 
21673 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD (char const *segment, char const *options);
21674 
21681 HC_INTERFACE void HC_CDECL HC_Regenerate_LOD_By_Key (Key segKey, char const *options);
21682 
21729 HC_INTERFACE void HC_CDECL HC_Set_Text_Region (int pCount, Point const points[], char const *options);
21730 
21743 HC_INTERFACE void HC_CDECL HC_Show_Text_Region (int *count, Point points[], char *options);
21744 
21751 HC_INTERFACE void HC_CDECL HC_DSet_Text_Region (int pCount, DPoint const points[], char const *options);
21752 
21753 
21754 HC_INTERFACE void HC_CDECL HC_DShow_Text_Region (int *count, DPoint points[], char *options);
21755 
21761 HC_INTERFACE void HC_CDECL HC_Show_Text_Region_Count (int *count);
21762 
21767 HC_INTERFACE void HC_CDECL HC_UnSet_Text_Region (void);
21768 
21806 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent (
21807  char const *segment, char const *options, float *left, float *right, float *bottom, float *top);
21808 
21820 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Pat (
21821  int count, Key const keys[], char const *options, float *left, float *right, float *bottom, float *top); // HC_Compute_Screen_Extent_By_Path
21822 
21833 HC_INTERFACE void HC_CDECL HC_Compute_Screen_Extent_By_Key (
21834  Key segKey, char const *options, float *left, float *right, float *bottom, float *top);
21835 
21854 HC_INTERFACE void HC_CDECL HC_Set_Camera_Near_Limit (double wlimit);
21855 
21862 HC_INTERFACE bool HC_CDECL HC_Show_Camera_Near_Limit (float *limit);
21863 
21877 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Camera_Near_Limit (int count, Key const keys[], float *limit);
21878 
21885 HC_INTERFACE void HC_CDECL HC_UnSet_Camera_Near_Limit (void);
21886 
21896 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
21897 
21904 HC_INTERFACE void HC_CDECL HC_Show_One_User_Option_Length (char const *which, int *length);
21905 
21915 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
21916 
21923 HC_INTERFACE void HC_CDECL HC_Show_One_Uni_Option_Length (unsigned short const *text, int *length); // HC_Show_One_Unicode_Option_Length
21924 
21944 HC_INTERFACE Key HC_CDECL HC_Show_Original_Key (Key key);
21945 
21965 HC_INTERFACE Key HC_CDECL HC_Show_Renumbered_Key (Key key, char *status);
21966 
21975 HC_INTERFACE double HC_CDECL HC_Compute_Vector_Angle (Vector const *vector, Vector const *vector2);
21976 
21983 HC_INTERFACE double HC_CDECL HC_DCompute_Vector_Angle (DVector const *vector, DVector const *vector2);
21984 
22005 HC_INTERFACE void HC_CDECL HC_Set_Conditions (char const *list);
22006 
22011 HC_INTERFACE void HC_CDECL HC_UnSet_Conditions (void);
22012 
22018 HC_INTERFACE void HC_CDECL HC_UnSet_One_Condition (char const *condition);
22019 
22042 HC_INTERFACE void HC_CDECL HC_Set_Conditional_Action (char const * options, char const * condition);
22043 
22049 HC_INTERFACE void HC_CDECL HC_Show_Cond_Action_Types (char * action_types); // HC_Show_Conditional_Action_Types
22050 
22058 HC_INTERFACE void HC_CDECL HC_Show_One_Conditional_Action (char const * action_type, char * options, char * condition);
22059 
22064 HC_INTERFACE void HC_CDECL HC_UnSet_Conditional_Actions (void);
22065 
22071 HC_INTERFACE void HC_CDECL HC_UnSet_One_Conditional_Action (char const *which);
22072 
22085 HC_INTERFACE Key HC_CDECL HC_Conditional_Style (char const *style, char const *conditions);
22086 
22094 HC_INTERFACE Key HC_CDECL HC_Conditional_Style_By_Key (Key seg_key, char const *conditions);
22095 HC_INTERFACE bool HC_CDECL HC_Evaluate_Condition(const char * expression, const char * conditions);
22096 HC_INTERFACE Key HC_CDECL HC_Conditional_Include (char const *include, char const *condition);
22097 
22105 HC_INTERFACE Key HC_CDECL HC_Conditional_Include_By_Key (Key seg_key, char const *condition);
22106 
22112 HC_INTERFACE void HC_CDECL HC_Show_Conditions (char *list);
22113 
22125 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions (int count, Key const keys[], char *options);
22126 
22132 HC_INTERFACE void HC_CDECL HC_Show_Conditions_Length (int *length);
22133 
22145 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Conditions_Length (int count, Key const keys[], int *length);
22146 
22153 HC_INTERFACE void HC_CDECL HC_Show_One_Condition (char const *condition, char *value);
22154 
22165 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Condition (int count, Key const keys[], char const * condition, char * options);
22166 
22174 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Include (Key key, char *pathname, char *conditions);
22175 
22183 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Style (Key key, char *pathname, char *conditions);
22184 
22194 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[]);
22195 HC_INTERFACE void HC_CDECL HC_Reverse_Contents_Search (void);
22196 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Colors_By_Value (Key key, char const *type, int offset, int count, RGB rgb[]);
22197 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
22198 
22207 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_Value (Key key, int offset, int count, RGB rgb[]);
22208 
22217 HC_INTERFACE void HC_CDECL HC_MShow_Face_Colors_By_FIndex (Key key, int offset, int count, float findices[]);
22218 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22219 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameters (Key key, int offset, int pcount, int *number, float params[]);
22220 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Parameter_Size (Key key, int *number);
22221 
22238 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center (double x, double y, double z);
22239 
22253 HC_INTERFACE void HC_CDECL HC_Set_Circular_Center_By_Key (Key key, double x, double y, double z);
22254 
22261 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center (double x, double y, double z);
22262 
22270 HC_INTERFACE void HC_CDECL HC_DSet_Circular_Center_By_Key (Key key, double x, double y, double z);
22271 
22289 HC_INTERFACE bool HC_CDECL HC_Show_Circular_Center (Key key, float * x, float * y, float * z);
22290 
22298 HC_INTERFACE bool HC_CDECL HC_DShow_Circular_Center (Key key, double * x, double * y, double * z);
22299 HC_INTERFACE void HC_CDECL HC_MShow_Net_Vertex_Normals (Key key, int offset, int count, Vector normals[]);
22300 
22314 HC_INTERFACE bool HC_CDECL HC_Show_Error (char * severity, int * category, int * severity_level);
22315 
22323 HC_INTERFACE void HC_CDECL HC_MSet_Vertex_Visibilities (Key key, int offset, int count, char const settings[]);
22324 
22331 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Visibilities (Key key, int offset, int count);
22332 HC_INTERFACE void HC_CDECL HC_MShow_Vertex_Visibilities (Key key, int offset, int count, char settings[]);
22333 
22362 HC_INTERFACE void HC_CDECL HC_MSet_Face_Visibilities (Key key, int offset, int count, char const settings[]);
22363 
22376 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Visibilities (Key key, int offset, int count);
22377 
22391 HC_INTERFACE void HC_CDECL HC_MShow_Face_Visibilities (Key key, int offset, int count, char settings[]);
22392 
22400 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
22401 
22408 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vertex_Vis (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Visibilities
22409 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vertex_Vis (Key key, int count, int const indices[], char settings[]); // HC_MShow_Specific_Vertex_Visibilities
22410 
22424 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
22425 
22433 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
22434 
22452 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
22453 
22467 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Colors (Key key, int offset, int count);
22468 
22476 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors (Key key, int offset, int count);
22477 
22498 HC_INTERFACE Key HC_CDECL HC_Insert_Cutting_Section (int count, Plane const planes[]);
22499 
22506 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Section (int count, DPlane const planes[]);
22507 
22520 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section (Key key, int *count, Plane planes[]);
22521 
22533 HC_INTERFACE void HC_CDECL HC_Show_Cutting_Section_Count (Key key, int *count);
22534 
22541 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Section (Key key, int *count, DPlane planes[]);
22542 
22552 HC_INTERFACE void HC_CDECL HC_Edit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, Plane const iplanes[]);
22553 
22554 
22563 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Section (Key key, int ioffset, int ndelete, int insert, DPlane const iplanes[]);
22564 
22580 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation(Point const points[], int flist_length, int const face_list[], int *tlist_length, int triangle_list[]);
22581 
22590 HC_INTERFACE void HC_CDECL HC_Compute_Triangulation_Size(Point const points[], int flist_length, int const face_list[], int *tlist_length);
22591 
22608 HC_INTERFACE bool HC_CDECL HC_Compute_Polyline_From_Curve(Key key, char const *options, int *pcount, Point points[]);
22609 
22617 HC_INTERFACE bool HC_CDECL HC_DCompute_Polyline_From_Curve(Key key, char const *options, int *pcount, DPoint points[]);
22618 
22626 HC_INTERFACE void HC_CDECL HC_Compute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_Compute_Polyline_From_Curve_Size
22627 
22634 HC_INTERFACE void HC_CDECL HC_DCompute_Pline_From_Crv_Size(Key key, char const *options, int *pcount); // HC_DCompute_Polyline_From_Curve_Size
22635 
22724 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree (char const * segname, char const * option_string);
22725 
22732 HC_INTERFACE void HC_CDECL HC_Optimize_Segment_Tree_By_Key (Key segkey, char const * option_string);
22733 
22755 HC_INTERFACE void HC_CDECL HC_Show_Optimized_Mapping (char const * segname, char const * direction,
22756  Key in_owner, Key in_key, int in_region,
22757  Key * out_owner, Key * out_key, int * out_region);
22758 
22774 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Texture(int count, Key const keys[],char const * name, char *output, Key * out_image);
22775 
22792 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Texture(int count, Key const keys[], char const * name, char const * opt, char *output);
22793 
22807 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shader(int count, Key const keys[],char const * name, char *output, char *shader_source);
22808 
22820 HC_INTERFACE bool HC_CDECL HC_PShow_One_Net_Shader_Option(int count, Key const keys[], char const * name, char const * opt, char *output);
22821 
22834 HC_INTERFACE void HC_CDECL HC_Show_Priority_Range (Key key, int *low, int *high);
22835 
22845 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Points (Key key, int count, int const indices[]);
22846 
22856 HC_INTERFACE void HC_CDECL HC_Delete_Specific_Shell_Faces (Key key, int count, int const indices[]);
22857 
22858 
22873 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_FIndex (
22874  Key key, char const *types, int count, int const offsets[], float const indices[]); // HC_MSet_Specific_Vertex_Colors_By_FIndex
22875 
22891 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Vert_Col_By_Value (
22892  Key key, char const *types, int count, int const offsets[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Vertex_Colors_By_Value
22893 
22907 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_FIndex (
22908  Key key, int count, int const indices[], float const findices[]); // HC_MSet_Specific_Face_Colors_By_FIndex
22909 
22924 HC_INTERFACE void HC_CDECL HC_MSet_Spec_Face_Col_By_Value (
22925  Key key, int count, int const indices[], char const *color_space, RGB const values[]); // HC_MSet_Specific_Face_Colors_By_Value
22926 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_FInd (
22927  Key key, char const *type, int pcount, int const offsets[], float indices[]); // HC_MShow_Specific_Vertex_Colors_By_FIndex
22928 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vert_Col_By_Value (
22929  Key key, char const *type, int count, int const offsets[], RGB rgb[]); // HC_MShow_Specific_Vertex_Colors_By_Value
22930 
22939 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_FInd (
22940  Key key, int count, int const indices[], float findices[]); // HC_MShow_Specific_Face_Colors_By_FIndex
22941 
22950 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Face_Col_By_Value (
22951  Key key, int count, int const indices[], RGB rgb[]); // HC_MShow_Specific_Face_Colors_By_Value
22952 
22960 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vertex_Colors (Key key, int count, int const offsets[]); // HC_MUnSet_Specific_Vertex_Colors
22961 
22969 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Face_Colors (Key key, int count, int const faces[]); // HC_MUnSet_Specific_Face_Colors
22970 
22988 HC_INTERFACE int HC_CDECL HC_Gather_Capping_Geometry (int key_count, Key const path_keys[], Key cut_key, char const * options);
22989 
23027 HC_INTERFACE Key HC_CDECL HC_Generate_Shell_From_Geometry(Key geom, char const *options);
23028 
23064 HC_INTERFACE Key HC_CDECL HC_Generate_Edges(Key geom, char const *options);
23065 
23081 HC_INTERFACE Key HC_CDECL HC_Generate_Poly_From_Geometry(Key geom, char const *options); // HC_Generate_Polyline_From_Geometry
23082 
23083 
23094 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood_Si (
23095  Key shell_key,
23096  int face_index,
23097  int *count); // HC_Compute_Face_Neighborhood_Size
23098 
23113 HC_INTERFACE void HC_CDECL HC_Compute_Face_Neighborhood (
23114  Key shell_key,
23115  int face_index,
23116  int *count,
23117  int neighbors[]);
23118 
23128 HC_INTERFACE void HC_CDECL HC_Show_Net_Normal (float *x, float *y, float *z);
23129 
23144 HC_INTERFACE void HC_CDECL HC_Rollback_Ink(int count);
23145 
23175 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry (char const *segname);
23176 
23183 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_By_Key (Key geom_key);
23184 
23198 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference (char const *segname, char const *condition);
23199 
23207 HC_INTERFACE Key HC_CDECL HC_Conditional_Reference_By_Key (Key geom_key, char const *condition);
23208 
23215 HC_INTERFACE Key HC_CDECL HC_Show_Reference_Geometry (Key reference_key);
23216 
23224 HC_INTERFACE Key HC_CDECL HC_Show_Conditional_Reference (Key reference_key, char *conditions);
23225 HC_INTERFACE void HC_CDECL HC_Show_Reference_Geometry_Filt (Key key, char *filter); // HC_Show_Reference_Geometry_Filter
23226 
23242 HC_INTERFACE void HC_CDECL HC_Begin_Open_Item_Search (void);
23243 
23253 HC_INTERFACE bool HC_CDECL HC_Find_Open_Item (Key *key, char *type, int *offset1, int *offset2);
23254 
23260 HC_INTERFACE void HC_CDECL HC_Show_Open_Item_Count (int *count);
23261 
23266 HC_INTERFACE void HC_CDECL HC_End_Open_Item_Search (void);
23267 
23281 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Color_Map_Length (int count, Key const keys[], int *value);
23282 
23288 HC_INTERFACE void HC_CDECL HC_Show_Color_Map_Length (int *value);
23289 
23296 HC_INTERFACE void HC_CDECL HC_Move_Key_By_Key (Key key, Key newowner); // HC_Move_By_Key_By_Key
23297 
23313 HC_INTERFACE void HC_CDECL HC_Set_User_Data (intptr_t index, void const *data, long data_length);
23314 
23331 HC_INTERFACE long HC_CDECL HC_Show_One_User_Data (intptr_t index, void *data, long data_length);
23332 
23345 HC_INTERFACE long HC_CDECL HC_Show_User_Data_Indices (intptr_t data_indices[], long data_indices_count);
23346 
23352 HC_INTERFACE void HC_CDECL HC_UnSet_One_User_Data (intptr_t index);
23353 
23370 HC_INTERFACE long HC_CDECL HC_PShow_One_Net_User_Data (
23371  int count,
23372  Key const keys[],
23373  intptr_t index,
23374  void *data,
23375  long data_length);
23376 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
23377 
23385 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Normals (Key key, int offset, int count);
23386 
23394 HC_INTERFACE void HC_CDECL HC_MUnSet_Face_Normals (Key key, int offset, int count);
23395 
23404 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Parameters (Key key, int offset, int count);
23405 
23414 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Vertex_Normals (Key key, int count, int const indices[], Vector const normals[]);
23415 
23423 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Vert_Normals (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Normals
23424 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Vert_Normals (Key key, int count, int const indices[], Vector normals[]); // HC_MShow_Specific_Vertex_Normals
23425 
23434 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Face_Normals (Key key, int count, int const indices[], Vector const normals[]);
23435 
23443 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Face_Normals (Key key, int count, int const indices[]);
23444 
23453 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Face_Normals (Key key, int count, int const indices[], Vector normals[]);
23454 
23464 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
23465 HC_INTERFACE void HC_CDECL HC_MShow_Spec_Vertex_Parameters (Key key, int count, int const indices[], int * number_parameters, float user_parameters[]);
23466 
23474 HC_INTERFACE void HC_CDECL HC_MUnSet_Spec_Vert_Parameters (Key key, int count, int const indices[]); // HC_MUnSet_Specific_Vertex_Parameters
23475 
23484 HC_INTERFACE void HC_CDECL HC_MUnSet_Vertex_Colors2 (Key key, char const * type, int offset, int count);
23485 
23492 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
23493 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
23494 
23517 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
23518 
23531 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
23532 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
23533 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
23534 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
23535 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
23536 
23554 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
23555 
23570 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
23571 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
23572 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
23573 
23590 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
23591 
23606 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
23607 
23615 HC_INTERFACE Key HC_CDECL HC_Include_Segment_Key_By_Key (Key key, Key includer_key);
23616 
23625 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
23626 
23643 HC_INTERFACE void HC_CDECL HC_Define_Named_Style (char const * style_name, char const * source_segment);
23644 HC_INTERFACE void HC_CDECL HC_Define_Named_Style_By_Key (char const * style_name, Key style_segment_key);
23645 
23651 HC_INTERFACE void HC_CDECL HC_UnDefine_Named_Style (char const * style_name);
23652 
23659 HC_INTERFACE Key HC_CDECL HC_Show_Named_Style (char const * style_name, char *style_source);
23660 
23665 HC_INTERFACE void HC_CDECL HC_Begin_Named_Style_Search (void);
23666 
23673 HC_INTERFACE bool HC_CDECL HC_Find_Named_Style (char * style_name);
23674 
23680 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Count (int * count);
23681 
23686 HC_INTERFACE void HC_CDECL HC_End_Named_Style_Search (void);
23687 
23697 HC_INTERFACE Key HC_CDECL HC_PShow_Net_Named_Style (
23698  int count,
23699  Key const path_keys[],
23700  char const * style_name,
23701  char * style_segment_name);
23702 
23713 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment (char const * style_name);
23714 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style (char const * style_name, char const * condition);
23715 
23722 HC_INTERFACE void HC_CDECL HC_Show_Named_Style_Segment (Key style_key, char * style_name);
23723 
23731 HC_INTERFACE Key HC_CDECL HC_Open_Segment_Key_By_Key (Key parent_segment, char const *child_segment_name);
23732 
23740 HC_INTERFACE Key HC_CDECL HC_Style_Segment_Key_By_Key (Key target_segment, Key style_segment);
23741 
23749 HC_INTERFACE Key HC_CDECL HC_Named_Style_Segment_By_Key (Key target_segment, char const * style_name);
23750 HC_INTERFACE Key HC_CDECL HC_Conditional_Named_Style_By_Key (Key target_segment, char const * style_name, char const * condition);
23751 HC_INTERFACE void HC_CDECL HC_Show_Conditional_Named_Style (
23752  Key style_key,
23753  char * style_name,
23754  char * condition);
23755 
23763 HC_INTERFACE Key HC_CDECL HC_Create_Segment_Key_By_Key (Key parent_segment, char const * child_segment_name);
23764 
23769 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles();
23770 
23776 HC_INTERFACE void HC_CDECL HC_Set_Default_Line_Styles_By_K(Key target_segment); // HC_Set_Default_Line_Styles_By_Key
23777 
23782 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs();
23783 
23789 HC_INTERFACE void HC_CDECL HC_Set_Default_Glyphs_By_Key(Key target_segment);
23790 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes();
23791 HC_INTERFACE void HC_CDECL HC_Set_Default_Shapes_By_Key(Key target_segment);
23792 
23800 HC_INTERFACE Key HC_CDECL HC_Reference_Geometry_Key_By_Ke (Key target_segment, Key reference_key); // HC_Reference_Geometry_Key_By_Key
23801 
23814 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style (
23815  int count,
23816  Key const keys[],
23817  char const * name,
23818  char * definition);
23819 
23832 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Style_Size (
23833  int count,
23834  Key const keys[],
23835  char const * name,
23836  int * size);
23837 
23850 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph (
23851  int count,
23852  Key const keys[],
23853  char const * name,
23854  char * definition);
23855 
23868 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Glyph_Size (
23869  int count,
23870  Key const keys[],
23871  char const * name,
23872  int * size);
23873 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape (
23874  int count,
23875  Key const keys[],
23876  char const * name,
23877  float * definition);
23878 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Shape_Size (
23879  int count,
23880  Key const keys[],
23881  char const * name,
23882  int * size);
23883 
23905 HC_INTERFACE void HC_CDECL HC_Generate_Error (
23906  int level,
23907  int category,
23908  int specific,
23909  char const * buf1,
23910  char const * buf2,
23911  char const * buf3);
23912 HC_INTERFACE void HC_CDECL HC_Commit_Proxy (
23913  Key key,
23914  const char * options);
23915 HC_INTERFACE Key HC_CDECL HC_Create_Proxy (
23916  Key key);
23917 HC_INTERFACE int HC_CDECL HC_Inspect_Proxies(Key out_keys[], int n_out_keys);
23918 
23961 HC_INTERFACE void HC_CDECL HC_Begin_Error_Handler_Search ();
23962 
24002 HC_INTERFACE void HC_CDECL HC_Begin_Exit_Handler_Search ();
24003 
24008 HC_INTERFACE void HC_CDECL HC_End_Error_Handler_Search ();
24009 
24014 HC_INTERFACE void HC_CDECL HC_End_Exit_Handler_Search ();
24015 
24022 HC_INTERFACE bool HC_CDECL HC_Find_Error_Handler (Void_Routine * handler);
24023 
24030 HC_INTERFACE bool HC_CDECL HC_Find_Exit_Handler (Void_Routine * handler);
24031 
24039 HC_INTERFACE void HC_CDECL HC_Show_Error_Handler_Count (int * count);
24040 
24046 HC_INTERFACE void HC_CDECL HC_Show_Exit_Handler_Count (int * count);
24047 
24064 HC_INTERFACE Key HC_CDECL HC_Compute_Subshell (
24065  Key source,
24066  int keep_fcount,
24067  const int keep_faces[],
24068  int keep_pcount,
24069  const int keep_pts1[],
24070  const int keep_pts2[],
24071  int face_map[],
24072  int pts_map[]);
24073 
24082 HC_INTERFACE void HC_CDECL HC_MSet_Specific_Edge_Vis (
24083  Key key,
24084  int count,
24085  int const indices1[],
24086  int const indices2[],
24087  char const settings[]); // HC_MSet_Specific_Edge_Visibilities
24088 
24097 HC_INTERFACE void HC_CDECL HC_MShow_Face_Normals (
24098  Key key,
24099  int offset,
24100  int count,
24101  Vector normals[]);
24102 
24115 HC_INTERFACE void HC_CDECL HC_MShow_Net_Face_Normals (
24116  Key key,
24117  int offset,
24118  int count,
24119  Vector normals[]);
24120 HC_INTERFACE void HC_CDECL HC_MShow_Specific_Edge_Vis (
24121  Key key,
24122  int count,
24123  int const indices1[],
24124  int const indices2[],
24125  char settings[]); // HC_MShow_Specific_Edge_Visibilities
24126 
24127 
24135 HC_INTERFACE void HC_CDECL HC_MUnSet_Specific_Edge_Vis (
24136  Key key,
24137  int count,
24138  int const indices1[],
24139  int const indices2[]); // HC_MUnSet_Specific_Edge_Visibilities
24140 
24154 HC_INTERFACE void HC_CDECL HC_Show_Font_Info_By_Path (
24155  int count,
24156  Key const keys[],
24157  char const * font,
24158  char const * item,
24159  char * data);
24160 
24168 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys (
24169  Key key,
24170  int * count,
24171  Key keys[]);
24172 
24179 HC_INTERFACE void HC_CDECL HC_Show_Reference_Keys_Count (
24180  Key key,
24181  int * count);
24182 
24196 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Line_Pattern_Exp (
24197  int count,
24198  Key const keys[],
24199  char * pattern); // HC_PShow_Net_Line_Pattern_Explicit
24200 
24214 HC_INTERFACE bool HC_CDECL HC_PShow_Net_Edge_Pattern_Exp (
24215  int count,
24216  Key const keys[],
24217  char * pattern); // HC_PShow_Net_Edge_Pattern_Explicit
24218 HC_INTERFACE int HC_CDECL HC_Begin_Buffered_Selection (
24219  char const * start_name,
24220  double left,
24221  double right,
24222  double bottom,
24223  double top,
24224  char const * options);
24225 
24258 HC_INTERFACE int HC_CDECL HC_Collect_Area_Samples (
24259  double left,
24260  double right,
24261  double bottom,
24262  double top);
24263 
24280 HC_INTERFACE int HC_CDECL HC_Show_Sample_Max_Length ();
24281 
24309 HC_INTERFACE bool HC_CDECL HC_Find_Next_Sample (
24310  int * key_count,
24311  Key keys[],
24312  int * offset1,
24313  int * offset2,
24314  int * offset3);
24315 
24326 HC_INTERFACE void HC_CDECL HC_End_Buffered_Selection ();
24327 
24328 HC_INTERFACE void HC_CDECL HC_UnSet_Priority (Key key);
24329 
24393 HC_INTERFACE void HC_CDECL HC_Define_Highlight (
24394  int count,
24395  Key const keys[],
24396  char const * style,
24397  char const * options);
24398 
24418 HC_INTERFACE void HC_CDECL HC_Define_Geometry_Highlight (
24419  int count,
24420  Key const keys[],
24421  char const * style,
24422  char const * options,
24423  int elements_count,
24424  int const offset1[],
24425  int const offset2[],
24426  int const offset3[]);
24427 
24447 HC_INTERFACE int HC_CDECL HC_UnDefine_Highlight (
24448  int count,
24449  Key const keys[],
24450  char const * style,
24451  char const * options);
24452 
24464 HC_INTERFACE int HC_CDECL HC_UnDefine_Geometry_Highlight (
24465  int count,
24466  Key const keys[],
24467  char const * style,
24468  char const * options,
24469  int elements_count,
24470  int const offset1[],
24471  int const offset2[],
24472  int const offset3[]);
24473 
24502 HC_INTERFACE void HC_CDECL HC_Begin_Highlight_Search (
24503  int count,
24504  Key const keys[],
24505  char const * list);
24506 
24514 HC_INTERFACE bool HC_CDECL HC_Find_Highlight (
24515  int * count,
24516  Key keys[],
24517  char * options);
24518 
24524 HC_INTERFACE void HC_CDECL HC_Show_Highlight_Count (
24525  int * count,
24526  int * max_length);
24527 
24531 HC_INTERFACE void HC_CDECL HC_End_Highlight_Search (void);
24532 
24548 HC_INTERFACE void HC_CDECL HC_Determine_Highlight_Status(
24549  int count,
24550  Key const keys[],
24551  int results[],
24552  char const * list);
24553 
24565 HC_INTERFACE bool HC_CDECL HC_Check_Double_Precision(Key key, char const * options);
24566 
24567 
24577 HC_INTERFACE void HC_CDECL HC_DSet_Camera (
24578  DPoint const *position,
24579  DPoint const *target,
24580  DVector const *up,
24581  double width,
24582  double height,
24583  char const *projection);
24584 
24593 HC_INTERFACE void HC_CDECL HC_DSet_Camera_By_Volume (
24594  char const * proj,
24595  double xmin,
24596  double xmax,
24597  double ymin,
24598  double ymax);
24599 
24606 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Position (double x, double y, double z);
24607 
24615 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Target (double x, double y, double z);
24616 
24624 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Up_Vector (double x, double y, double z);
24625 
24632 HC_INTERFACE void HC_CDECL HC_DSet_Camera_Field (double width, double height);
24633 
24645 HC_INTERFACE void HC_CDECL HC_DShow_Camera (
24646  DPoint * position,
24647  DPoint * target,
24648  DVector * up,
24649  double * width,
24650  double * height,
24651  char * projection);
24652 
24661 HC_INTERFACE void HC_CDECL HC_DShow_Camera_By_Volume (
24662  char * proj,
24663  double * xmin,
24664  double * xmax,
24665  double * ymin,
24666  double * ymax);
24667 
24674 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Position (double *x, double *y, double *z);
24675 
24682 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Target (double *x, double *y, double *z);
24683 
24690 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Up_Vector (double *x, double *y, double *z);
24691 
24697 HC_INTERFACE void HC_CDECL HC_DShow_Camera_Field (double *width, double *height);
24698 
24704 HC_INTERFACE void HC_CDECL HC_DOrbit_Camera (double horiz, double vert);
24705 
24711 HC_INTERFACE void HC_CDECL HC_DPan_Camera (double horiz, double vert);
24712 
24717 HC_INTERFACE void HC_CDECL HC_DRoll_Camera (double angle);
24718 
24725 HC_INTERFACE void HC_CDECL HC_DDolly_Camera (double x, double y, double z);
24726 
24731 HC_INTERFACE void HC_CDECL HC_DZoom_Camera (double zoom);
24732 
24742 HC_INTERFACE Key HC_CDECL HC_DInsert_Text (double x, double y, double z, char const *text);
24743 
24751 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_Leader (Key ownerkey, double x, double y, double z, char const * options);
24752 
24763 HC_INTERFACE Key HC_CDECL HC_DInsert_Text_With_Encoding (double x, double y, double z, char const *encoding, void const *text);
24764 
24774 HC_INTERFACE void HC_CDECL HC_DShow_Text (Key key, double *x, double *y, double *z, char *text);
24775 HC_INTERFACE void HC_CDECL HC_DShow_Text_Leader (Key key, double *x, double *y, double *z, char *options);
24776 
24787 HC_INTERFACE void HC_CDECL HC_DShow_Text_With_Encoding (Key key, double *x, double *y, double *z, char *encoding, void *text);
24788 
24789 HC_INTERFACE void HC_CDECL HC_DEdit_Text_Leader (Key key, double x, double y, double z, char const *options);
24790 
24802 HC_INTERFACE Key HC_CDECL HC_DInsert_Line (double xa, double ya, double za, double xb, double yb, double zb);
24803 
24814 HC_INTERFACE void HC_CDECL HC_DEdit_Line (Key key, double xa, double ya, double za, double xb, double yb, double zb);
24815 
24827 HC_INTERFACE void HC_CDECL HC_DShow_Line (Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb);
24828 
24837 HC_INTERFACE Key HC_CDECL HC_DInsert_Marker (double x, double y, double z);
24838 
24846 HC_INTERFACE void HC_CDECL HC_DEdit_Marker (Key key, double x, double y, double z);
24847 
24857 HC_INTERFACE void HC_CDECL HC_DShow_Marker (Key key, double *x, double *y, double *z);
24858 
24865 HC_INTERFACE Key HC_CDECL HC_DInsert_Polygon (int count, DPoint const points[]);
24866 
24876 HC_INTERFACE void HC_CDECL HC_DEdit_Polygon (Key key, int offset, int ndelete, int insert, DPoint const points[]);
24877 
24885 HC_INTERFACE void HC_CDECL HC_DShow_Polygon (Key key, int *count, DPoint points[]);
24886 
24894 HC_INTERFACE Key HC_CDECL HC_DInsert_Polyline (int count, DPoint const points[]);
24895 
24906 HC_INTERFACE void HC_CDECL HC_DEdit_Polyline (Key key, int offset, int ndelete, int insert, DPoint const points[]);
24907 
24914 HC_INTERFACE void HC_CDECL HC_DShow_Polyline (Key key, int * count, DPoint points[]);
24915 
24925 HC_INTERFACE Key HC_CDECL HC_DInsert_Shell (
24926  int point_count,
24927  DPoint const points[],
24928  int face_list_length,
24929  int const face_list[]);
24930 
24940 HC_INTERFACE void HC_CDECL HC_DShow_Shell (
24941  Key key,
24942  int * point_countp,
24943  DPoint points[],
24944  int * face_list_lengthp,
24945  int face_list[]);
24946 
24947 
24958 HC_INTERFACE void HC_CDECL HC_DShow_Shell_By_Tristrips (
24959  Key key,
24960  int * point_countp,
24961  DPoint points[],
24962  int * tristrip_list_lengthp,
24963  int tristrip_list[],
24964  int * face_indices_lengthp,
24965  int face_indices[]);
24966 
24977 HC_INTERFACE void HC_CDECL HC_DEdit_Shell_Points (
24978  Key key,
24979  int ioffset,
24980  int ndelete,
24981  int insert,
24982  DPoint const points[]);
24983 
24991 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle (DPoint const *point1, DPoint const *point2, DPoint const *point3);
24992 HC_INTERFACE Key HC_CDECL HC_DInsert_Circle_By_Radius (DPoint const *center, double radius, DVector const *normal);
24993 
25002 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Arc (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25003 
25012 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Chord (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25013 
25022 HC_INTERFACE Key HC_CDECL HC_DInsert_Circular_Wedge (DPoint const *point1, DPoint const *point2, DPoint const *point3);
25023 
25031 HC_INTERFACE void HC_CDECL HC_DEdit_Circle (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25032 
25040 HC_INTERFACE void HC_CDECL HC_DEdit_Circle_By_Radius (Key key, DPoint const *center, double radius, DVector const *vector);
25041 
25049 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Arc (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25050 
25058 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Chord (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25059 
25067 HC_INTERFACE void HC_CDECL HC_DEdit_Circular_Wedge (Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3);
25068 
25077 HC_INTERFACE void HC_CDECL HC_DShow_Circle (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25078 
25086 HC_INTERFACE void HC_CDECL HC_DShow_Circle_By_Radius (Key key, DPoint *center, double *radius, DVector *normal);
25087 
25096 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Arc (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25097 
25105 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Chord (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25106 
25115 HC_INTERFACE void HC_CDECL HC_DShow_Circular_Wedge (Key key, DPoint *point1, DPoint *point2, DPoint *point3);
25116 
25125 HC_INTERFACE Key HC_CDECL HC_DInsert_Ellipse (DPoint const *center, DPoint const *major, DPoint const *minor);
25126 
25137 HC_INTERFACE Key HC_CDECL HC_DInsert_Elliptical_Arc (
25138  DPoint const *center,
25139  DPoint const *major,
25140  DPoint const *minor,
25141  double start,
25142  double end);
25143 
25151 HC_INTERFACE void HC_CDECL HC_DEdit_Ellipse (Key key, DPoint const *center, DPoint const *major, DPoint const *minor);
25152 
25162 HC_INTERFACE void HC_CDECL HC_DEdit_Elliptical_Arc (
25163  Key key,
25164  DPoint const *center,
25165  DPoint const *major,
25166  DPoint const *minor,
25167  double start,
25168  double end);
25169 
25177 HC_INTERFACE void HC_CDECL HC_DShow_Ellipse (Key key, DPoint *center, DPoint *major, DPoint *minor);
25178 
25190 HC_INTERFACE void HC_CDECL HC_DShow_Elliptical_Arc (Key key,
25191  DPoint *center,
25192  DPoint *major,
25193  DPoint *minor,
25194  float *start,
25195  float *end);
25196 
25208 HC_INTERFACE Key HC_CDECL HC_DInsert_Grid (
25209  char const *type,
25210  DPoint const *origin,
25211  DPoint const *ref1,
25212  DPoint const *ref2,
25213  int count1,
25214  int count2);
25215 
25216 
25228 HC_INTERFACE void HC_CDECL HC_DShow_Grid (
25229  Key key,
25230  char *type,
25231  DPoint *origin,
25232  DPoint *ref1,
25233  DPoint *ref2,
25234  int *count1,
25235  int *count2);
25236 
25247 HC_INTERFACE void HC_CDECL HC_DEdit_Grid (
25248  Key key,
25249  char const *type,
25250  DPoint const *origin,
25251  DPoint const *ref1,
25252  DPoint const *ref2,
25253  int count1,
25254  int count2);
25255 
25264 HC_INTERFACE Key HC_CDECL HC_DInsert_Mesh (int rows, int columns, DPoint const points[]);
25265 
25274 HC_INTERFACE void HC_CDECL HC_DShow_Mesh (Key key, int *rows, int *columns, DPoint points[]);
25275 
25285 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[]);
25286 
25298 HC_INTERFACE Key HC_CDECL HC_DInsert_Image (double x, double y, double z, char const *format, int width, int height, const void *data);
25299 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);
25300 
25313 HC_INTERFACE void HC_CDECL HC_DShow_Image (Key key, double *x, double *y, double *z, char *format, int *width, int *height, void *data);
25314 
25326 HC_INTERFACE void HC_CDECL HC_DShow_Image_Size (Key key, double *x, double *y, double *z, char *format, int *width, int *height);
25327 
25340 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);
25341 
25349 HC_INTERFACE void HC_CDECL HC_DMove_Image (Key key, double x, double y, double z);
25350 
25359 HC_INTERFACE Key HC_CDECL HC_DInsert_Ink (double x, double y, double z);
25360 
25370 HC_INTERFACE Key HC_CDECL HC_DInsert_PolyCylinder (int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping);
25371 
25381 HC_INTERFACE void HC_CDECL HC_DShow_PolyCylinder (Key key, int *p_count, DPoint pts[], int *r_count, double radii[], char *capping);
25382 
25392 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);
25393 
25404 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[]);
25405 
25415 HC_INTERFACE Key HC_CDECL HC_DInsert_Cutting_Plane (double a, double b, double c, double d);
25416 
25425 HC_INTERFACE void HC_CDECL HC_DShow_Cutting_Plane (Key key, double *a, double *b, double *c, double *d);
25426 
25435 HC_INTERFACE void HC_CDECL HC_DEdit_Cutting_Plane (Key key, double a, double b, double c, double d);
25436 
25446 HC_INTERFACE Key HC_CDECL HC_DInsert_Cylinder (DPoint const *center_point_1, DPoint const *center_point_2, double radius, char const *cap);
25447 
25457 HC_INTERFACE void HC_CDECL HC_DShow_Cylinder (Key key, DPoint *p1, DPoint *p2, double *radius, char *cap);
25458 
25467 HC_INTERFACE void HC_CDECL HC_DEdit_Cylinder (Key key, DPoint const *p1, DPoint const *p2, double radius, char const *cap);
25468 
25477 HC_INTERFACE Key HC_CDECL HC_DInsert_Sphere (DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
25478 
25487 HC_INTERFACE void HC_CDECL HC_DShow_Sphere (Key key, DPoint *center, double *radius, DVector *axis, DVector *ortho);
25488 
25497 HC_INTERFACE void HC_CDECL HC_DEdit_Sphere (Key key, DPoint const *center, double radius, DVector const *axis, DVector const *ortho);
25498 
25499 
25500 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Curve (
25501  int degree,
25502  int cpcount,
25503  DPoint const control_points[],
25504  float const weights[],
25505  float const knots[],
25506  double start_u,
25507  double end_u);
25508 
25522 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Curve (
25523  Key key,
25524  int *degree,
25525  int *cp_count,
25526  DPoint points[],
25527  float weights[],
25528  float knots[],
25529  float *start_u,
25530  float *end_u);
25531 
25544 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Curve (
25545  Key key,
25546  int cp_offset,
25547  int knot_offset,
25548  int cp_count,
25549  int knot_count,
25550  DPoint const control_points[],
25551  float const weights[],
25552  float const knots[]);
25553 
25567 HC_INTERFACE Key HC_CDECL HC_DInsert_NURBS_Surface (
25568  int u_degree,
25569  int v_degree,
25570  int u_count,
25571  int v_count,
25572  DPoint const points[],
25573  float const weights[],
25574  float const u_knots[],
25575  float const v_knots[]);
25576 
25577 
25592 HC_INTERFACE void HC_CDECL HC_DShow_NURBS_Surface (
25593  Key key,
25594  int *u_degree,
25595  int *v_degree,
25596  int *u_count,
25597  int *v_count,
25598  DPoint points[],
25599  float weights[],
25600  float u_knots[],
25601  float v_knots[]);
25602 
25621 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface (
25622  Key key,
25623  int cp_offset,
25624  int weights_offset,
25625  int u_knot_offset,
25626  int v_knot_offset,
25627  int cp_replace_count,
25628  int weights_replace_count,
25629  int u_knot_replace_count,
25630  int v_knot_replace_count,
25631  DPoint const points[],
25632  float const weights[],
25633  float const u_knots[],
25634  float const v_knots[]);
25635 
25645 HC_INTERFACE void HC_CDECL HC_DEdit_NURBS_Surface_Points (
25646  Key key,
25647  int cp_offset,
25648  int cp_replace_count,
25649  DPoint const points[]);
25650 
25659 HC_INTERFACE Key HC_CDECL HC_DInsert_Local_Light (double x, double y, double z);
25660 
25669 HC_INTERFACE void HC_CDECL HC_DShow_Local_Light (Key key, double *x, double *y, double *z);
25670 
25679 HC_INTERFACE Key HC_CDECL HC_DInsert_Spot_Light (DPoint const *position, DPoint const *target, char const *list);
25680 
25689 HC_INTERFACE void HC_CDECL HC_DShow_Spot_Light (Key key, DPoint *position, DPoint *target, char *list);
25690 
25699 HC_INTERFACE Key HC_CDECL HC_DInsert_Area_Light (int count, DPoint const points[], char const *listptr);
25700 
25708 HC_INTERFACE void HC_CDECL HC_DShow_Area_Light (Key key, int *ucount, DPoint upoints[], char *listptr);
25709 
25720 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates (
25721  char const *segment,
25722  char const *in_system,
25723  DPoint const *in_position,
25724  char const *out_system,
25725  DPoint *out_position);
25726 
25738 HC_INTERFACE bool HC_CDECL HC_DCompute_Coordinates_By_Path (
25739  int count,
25740  Key const keys[],
25741  char const *in_system,
25742  DPoint const *in_position,
25743  char const *out_system,
25744  DPoint *out_position);
25745 
25754 HC_INTERFACE void HC_CDECL HC_DCompute_Transformed_Points (int count, DPoint const points[], double const matrix[], DPoint out_points[]);
25755 
25756 HC_INTERFACE Key HC_CDECL HC_Compute_Boolean_Shell2 (
25757  int in_pt_count_target,
25758  Point const in_pts_target[],
25759  Vector const in_normals_target[],
25760  int in_flist_len_target,
25761  int const in_flist_target[],
25762 
25763  int in_pt_count_tool,
25764  Point const in_pts_tool[],
25765  Vector const in_normals_tool[],
25766  int in_flist_len_tool,
25767  int const in_flist_tool[],
25768 
25769  char const * option_string,
25770  RGB const * in_color1,
25771  RGB const * in_color2,
25772  unsigned char const in_vis1[],
25773  unsigned char const in_vis2[]);
25774 
25796 HC_INTERFACE Key HC_CDECL HC_DCompute_Boolean_Shell (
25797  int in_pt_count_target,
25798  DPoint const in_pts_target[],
25799  Vector const in_normals_target[],
25800  int in_flist_len_target,
25801  int const in_flist_target[],
25802 
25803  int in_pt_count_tool,
25804  DPoint const in_pts_tool[],
25805  Vector const in_normals_tool[],
25806  int in_flist_len_tool,
25807  int const in_flist_tool[],
25808 
25809  char const * option_string,
25810  RGB const * in_color1,
25811  RGB const * in_color2,
25812  unsigned char const in_vis1[],
25813  unsigned char const in_vis2[]);
25814 
25815 
25833 HC_INTERFACE void HC_CDECL HC_DCompute_Optimized_Shell (
25834  int pcount,
25835  DPoint const points[],
25836  Vector const normals[],
25837  int flist_length,
25838  int const face_list[],
25839  char const * options,
25840  int * new_pcount,
25841  DPoint new_points[],
25842  int * new_flist_length,
25843  int new_face_list[],
25844  int point_mapping_list[],
25845  int face_mapping_list[]);
25846 
25847 HC_INTERFACE intptr_t HC_CDECL HC_Memory_Usage_By_Key (
25848  Key key,
25849  char const * which);
25850 
25851 HC_INTERFACE void HC_CDECL HC_Apply_Attribute_Filter (
25852  Key key,
25853  char const * filter);
25854 
25855 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter (
25856  Key key,
25857  char * filter);
25858 
25859 HC_INTERFACE bool HC_CDECL HC_Show_Attribute_Filter_Length (
25860  Key key,
25861  int * filter_length);
25862 
25863 HC_INTERFACE void HC_CDECL HC_Begin_Decimate_Shell (Key key);
25864 HC_INTERFACE void HC_CDECL HC_End_Decimate_Shell (void);
25865 HC_INTERFACE Key HC_CDECL HC_Decimate_Shell (int quality_percent, char const * options);
25866 
25867 #if __APPLE__
25868 #pragma clang diagnostic pop
25869 #endif
25870 
25871 #endif // HPS_CORE_BUILD
25872 
25873 #define HC_PROTO_DEFINED 1
25874 #endif /* HC_PROTO_DEFINED */
25875 
25876 
void HC_Show_Face_Pattern(char *pattern)
Returns the face pattern that has been set on the currently open segment.
void HC_DShow_Line(Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb)
Similar to Show_Line(), but returns double-precision values.
void HC_DShow_Polyline(Key key, int *count, DPoint points[])
Similar to Show_Polyline(), but returns double-precision data.
int HC_UnDefine_Highlight(int count, Key const keys[], char const *style, char const *options)
UnDefines an existing highlight.
void HC_Show_Location(float *x, float *y)
Returns the raw 2-D position that was indicated by the user.
void HC_Show_Camera_Target(float *x, float *y, float *z)
Returns the viewing camera's target.
void HC_Show_Glyph_Size(char const *name, int *data_size)
Finds the size in bytes of a particular glyph. This is useful in determining the size of the structur...
void HC_UnSet_One_Text_Font(char const *which)
Removes a given setting established by a previous call to Set_Text_Font(), rather than all settings...
void HC_DRotate_Object(double theta, double phi, double psi)
Similar to Rotate_Object(), but operates on double-precision data.
void HC_Append_Modelling_Matrix(float const array[])
Allows direct manipulation of the matrix transform applied against all picture elements and subsegmen...
void HC_Set_Circular_Center(double x, double y, double z)
Allows the user to override the calculated center point for circle-based geometries such as circles...
void HC_Show_Circle(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circle, as referenced by a key.
bool HC_Update_Display(void)
Makes sure that external appearances are up-to-date with respect to the internal definitions.
void HC_Show_Trim_Poly_Count(int index, int *count)
Finds the number of points in a a trim polyline. This is useful in determining the size of the data s...
void HC_Set_Trim_Operation(int index, char const *operation)
Sets the trim operation associated with a particular object in the trim list.
void HC_DShow_Local_Light(Key key, double *x, double *y, double *z)
Similar to Show_Local_Light(), but returns double-precision values.
void HC_Compute_Convex_Hull(int pcount, Point const points[], int *fcount, int face_list[])
Given a set of points, determines the set of faces that minimally bind all the points.
void HC_Set_Line_Pattern(char const *pattern)
Applies a pattern of dashes and dots to lines and polylines.
void HC_DCompute_Optimized_Shell(int pcount, DPoint const points[], Vector const normals[], int flist_length, int const face_list[], char const *options, int *new_pcount, DPoint new_points[], int *new_flist_length, int new_face_list[], int point_mapping_list[], int face_mapping_list[])
Similar to Compute_Optimized_Shell(), but computes and returns double-precision values.
void HC_Regenerate_LOD_By_Key(Key segKey, char const *options)
Similar to Regenerate_LOD(), but operates on an object referenced by an HC_KEY.
void HC_Rename_Segment_By_Key(Key key, char const *new_seg_name)
void HC_MSet_Face_Colors_By_FIndex(Key key, char const *type, int offset, int count, float const findices[])
Sets the drawing attributes on a contiguous range of shell or mesh faces speedily.
void HC_Set_Selectability(char const *list)
Allows you to make part of your picture sensitive or insensitive to being "selected" by the user...
bool HC_PShow_One_Net_Callback(int count, Key const keys[], char const *callback_point, char *callback_name)
Similar to PShow_Callback, but returns the net effective setting of a single callback along a path of...
void HC_Edit_NURBS_Surface_Weights(Key key, int weights_offset, int weights_replace_count, float const weights[])
Edits only the weights in a NURBS surface.
void HC_DShow_NURBS_Curve(Key key, int *degree, int *cp_count, DPoint points[], float weights[], float knots[], float *start_u, float *end_u)
Similar to Show_NURBS_Curve, but operates on double-precision values.
Key HC_Insert_Local_Light(double x, double y, double z)
Inserts an omni-directional "point" source of light into your scene.
void HC_DEdit_Mesh(Key key, int row_offset, int column_offset, int row_count, int column_count, DPoint const points[])
Similar to Edit_Mesh(), but can operate on double-precision geometry represented by key...
void HC_Show_Named_Style_Segment(Key style_key, char *style_name)
Returns the name of a named style previously defined by Define_Named_Style().
void HC_MSet_Vertex_Colors_By_FIndex(Key key, char const *types, int offset, int count, float const findices[])
Sets the color on a contiguous range of shell, mesh, or polycylinder vertices.
void HC_Generate_Error(int level, int category, int specific, char const *buf1, char const *buf2, char const *buf3)
Injects an error into HOOPS 3DF.
void HC_Show_User_Index_Count(int *count)
Returns the size of the indices array.
bool HC_DCompute_Matrix_Inverse(double const matrix[], double out_matrix[])
Similar to Compute_Matrix_Inverse(), but operates on double-precision data.
bool HC_PShow_Net_Handedness(int key_count, Key const path_keys[], char *value)
Similar to Show_Handedness(), but returns the net effective setting along a discrete segment path...
void HC_UnSet_Text_Alignment(void)
Removes all settings established by a previous call to Set_Text_Alignment().
void HC_MUnSet_Spec_Vertex_Colors(Key key, int count, int const offsets[])
Removes vertex-specific color settings from a set of vertices with arbitrary offsets.
void HC_Show_Texture_Count(int *count)
Finds out how many textures will be returned. This is useful for determining the size of a data struc...
Key HC_Style_Segment_Key_By_Key(Key target_segment, Key style_segment)
Similar to Style_Segment(), but styles a segment identified by target_segment.
void HC_Edit_Grid(Key key, char const *type, Point const *origin, Point const *ref1, Point const *ref2, int count1, int count2)
Edits a grid object as it sits in the database.
void HC_DShow_Selection_Source_Elem(int *vertex, int *edge, int *face, DPoint *hit_location)
Similar to Show_Selection_Source_Element(), but operates on double-precision data.
void HC_Control_Update_By_Key(Key key, char const *options)
Similar to Control_Update(), but operates on an object referenced by an HC_KEY.
void HC_MSet_Specific_Vertex_Normals(Key key, int count, int const indices[], Vector const normals[])
Speedily sets the normal values a set of faces on a large number of shell, mesh, or polycylinder vert...
void HC_DShow_Camera_Field(double *width, double *height)
Similar to Show_Camera_Field(). This command should be used in conjunction with the other double-prec...
bool HC_Filter_Circumsphere(char const *segment, char const *options, Point *center, float *radius)
Determines the bounding sphere for a particular segment, based on visibility settings in the tree...
void HC_UnSet_One_User_Option(char const *which)
Removes a given setting established by a previous call to Set_User_Options(), rather than all setting...
void HC_Set_Geometry_Options(Key key, const char *list)
Allows users to make geometry-specific settings on a variety of 3dGS geometric primitives.
void HC_Set_PBR_Material(char const *base_color_map, char const *normal_map, char const *emissive_map, char const *metalness_map, int metalness_map_channel, char const *roughness_map, int roughness_map_channel, char const *occlusion_map, int occlusion_map_channel, RGBA const *base_color_factor, float normal_factor, float metalness_factor, float roughness_factor, float occlusion_factor, float alpha_factor, char const *options)
void HC_DEdit_PolyCylinder(Key key, int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping)
Similar to Edit_PolyCylinder(), but operates on double-precision data.
void HC_Define_Callback_Name(char const *name, Void_Routine callback)
Defines a unique name as a legal callback.
void HC_Begin_Open_Item_Search(void)
Returns the keys to all currently open segments or geometric primitives.
void HC_Define_Geometry_Highlight(int count, Key const keys[], char const *style, char const *options, int elements_count, int const offset1[], int const offset2[], int const offset3[])
Specifies a method of highlighting a subpart of an item.
void HC_DShow_Spot_Light(Key key, DPoint *position, DPoint *target, char *list)
Similar to Show_Spot_Light(), but returns double-precision values.
bool HC_Compute_Transformed_Plane(Plane const *plane, float const matrix[], Plane *out_plane)
Applies a user-defined transform to a single plane.
bool HC_PShow_One_Net_Color_Map_By_V(int count, Key const keys[], int offset, char *color_space, float *x, float *y, float *z)
Similar to Show_One_Color_Map(), but returns the net effective value of a single attribute along a pa...
Key HC_DInsert_Polyline(int count, DPoint const points[])
Similar to Insert_Polyline(), but accepts double-precision values for points.
void HC_Show_System_Options(char *list)
Examines the current list of debugging/control "system options".
bool HC_PShow_Net_Color(int count, Key const keys[], char *color_spec)
Similar to Show_Color(), but returns the net effective settings along a discrete path of segments...
void HC_DEdit_NURBS_Surface(Key key, int cp_offset, int weights_offset, int u_knot_offset, int v_knot_offset, int cp_replace_count, int weights_replace_count, int u_knot_replace_count, int v_knot_replace_count, DPoint const points[], float const weights[], float const u_knots[], float const v_knots[])
Similar to Edit_NURBS_Surface(), but accepts double-precision parameters.
void HC_Record_Profile_Source(char const *section, char const *filename)
Identifies the INI file name and section to use for evaluating profile strings.
void HC_UnSet_Unicode_Options(void)
Removes all settings established by a previous call to Set_Unicode_Options().
long HC_Show_User_Data_Indices(intptr_t data_indices[], long data_indices_count)
Returns the list of user data indices associated with the current segment.
double HC_Compute_Vector_Length(Vector const *vector)
void HC_UnSet_Normal(void)
Removes all settings established by a previous call to Set_Normal().
void HC_Set_Text_Alignment(char const *locater)
Determines where in each chunk of text the "reference point" is to fall.
void HC_Set_Conditions(char const *list)
Allows the user to set conditions on a segment that will be used to determine whether or not a Condit...
bool HC_PShow_One_Net_Uni_Opt_Len(int count, Key const keys[], unsigned short const *which, int *length)
Similar to PShow_Net_Unicode_Opt_Length(), but returns the net effective value of a single attribute ...
int HC_MShow_Spec_Face_Colors_W_Ex(Key key, char const *geometry, int count, int const faces[], char result_type[], float index_colors[], RGB rgb_colors[])
Returns face color settings from an arbitrary set of faces without having to open each face...
void HC_UnSet_One_Unicode_Option(unsigned short const *which)
Removes a given setting established by a previous call to Set_Unicode_Options(), rather than all sett...
void HC_UnSet_One_Conditional_Action(char const *which)
Removes a given action established by a previous call to Set_Conditional_Actions().
bool HC_Find_Shader(char *sname)
Retrieves the shader names, one at a time. The function returns false when all shaders have been retu...
void HC_MSet_Face_Normals(Key key, int offset, int count, Vector const *normals)
Speedily sets the drawing attributes on a large number of shell or mesh faces.
Key HC_DInsert_Circular_Chord(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circular_Chord(), but accepts parameters of type double for increased precision...
void HC_Set_Default_Shapes()
void HC_Show_Cutting_Plane(Key key, float *a, float *b, float *c, float *d)
Returns the the coefficients used to define the cutting plane, as referenced.
void HC_End_Decimate_Shell(void)
void HC_Compute_Text_Outline_By_Path(int count, Key const keys[], char const *text, int *pcount, Point points[], int *flist_length, int face_list[])
Similar to Compute_Text_Outline(), but concatenates the matrices along a segment path rather than the...
void HC_Show_Glyph(char const *name, char *data)
Returns the definition of a glyph as established by a previous call to Define_Glyph().
void HC_Show_Geometry_Options(Key key, char *list)
Shows options that have been attached to geometry by Set_Geometry_Options.
Key HC_Insert_Mesh(int rows, int columns, Point const points[])
Puts a rectangular array of faces into the database.
void HC_Begin_Color_Name_Search(void)
These routines recall all the defined color names.
void HC_DShow_Text(Key key, double *x, double *y, double *z, char *text)
Similar to Show_Text(), but returns double-precision values.
void HC_Show_Memory_Usage(long *allocated, long *in_use)
Tells your program how much memory is being used for graphics data storage.
void HC_DShow_Circular_Chord(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circular_Chord(), but returns double-precision values.
void HC_Close_Face(void)
Closes the session that began with an opening call to Open_Face().
int HC_DPShow_Net_Camera_Target(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Target(), but operates on double-precision cameras.
void HC_Show_Marker_Symbol(char *symbol)
Returns the marker symbol that has been set on the currently open segment.
void HC_Show_Trim_Poly(int index, int *count, float points[])
Returns the definition of an existing trimming polyline.
Key HC_Insert_Polyline(int count, Point const points[])
Generates a connected chain of line segments. Can be used to approximate arcs.
void HC_Set_Edge_Weight(double weight)
Makes the edges of polygons, circles, ellipses, shells, and meshes broader or narrower than normal...
void HC_Show_Streaming_Mode(char *flag)
Returns the streaming mode that has been set on the currently open segment.
bool HC_Convert_Precision(Key key, char const *options)
bool HC_PShow_Net_Window(int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top)
Similar to Show_Window() but returns the net effective setting along a discrete segment path...
int HC_DCompute_Points_Distance_F_S(int test_point_count, DPoint const test_points[], double tolerance, int point_count, DPoint const points[], int face_list_length, int const face_list[], const char *options, double results[])
Similar to Compute_Points_Distance_From_Shell, but operates on double-precision data.
void HC_DOrbit_Camera(double horiz, double vert)
Similar to Orbit_Camera(), but operates on double-precision cameras.
void HC_Edit_Image(Key key, int xoffset, int yoffset, int xcount, int ycount, const void *data)
Modifies one, some, or all the pixel values in a previously-inserted image.
void HC_End_Texture_Search(void)
Terminates the texture search sequence and frees any involved memory.
void HC_DShow_Compressed_Image(Key key, double *x, double *y, double *z, char *format, int *width, int *height, int *size, void *data)
Similar to Show_Compressed_Image(), but operates on double-precision data.
void HC_Show_NURBS_Surface(Key key, int *u_degree, int *v_degree, int *u_count, int *v_count, Point points[], float weights[], float u_knots[], float v_knots[])
Key HC_Insert_Shell(int pcount, Point const points[], int flist_length, int const face_list[])
Generates an object that is an arbitrarily-connected collection of arbitrary polygonal facets...
Key HC_DInsert_Circle(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circle(), but accepts parameters of type double for increased precision.
void HC_End_Font_Search(void)
Terminates the font search sequence and frees any involved memory.
void HC_DShow_Image_Size(Key key, double *x, double *y, double *z, char *format, int *width, int *height)
Similar to Show_Image_Size(), but operates on double-precision data.
void HC_Set_Color_By_FIndex(char const *types, double findex)
This is a specialized version of Set_Color_By_Index for use with false-colored pictures.
void HC_Edit_Image_Options(Key image_key, char const *options)
Modifies the the options associated with a specific image.
void HC_DEdit_Polygon(Key key, int offset, int ndelete, int insert, DPoint const points[])
Similar to Edit_Polygon(), but accepts double-precision values.
Key HC_Show_Owner_Original_Key(Key key)
Similar to Show_Owner() but returns the non-renumber key of the owning segment.
Key HC_Insert_Infinite_Ray(double xa, double ya, double za, double xb, double yb, double zb)
Adds an infinitely long line to the currently open segment.
void HC_Show_Bounding_Info_By_Key(Key key, char *list)
Similar to Show_Bounding_Info(), but operates on an object referenced by an HC_KEY.
bool HC_Compute_Transformed_Planes(int count, Plane const planes[], float const matrix[], Plane out_planes[])
Applies a user-defined transform to a group of planes.
int HC_Compute_Selection_By_Volume(char const *display, char const *start_seg, char const *action, double left, double right, double bottom, double top, double hither, double yon)
Similar to Compute_Selection(), but operates on a cuboid volume.
int HC_DCompute_Selection_By_Swpt_2(char const *action, char const *start_seg, Key shellkey, int sweepcount, double const matrices[], char const *options, double bounding_box[])
Similar to Compute_Selection_By_Swept_Shell2(), but operates on double-precision data.
void HC_Compute_Face_Neighborhood(Key shell_key, int face_index, int *count, int neighbors[])
Returns the indices of the faces within a shell that share an edge with the specified face...
void HC_Show_Text_Font(char *options)
Returns the font settings that have been made on the currrently open segment.
void HC_Show_Reference_Keys(Key key, int *count, Key keys[])
Returns a list of keys that a given segment references.
void HC_MShow_Spec_Vertex_Parameters(Key key, int count, int const indices[], int *number_parameters, float user_parameters[])
int HC_Compute_Selection_By_Sh_W_Op(char const *action, char const *start_seg, int point_count, Point const points[], int face_list_length, int const face_list[], char const *options)
Allows users to set additional criteria that should be considered when performing a selection event b...
void HC_Show_Text_Length(Key key, int *length)
Finds the number of bytes in a given text string, as referenced by a key.
Key HC_DInsert_Circular_Wedge(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circular_Wedge, but accepts parameters of type double for increased precision...
Key HC_Style_Segment_By_Key(Key seg_key)
Similar to Style_Segment(), but operates on a style referenced by an HC_KEY.
void HC_Define_Driver_Config(char const *driver, char const *id, char const *version, char const *config)
Sets up driver device-dependent configuration.
void HC_Compute_Rotation_Matrix(double alpha, double beta, double theta, float out_matrix[])
Key HC_DInsert_Text_Leader(Key ownerkey, double x, double y, double z, char const *options)
Inserts a leader line with double precision parameters. Unlike Insert_Text_Leader, these parameters will not be truncated.
bool HC_Check_Double_Precision(Key key, char const *options)
void HC_UnSet_Heuristics(void)
Removes all settings established by a previous call to Set_Heuristics().
bool HC_Filter_Circumcuboid(char const *segment, char const *options, Point *min, Point *max)
Determines the bounding cuboid for a particular segment, based on visibility settings in the segment ...
void HC_Show_One_Unicode_Option(unsigned short const *requestedOption, unsigned short *options)
Similar to Show_Unicode_Options(), but returns the value of a single attribute in the currently open ...
void HC_Compute_Minimized_Shell(int in_point_count, Point const in_points[], int in_face_list_length, int const in_face_list[], char const *option_string, int *out_point_count, Point out_points[], int *out_face_list_length, int out_face_list[], int vertex_mapping[], int face_mapping[])
void HC_Show_Line_Style(char const *style, char *definition)
Returns the line style that has been set on the currently open segment.
void HC_Define_Local_Texture(char const *texture_name, char const *definition)
Define a texture on the currently open segment.
Key HC_Show_Segment_Name(Key key, char *name)
void HC_MUnSet_Vertex_Colors(Key key, int offset, int count)
Removes vertex-specific color settings from a range of vertices with adjacent offsets.
bool HC_PShow_Net_Text_Path(int key_count, Key const path_keys[], float *x, float *y, float *z)
Similar to Show_Text_Path(), but returns the net effective setting along a discrete segment path...
void HC_UnSet_User_Data(void)
bool HC_Find_Line_Style(char *name)
Retrieves the line style names, one at a time. The function returns false when all line styles have b...
int HC_DPShow_Net_Clip_Region_Size(int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec)
Similar to PShow_Clip_Region_Size(), but operates on double-precision data.
void HC_Set_Camera_Near_Limit(double wlimit)
Controls the near camera plane setting.
void HC_Move_Image(Key key, double x, double y, double z)
Changes the location, in object space, of a previously-inserted Image. Double-precision parameters...
void HC_Set_Bounding_Cuboid(Point const *min, Point const *max)
Specifies the cuboid used by HOOPS to circumscribe the geometry within a segment. ...
void HC_Rename_Segment(char const *old_seg_name, char const *new_seg_name)
Changes the name of a segment, and/or moves it somewhere else in the segment tree.
void HC_Rotate_Object(double theta, double phi, double psi)
Moves the represented object about its X-, Y-, or Z-axis.
void HC_Set_Modelling_Matrix(float const matrix[])
Allows direct manipulation of the transformation that is applied against all the picture elements in ...
void HC_DEdit_Infinite_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Similar to Edit_Infinite_Line(), but operates on double-precision data.
void HC_DShow_Elliptical_Arc(Key key, DPoint *center, DPoint *major, DPoint *minor, float *start, float *end)
Similar to Show_Elliptical_Arc(), but returns double-precision values.
void HC_DCompute_Matrix_Adjoint(double const matrix[], double out_matrix[])
Similar to Compute_Matrix_Adjoint(), but operates on double-precision data.
void HC_MSet_Vertex_Visibilities(Key key, int offset, int count, char const settings[])
Sets per-vertex visibility settings of a range of vertices at once. This overrides the visibility set...
double HC_DCompute_Vector_Length(DVector const *vector)
Similar to Compute_Vector_Length(), but operates on double-precision data.
int HC_Compute_Points_Distance_F_S2(int test_pcount, Point const test_pt[], double tolerance, int point_count1, Point const points1[], int face_list_length3, int const face_list1[], const char *options, float results[], int face_results[])
int HC_MShow_Face_Normals_W_Ex(Key key, int offset, int count, char existence[], Vector normals[])
Returns the normal settings for a range of faces without having to open each face.
bool HC_DCompute_Transform_By_Path(int count, Key const keys[], char const *in_system, char const *out_system, double matrix[])
Similar to Compute_Transform_By_Path(), but operates on double-precision data.
void HC_DShow_Camera_Up_Vector(double *x, double *y, double *z)
Similar to Show_Camera_Up_Vector(). This command should be used in conjunction with the other double-...
bool HC_Compute_Coordinates(char const *segment, char const *in_system, Point const *in_position, char const *out_system, Point *out_position)
Converts positions back and forth among the various coordinate systems.
bool HC_DCompute_Point_Inside_Shell(DPoint const *test_point, int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Compute_Point_Inside_Shell, but operates on double-precision data.
Key HC_Insert_Infinite_Line(double xa, double ya, double za, double xb, double yb, double zb)
Adds an infinitely long line to the currently open segment.
Key HC_DInsert_Ellipse(DPoint const *center, DPoint const *major, DPoint const *minor)
Similar to Insert_Ellipse(), but accepts parameters of type double for increased precision.
void HC_Compute_Face_Neighborhood_Si(Key shell_key, int face_index, int *count)
Returns the number of faces within a shell that share an edge with the specified face.
bool HC_PShow_Net_Explicit_Color(int keycount, Key const pathkeys[], char const *type, char const *channel, float rgb[], char *texture, char *options)
Similar to Show_Explicit_Color(), but shows the net effective settings along a discrete segment path...
Key HC_Compute_Subshell(Key source, int keep_fcount, const int keep_faces[], int keep_pcount, const int keep_pts1[], const int keep_pts2[], int face_map[], int pts_map[])
Creates a subshell from the source shell or mesh in the currently open segment and subject to the spe...
Key HC_Insert_Shell_By_Tristrips(int pcount, Point const points[], int tristrips_length, int const tristrips[], int face_indices_length, int const face_indices[])
Generates an object that is an arbitrarily-connected collection of arbitrary polygonal facets...
bool HC_Show_Camera_Near_Limit(float *limit)
Returns information about the camera near limit.
void HC_Compute_Text_Outline_Size(char const *segment, char const *text, int *pcount, int *flist_length)
Finds out the size of the text outline. This is useful for determining the size of the points array n...
bool HC_Show_Snapshot(const char *display, int *width, int *height, void *image_data)
Takes a snapshot of the scene.
bool HC_Compute_Color_By_Value(char const *in_type, RGB const *in_value, char const *out_type, RGB *out_value)
Similar to Compute_Color(), but operates with a color values rather than names or map indices...
void HC_Show_One_Uni_Option_Length(unsigned short const *text, int *length)
Similar to PShow_Net_Unicode_Opt_Length(), but returns the value of a single attribute in the current...
void HC_Roll_Camera(double theta)
Pinwheels the user's point of view around the viewing axis.
bool HC_Compute_Normalized_Matrix(float const matrix[], float out_matrix[])
void HC_DShow_Partial_Polyline(Key key, int offset, int request, DPoint points[])
bool HC_Filter_Circumcuboid_By_Key(Key segKey, char const *options, Point *min, Point *max)
Similar to Filter_Circumcuboid(), but operates on an object referenced by an HC_KEY.
void HC_UnSet_One_Driver_Option(char const *which)
Removes a given setting established by a previous call to Set_Driver_Options(), rather than all setti...
bool HC_DCompute_Circumcuboid_By_Key(Key key, DPoint *min, DPoint *max)
Similar to Compute_Circumcuboid_By_Key(), but operates on double-precision data.
void HC_Show_Edge_Pattern(char *pattern)
Returns the edge pattern that has been set on the currently open segment.
void HC_DPan_Camera(double horiz, double vert)
Similar to Pan_Camera(), but operates on double-precision data.
void HC_Show_One_Color_Map_By_Value(int offset, char *color_space, float *a, float *b, float *c)
Similar to Show_One_Color_Map(), but returns the value of a single attribute in the currently open se...
void HC_End_Open_Item_Search(void)
Terminates the open item search sequence, and frees any involved memory.
void HC_Show_Reference_Keys_Count(Key key, int *count)
Returns the number of references that a given segment references.
void HC_UnDefine_Color_Name(char const *name)
Removes all settings established by a previous call to Define_Color_Name().
Key HC_Conditional_Include_By_Key(Key seg_key, char const *condition)
Similar to Conditional_Include(), but accepts a key rather than a pathname to identify the segment to...
void HC_UnSet_Edge_Pattern(void)
Removes all settings established by a previous call to Set_Edge_Pattern().
void HC_Show_User_Options_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_User_Options.
void HC_Show_Variable_Edge_Weight(char *weight)
Show the current variable edge weight setting.
void HC_Begin_Alias_Search(void)
These routines recall the name of each alias.
void HC_Show_Trim_Type(int index, char *trim_type)
Returns the type of an object on the trim list of the currently open NURBS surface or trim collection...
Key HC_Insert_Shell_By_Ref(int pcount, Point const points[], int flist_length, int const face_list[])
void HC_DShow_Camera_By_Volume(char *proj, double *xmin, double *xmax, double *ymin, double *ymax)
Similar to Show_Camera_By_Volume(), but operates on double-precision cameras.
Key HC_DInsert_NURBS_Surface(int u_degree, int v_degree, int u_count, int v_count, DPoint const points[], float const weights[], float const u_knots[], float const v_knots[])
Similar to Insert_NURBS_Surface(), but accepts parameters of type double for increased precision...
int HC_MShow_Spec_Vertex_Vis_W_Ex(Key key, int count, int const indices[], char existence[], char visibilities[])
void HC_DCompute_Offcenter_Rotation(double alpha, double beta, double theta, double x, double y, double z, double out_matrix[])
Similar to Compute_Offcenter_Rotation, but operates on double-precision data.
void HC_Set_Window(double left, double right, double bottom, double top)
Limits the amount of the screen (or the containing Window) to be used by the referenced segment upon ...
void HC_Rotate_Object_Offaxis(double x, double y, double z, double theta)
Moves the represented object about an arbitrary axis.
void HC_DShow_Mesh(Key key, int *rows, int *columns, DPoint points[])
Similar to Show_Mesh(), but returns double-precision values.
void HC_DCompute_Transformed_Points(int count, DPoint const points[], double const matrix[], DPoint out_points[])
Similar to Compute_Transformed_Points() but accepts and returns double-precision values.
void HC_Set_Color_By_Value(char const *types, char const *colorspace, double a, double b, double c)
Changes the color to be used when rendering the contents of a segment. The color is defined numerical...
void HC_MShow_Spec_Face_Col_By_FInd(Key key, int count, int const indices[], float findices[])
Returns face color settings from an arbitrary set of faces without having to open geometry...
void HC_UnSet_Text_Region(void)
Removes all settings established by a previous call to Set_Text_Region().
void HC_Set_Parameter(int number, float const parameters[])
Defines texture mapping coordinates for a previously opened Shell or Mesh vertex. ...
void HC_Show_PolyCylinder_Counts(Key key, int *p_count, int *r_count, char *capping)
Finds the number of items in a given polycylinder. This is useful in determining the size of the data...
Key HC_Show_Owner_By_Key(Key key, char *owner)
Similar to Show_Owner(), but operates on an object referenced by an HC_KEY.
bool HC_Compute_Circumsphere_By_Key(Key key, Point *center, float *radius)
Similar to Compute_Circumsphere(), but operates on an object referenced by an HC_KEY.
bool HC_PShow_One_Net_Color_By_Index(int count, Key const keys[], char const *type, int *index)
Similar to Show_One_Color(), but returns the net effective value of a single attribute along a path o...
void HC_Show_Camera_Field(float *width, float *height)
Returns the viewing camera's field of view.
void HC_Scroll_Text(Key key, int left_scroll, int up_scroll)
To shift text around as you would on a scrolling alphanumeric terminal screen.
void HC_Show_Shell_By_Tristrips(Key key, int *pcount, Point points[], int *tristrips_length, int tristrips[], int *face_indices_length, int face_indices[])
Returns the previous definition of a shell, as referenced by a key.
Key HC_Insert_Circular_Chord(Point const *point1, Point const *point2, Point const *point3)
Generates a polygon describing a portion of a circle.
bool HC_Find_Contents_Original_Key(char *type, Key *key)
If keys have been renumbered, this function retrieves the original object keys, one at a time...
void HC_Translate_Texture(double u, double v, double w)
Moves texture images about on the surface of texture mapped shells and meshes by transforming their (...
void HC_Show_Color_Name_Count(int *count)
Finds out how many color names will be returned. This is useful for determining the size of a data st...
Key HC_Copy_Segment(char const *old_seg_name, char const *new_seg_name)
Completely duplicates a segment.
bool HC_PShow_Net_Shape(int count, Key const keys[], char const *name, float *definition)
void HC_MUnSet_Face_Colors(Key key, int offset, int count)
Removes color settings from a contiguous range of faces.
Key HC_Show_Style_Segment(Key key, char *pathname)
Returns the segment that is referenced by a style inclusion.
void HC_Show_LOD_Type(Key key, int level, char *type)
Determines whether a given LOD level exists, and if so, its type.
void HC_Show_Circle_By_Radius(Key key, Point *center, float *radius, Vector *normal)
Returns the center, radius and normal values used to define the circle, as referenced by a key...
Key HC_Show_Owner(char const *segment, char *owner)
Returns the segment which contains a given segment or which contains an item with a given key...
bool HC_Update_One_Display(char const *segment)
Executes Update_Display on a single driver instance.
void HC_Show_Local_Texture(char const *texture_name, char *definition)
Retrieves a texture definition from the currently open segment.
void HC_Show_Window_Frame(char *flag)
Returns the window frame visibility setting.
bool HC_PShow_One_Net_Unicode_Opt(int key_count, Key const keys[], unsigned short const *requested_option, unsigned short *options)
Similar to Show_Unicode_Options(), but returns the net effective value of a single attribute along a ...
bool HC_PShow_Net_Color_Map_By_Value(int key_count, Key const path_keys[], char *color_space, int *count, RGB values[])
Similar to Show_Color_Map_By_Value(), but returns the net effective setting along a discrete segment ...
void HC_Show_Conditions_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_Conditions().
void HC_Set_Camera_Up_Vector(double x, double y, double z)
Given a "camera" position and target, which define a line of sight, the "up vector" defines how much ...
bool HC_Show_Attribute_Filter_Length(Key key, int *filter_length)
void HC_DShow_Text_With_Encoding(Key key, double *x, double *y, double *z, char *encoding, void *text)
Similar to Show_Text_With_Encoding(), but returns double-precision values.
void HC_Begin_Contents_Search(char const *segment, char const *filter)
These routines are used to "dump" the contents of a segment or certain types of geometry.
void HC_Show_Infinite_Ray(Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb)
Returns the vector of points that define an infinite ray, as referenced by a key. The key might come ...
bool HC_Compute_Coordinates_By_Path(int count, Key const keys[], char const *in_system, Point const *in_position, char const *out_system, Point *out_position)
Similar to Compute_Coordinates(), but concatenates the matrices along a segment path rather than the ...
void HC_DSet_Camera_Field(double width, double height)
Similar to Set_Camera_Field(). This command should be used in conjunction with other double-precision...
Key HC_DCompute_Swept_Shell(Key shellkey, DVector const *direction_in, Key *front_key, Key *back_key, Key *side_key, char const *options)
Similar to Compute_Swept_Shell(), but operates on double-precision data.
bool HC_DFilter_Circumcuboid_By_Path(int count, Key const keys[], char const *options, DPoint *min, DPoint *max)
Similar to Filter_Circumcuboid_By_Path(), but operates on double-precision data.
int HC_Compute_Selection_By_Polylin(char const *display, char const *start_seg, char const *action, int pcount, Point const points[])
Similar to Compute_Selection(), but operates on polyline intersections.
void HC_DEdit_NURBS_Surface_Points(Key key, int cp_offset, int cp_replace_count, DPoint const points[])
Similar to Edit_NURBS_Surface_Points(), but accepts double-precision parameters.
void HC_Show_Image_Size(Key key, float *x, float *y, float *z, char *format, int *width, int *height)
Finds the size of a particular image, This is useful in determining the size of the data structure th...
bool HC_DShow_Bounding_Cuboid_By_Key(Key key, DPoint *min, DPoint *max)
Similar to Show_Bounding_Cuboid_By_Key(), but operates on double-precision data.
void HC_Compute_Matrix_Product(float const matrix1[], float const matrix2[], float out_matrix[])
bool HC_Compute_Matrix_Inverse(float const matrix[], float out_matrix[])
void HC_UnSet_Line_Weight(void)
Removes all settings established by a previous call to Set_Line_Weight().
void HC_UnSet_Conditions(void)
Removes all the conditions established by a previous call to Set_Conditions().
bool HC_PShow_Net_Texture_Matrix(int key_count, Key const path_keys[], float matrix[])
Similar to Show_Texture_Matrix(), but returns the net effective matrix along a discrete segment path...
bool HC_PShow_Net_Callback(int key_count, Key const path_keys[], char *callbacks)
Returns the net effective callback settings along a path of segments specified by an array of HC_KEY'...
void HC_DEdit_Cutting_Plane(Key key, double a, double b, double c, double d)
Similar to Edit_Cutting_Plane(), but operates on double-precision data.
void HC_Show_Selection_Pathname(char *segment)
Returns the fully-qualified name of the segment that was selected by the user.
Key HC_Show_Segment(Key key, char *pathname)
Returns the segment name corresponding to the given key.
void HC_DEdit_Shell_Points(Key key, int ioffset, int ndelete, int insert, DPoint const points[])
Similar to Edit_Shell_Points(), but accepts double-precision values.
void HC_Open_Face(int id)
Prepares a face within a shell or mesh for the local overriding of drawing attributes.
Key HC_Conditional_Style(char const *style, char const *conditions)
Similar to Style_Segment(), but uses a list of conditions that must be satisfied in order for the inc...
void HC_UnSet_Marker_Symbol(void)
Removes all settings established by a previous call to Set_Marker_Symbol().
void HC_UnDefine_Texture(char const *texture_name)
Removes all settings established by a previous call to Define_Texture().
bool HC_Find_Alias(char *alias)
Retrieves the alias names, one at a time. The function returns false when all aliases have been retur...
int HC_DPShow_Net_Clip_Region(int count, Key const keys[], int *loopCount, int loopSizeArray[], DPoint points[], char *spec)
Like PShow_Net_Clip_Region, but operates on double-precision data.
void HC_MUnSet_Specific_Face_Normals(Key key, int count, int const indices[])
Removes the normal values for a set of specific faces at once. This allows the shell or mesh to inher...
bool HC_Compute_Circumcuboid(char const *segment, Point *min, Point *max)
Returns points defining a cuboid that circumscribes the geometry within a segment.
void HC_Edit_Mesh(Key key, int row_offset, int column_offset, int row_count, int column_count, Point const points[])
Modifies one, some, or all of the vertex values in a previously-inserted mesh.
void HC_Show_One_Conditional_Action(char const *action_type, char *options, char *condition)
Shows the options and conditions for the specified action.
void HC_Define_Image_Glyph(const char *name, const char *definition)
void HC_Flush_Geometry(char const *segment)
Flushes just geometry from a segment but leaves attributes, styles, segments, and subsegments...
void HC_Show_Trim_Curve(int index, int *degree, int *cp_count, float points[], float weights[], float knots[], float *start_u, float *end_u)
Returns the definition of an existing NURBS curve trim object.
bool HC_Compute_Text_Metrics_Size(int count, Key const *keys, char const *encoding, void const *text, char const *options, int *size)
void HC_Show_Clip_Region(int *loopCount, int loopSizeArray[], Point points[], char *options)
Show the clip region settings on the currently open segment.
double HC_Compute_Matrix_Determinant(float const matrix[])
Key HC_Show_Reference_Geometry(Key reference_key)
Returns the identifier of the original geometry or segment referenced by a particular reference key...
void HC_MSet_Vertex_Parameters(Key key, int offset, int pcount, int number, float const parameters[])
Speedily sets the drawing attributes on a large number of shell, mesh, or polycylinder vertices...
int HC_Compute_Selection_By_Key(char const *action, char const *start_seg, Key key, float const matrix[])
Forces a selection event between a supplied shell, as referenced by a key, and a specified portion of...
void HC_DSet_Complex_Clip_Region(int loops, int const lengths[], DPoint const points[], char const *options)
Similar to Set_Complex_Clip_Region(), but takes double-precision precision points.
void HC_MUnSet_Vertex_Parameters(Key key, int offset, int count)
Unsets the drawing attributes on a large number of shell, mesh, or polycylinder vertices.
void HC_DScale_Object(double x, double y, double z)
Similar to Scale_Object(), but operates on double-precision data.
bool HC_Compute_Transform(char const *segment, char const *in_system, char const *out_system, float matrix[])
Converts positions back and forth among the various coordinate systems.
int HC_Begin_Buffered_Selection(char const *start_name, double left, double right, double bottom, double top, char const *options)
bool HC_Compute_Polyline_From_Curve(Key key, char const *options, int *pcount, Point points[])
Calculates and returns a tesselated version of a specified curve.
void HC_Orbit_Camera(double theta, double phi)
Walks the viewer's point of view around the object being looked at.
void HC_Close_Vertex(void)
Closes the session that began with an opening call to Open_Vertex().
bool HC_Show_PBR_Material(char *base_color_map, char *normal_map, char *emissive_map, char *metalness_map, int *metalness_map_channel, char *roughness_map, int *roughness_map_channel, char *occlusion_map, int *occlusion_map_channel, RGBA *base_color_factor, float *normal_factor, float *metalness_factor, float *roughness_factor, float *occlusion_factor, float *alpha_factor, char *options)
Shows a physically-based rendering material on a segment with the attributes specified.
void HC_Show_String_Cursor(Key key, Key *text_key, int *row, int *col)
Retrieves the key of the owning text, and position within that text, of a previously defined string c...
int HC_MShow_Spec_Vert_Colors_W_Ex(Key key, char const *geometry, int count, int const vertices[], char result_type[], float index_colors[], RGB rgb_colors[], RGBA rgba_colors[])
void HC_Show_Key_Type(Key key, char *type)
Returns the type of object referenced by a key.
void HC_Show_Conditions(char *list)
Returns the conditions that have been set on the currently open segment during a previous call to Set...
int HC_Show_Sample_Max_Length()
Returns the maximum number of keys that will be returned by a call to Find_Next_Sample.
void HC_Show_Callback(char *callbacks)
Returns the name of a procedural link between HOOPS database traversal and immediate mode rendering...
int HC_MShow_Vertex_Colors_With_Ex(Key key, char const *geometry, int offset, int count, char result_type[], float index_colors[], RGB rgb_colors[], RGBA rgba_colors[])
Key HC_Insert_Text_With_Encoding(double x, double y, double z, char const *encoding, void const *text)
Similar to Insert_Text(), but operates with encoded text rather than Latin1 text. ...
void HC_Show_Text_Region(int *count, Point points[], char *options)
Show the text region settings on the currently open text string.
void HC_Translate_Object(double x, double y, double z)
Moves objects about within the user data space.
Key HC_DInsert_Cutting_Plane(double a, double b, double c, double d)
Similar to Insert_Cutting_Plane(), but accepts parameters of type double for increased precision...
void HC_Set_Camera_Field(double width, double height)
After the viewing "camera" has been positioned, adjusts the width or height of the total field of vie...
int HC_Compute_Selection_By_Swept_S(char const *action, char const *start_seg, Key shellkey, int number_of_sweeps, float const matrices[], char const *options)
Forces a selection event between the volume created by a shell moving along a path and a specified po...
void HC_Show_User_Indices(int count[], long indices[], void **values)
Returns the user indices and values that have been set on the currently open segment by a previous ca...
void HC_MUnSet_Specific_Face_Vis(Key key, int count, int const indices[])
Removes the per-face visibility settings of a list of faces at once. This allows the shell or mesh to...
void HC_Show_Text_Leader(Key key, float *x, float *y, float *z, char *options)
void HC_Open_Geometry(Key key)
Readies an item of geometry – in particular a shell or a mesh – or a light to receive local attribu...
void HC_MUnSet_Spec_Face_Colors(Key key, int count, int const faces[])
Removes vertex-specific color settings from an arbitrary set of faces.
void HC_Show_Line_Weight(float *weight)
Returns the line weight that has been set on the currently open segment.
void HC_DRotate_Object_Offaxis(double x, double y, double z, double theta)
Similar to Rotate_Object_Offaxis(), but operates on double-precision data.
void HC_DCompute_Rotation_Matrix(double alpha, double beta, double theta, double out_matrix[])
Similar to Compute_Rotation_Matrix(), but operates on double-precision data.
double HC_DCompute_Vector_Angle(DVector const *vector, DVector const *vector2)
Similar to Compute_Vector_Angle(), but operates on double-precision data.
void HC_Compute_Transformed_Points(int count, Point const points[], float const matrix[], Point out_points[])
Applies a user-specified transform to any number of points.
void HC_Show_User_Options(char *list)
Returns the user options that have been set on the currently open segment.
Key HC_Insert_Circle_By_Radius(Point const *center, double radius, Vector const *normal)
Generates a flat, infinitely thin, colored-in circular object.
void HC_Show_Shape_Count(int *count)
int HC_DPShow_Net_Camera_Up_Vector(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Up_Vector(), but operates on double-precision cameras.
void HC_Set_User_Options(char const *list)
Allows you to create new "attributes" of your own choosing.
bool HC_PShow_Net_Color_Map(int key_count, Key const path_keys[], char *colors)
bool HC_Show_Environment(char const *variable, char *value)
Allows you to retrieve information from the operating system environment of your running program...
int HC_Compute_Points_On_Shell(int test_point_count, Point const test_points[], double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[], int results[])
Tests, within a certain tolerance, whether a given set of points reside on the surface of a shell...
bool HC_PShow_One_Net_Rendering_Opti(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Rendering_Option() but returns the net settings along a discrete path...
void HC_Show_Circular_Chord(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular chord, as referenced by a key.
void HC_Show_One_User_Option(char const *type, char *value)
Similar to Show_User_Options() but returns a single setting, rather than the entire set...
void HC_DEdit_Circular_Arc(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Arc(), but operates on double-precision data.
void HC_End_Shader_Search(void)
Terminates the shader search sequence and frees any involved memory.
bool HC_Compute_Point_Inside_Shell(Point const *test_point, int point_count, Point const points[], int face_list_length, int const face_list[])
Tests whether a given point is inside a shell, which is assumed to be a closed surface.
void HC_Show_Marker(Key key, float *x, float *y, float *z)
Returns the position of a marker, as referenced by a key.
void HC_Set_User_Index(long index, void const *data)
Associates a segment with an index into a user-defined array of option strings.
bool HC_PShow_Net_User_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_User_Options(), but returns the net effective settings along a discrete segment path...
bool HC_Find_Related_Selection(void)
Allows you to inspect the "next best" geometry item with the current Selection Event.
void HC_MShow_Vertex_Parameters(Key key, int offset, int pcount, int *number, float params[])
void HC_DShow_Clip_Region_Size(int *loopCount, int *totalPointCount, char *options)
Key HC_DInsert_Line(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Line(), but accepts parameters of type double for increased precision. Unlike Insert_Line, the parameters are not truncated.
bool HC_DCompute_Coordinates(char const *segment, char const *in_system, DPoint const *in_position, char const *out_system, DPoint *out_position)
Similar to Compute_Coordinates(), but returns double-precision values for position.
void HC_MUnSet_Specific_Vertex_Vis(Key key, int count, int const indices[])
Removes per-vertex visibility settings on several individual vertices at once. This allows the shell ...
void HC_Set_Conditional_Action(char const *options, char const *condition)
Allows the user to associated specific action(s) with a set of conditions.
Key HC_DInsert_NURBS_Curve(int degree, int cpcount, DPoint const control_points[], float const weights[], float const knots[], double start_u, double end_u)
void HC_Show_Font_Info_By_Path(int count, Key const keys[], char const *font, char const *item, char *data)
Similar to Show_Font_Info(), but returns the net effective font information along a discrete segment ...
void HC_UnSet_Parameter(void)
Removes all settings established by a previous call to Set_Parameter().
Key HC_Insert_Cylinder(Point const *center_point_1, Point const *center_point_2, double radius, char const *cap)
Inserts a cylinder into the currently open segment.
void HC_Show_Text_Encoding(Key key, char *encoding)
Finds the type of encoding with which a particular string was inserted, as referenced by a key...
void HC_UnDefine_Named_Style(char const *style_name)
Removes a named style definintion established by a previous call to Define_Named_Style.
void HC_Begin_Open_Segment_Search(void)
Returns the pathnames of all open segments.
Key HC_Reference_Geometry_By_Key(Key geom_key)
Similar to Reference_Geometry(), but references a particular item, rather than a segment and all of i...
void HC_Show_Shape_Size(char const *name, int *data_size)
void HC_End_Error_Handler_Search()
Terminates the error handler search sequence and frees any memory involved.
void HC_Show_Window_Pattern(char *pattern)
Returns the window pattern set on the currently open segment.
void HC_Set_Edge_Pattern(char const *pattern)
Applies a pattern of dots and dashes, or whatever, to the edges of polygons, circles, ellipses, shells, and meshes.
void HC_DShow_Camera_Target(double *x, double *y, double *z)
Similar to Show_Camera_Target(). This command should be used in conjunction with other double-precisi...
void HC_Show_Mesh(Key key, int *rows, int *columns, Point points[])
Returns the previous definition of a mesh, as referenced by a key.
void HC_Begin_Shape_Search(void)
void HC_Set_Text_Spacing(double spacing)
Allows you to space out or squeeze the text strings in a segment.
bool HC_DCompute_Coordinates_By_Path(int count, Key const keys[], char const *in_system, DPoint const *in_position, char const *out_system, DPoint *out_position)
Similar to Compute_Coordinates_By_Path(), but operates on double-precision data.
void HC_Show_Unicode_Options_Length(int *length)
Determines string length for proper buffer allocation on a call to Show_Unicode_Options.
Key HC_Insert_Sphere(Point const *center, double radius, Vector const *axis, Vector const *ortho)
Generates a sphere.
void HC_Show_Selection_Source_Elem(int *vertex, int *edge, int *face, Point *hit_location)
Returns the location on a shell where a hit would occur if that shell was moved along the vector to t...
void HC_Edit_PolyCylinder_With_Basis(Key key, int p_count, Point const pts[], int r_count, float const radii[], char const *capping, Vector const basis[])
Edits the polycylinder's points, radii, and vector basis.
Key HC_Insert_Image_By_Ref(double x, double y, double z, char const *format, int width, int height, const void *data)
Similar to Insert_Image(), but does not create a copy of the image data within HOOPS.
void HC_DShow_Infinite_Ray(Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb)
Similar to Show_Infinite_Ray(), but returns double-precision values.
void HC_DRoll_Camera(double angle)
Similar to Roll_Camera(), but operates on double-precision data.
bool HC_Find_Next_Sample(int *key_count, Key keys[], int *offset1, int *offset2, int *offset3)
Allows you to inspect the next item in the list of items found by Collect_Area_Samples.
void HC_Compute_Screen_Extent_By_Pat(int count, Key const keys[], char const *options, float *left, float *right, float *bottom, float *top)
Similar to Compute_Screen_Extent(), but concatenates the matrices along a segment path rather than th...
void HC_Show_Partial_Shell_Size(Key key, int foffset, int fcnt, int *flist_length)
Finds the size of a portion of a shell. This is useful in determining the size of the data structure ...
int HC_Show_Existence(char const *filter)
A utility routine to determine how much of something exists within a segment, or if it exists at all...
void HC_MSet_Face_Colors_By_Value(Key key, char const *type, int offset, char const *color_space, int count, RGB const values[])
Sets the drawing attributes on a contiguous range of shell or mesh faces speedily.
void HC_Show_Cond_Action_Types(char *action_types)
Shows all actions set in the current segment.
bool HC_PShow_One_Net_Visibility(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Visibility() but returns the net settings along a discrete path.
void HC_DShow_Modelling_Matrix(double matrix[])
Similar to Show_Modelling_Matrix(), but operates on double-precision matrices.
void HC_MSet_Specific_Face_Normals(Key key, int count, int const indices[], Vector const normals[])
Speedily sets the normal values for a specific faces on a shell or mesh faces.
void HC_MShow_Spec_Vert_Col_By_Value(Key key, char const *type, int count, int const offsets[], RGB rgb[])
void HC_UnSet_Face_Pattern(void)
Removes all settings established by a previous call to Set_Face_Pattern().
void HC_Move_Distant_Light(Key key, double di, double dj, double dk)
Changes the location, in object space, of a previously-inserted "distant light".
int HC_DCompute_Intersect_Polyline(int pcount1, DPoint const points1[], int flist_length3, int const face_list1[], int pcount2, DPoint const points2[], int flist_length2, int const face_list2[], int *polyline_count, int polyline_lengths[], int *polyline_points_count, DPoint polyline_points[])
Similar to Compute_Intersect_Polyline(), but operates on double-precision data.
void HC_Show_Geometry_Pointer(Key key, const char *data_type, void *value)
Retrieves a pointer to the internal data structure of the object identified by key.
void HC_DShow_Image(Key key, double *x, double *y, double *z, char *format, int *width, int *height, void *data)
Similar to Show_Image(), but returns double-precision values.
void HC_Set_Marker_Size(double weight)
Makes marker symbols larger or smaller than usual.
void HC_Show_Selection_Item(Key *key, int *offset1, int *offset2)
void HC_Set_Driver_Options(char const *list)
Provides information to the system about a variety of special device-specific display options...
void HC_DCompute_Offaxis_Rotation(double x, double y, double z, double theta, double out_matrix[])
Similar to Compute_Offaxis_Rotation, but operates on double-precision data.
int HC_PShow_Net_Camera_By_Volume(int count, Key const keys[], char *proj, float *xmin, float *xmax, float *ymin, float *ymax)
Similar to Show_Camera_By_Volume(), but returns the net effective camera along a discrete segment pat...
void HC_Set_Default_Shapes_By_Key(Key target_segment)
void HC_Reverse_Contents_Search(void)
void HC_Show_Device_Info_By_Key(Key key, char const *item, char *data)
Similar to Show_Device_Info(), but the driver segment is identified by a key instead of by name...
void HC_Show_Variable_Line_Weight(char *weight)
Show the current variable line weight setting.
void HC_Trim_NURBS_Surface_By_Curve(int degree, int cpcount, float const control_points[], float const weights[], float const knots[], double start_u, double end_u)
Inserts a NURBS curve into the trim list and applies the trim to a surface.
double HC_DCompute_Selection_Dist_By_S(char const *action, char const *start_segment, int pcount, DPoint const points[], int flist_length, int const faces[], const char *options)
Similar to Compute_Selection_Distance_By_Shell(), but operates on double-precision data...
void HC_DSet_Camera(DPoint const *position, DPoint const *target, DVector const *up, double width, double height, char const *projection)
Similar to Set_Camera(), but operates on double-precision parameter values.
int HC_Compute_Selection_By_Swept_2(char const *action, char const *start_seg, Key shellkey, int sweepcount, float const matrices[], char const *options, float bounding_box[])
Similar to Compute_Selection_By_Swept_Shell(), but takes an extra parameter which receives a bounding...
bool HC_Compute_Circumsphere(char const *segment, Point *center, float *radius)
Returns points defining a sphere that circumscribes the geometry within a segment.
void HC_Show_Explicit_Color(char const *type, char const *channel, float rgb[], char *texture, char *options)
Returns the various components of a color definition.
int HC_DPShow_Net_Camera_Position(int key_count, Key const path_keys[], double *x, double *y, double *z)
Similar to PShow_Net_Camera_Position(), but operates on double-precision cameras. ...
Key HC_Compute_Capping_Shell(int shell_count, Key const shell_list[], float const plane[])
Creates a shell in the currently open segment that contains an exact copy of the cap geometry that a ...
void HC_Show_One_Selectability(char const *type, char *value)
Similar to Show_Selectability() but returns a single setting, rather than the entire set...
bool HC_Compute_Text_Extent_Enc_Path(int count, Key const keys[], char const *encoding, void const *text, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent_By_Path(), but operates on encoded text rather that Latin1 text...
void HC_Optimize_Segment_Tree(char const *segname, char const *option_string)
Traverses the specified segment tree and makes modifications within it to try to improve rendering pe...
void HC_Show_One_Character_Attribute(Key key, int offset, char const *which, char *options)
Returns one per-character attribute setting from a given text string.
void HC_MShow_Face_Normals(Key key, int offset, int count, Vector normals[])
Returns the normals set on the faces of some geometry without having to open each face...
void HC_DSet_Modelling_Matrix(double const matrix[])
Similar to Set_Modelling_Matrix(), but operates on double-precision matrices.
Key HC_DInsert_Ink(double x, double y, double z)
Similar to Insert_Ink() but accepts parameters of type double for increased precision. Unlike Insert_Ink, the parameters are not truncated.
void HC_MSet_Region_Faces(Key key, int region, int first_face, int face_count)
Adds a specified range of shell faces to the specified region without requiring open geometry or regi...
bool HC_Find_Shape(char *name)
void HC_Print_Version(void)
Prints out the version number of the HOOPS you're using.
void HC_Begin_Exit_Handler_Search()
Finds all the currently defined exit handlers.
bool HC_DFilter_Circumsphere_By_Key(Key segKey, char const *options, DPoint *center, double *radius)
Similar to Filter_Circumsphere_By_Key(), but operates on double-precision data.
void HC_Append_Texture_Matrix(float const array[])
Allows direct manipulation of the matrix transform applied against all shell and mesh (u...
void HC_Compute_Text_Outline_By_Key(Key key, int *pcount, Point points[], int *flist_length, int face_list[])
Similar to Compute_Text_Outline(), but operates on an object referenced by an HC_KEY.
void HC_UnSet_User_Options(void)
Removes all settings established by a previous call to Set_User_Options().
bool HC_Compute_Polygon_Normal(int count, Point const points[], char const *hand, Vector *out_vector)
Key HC_DInsert_Polygon(int count, DPoint const points[])
Similar to Insert_Polygon(), but accepts double-precision values for points.
void HC_Show_One_Condition(char const *condition, char *value)
Similar to Show_Conditions() but returns the value of a single option rather than the entire list...
bool HC_DCompute_Normalized_Matrix(double const matrix[], double out_matrix[])
Similar to Compute_Normalized_Matrix, but operates on double-precision data.
bool HC_Compute_Transform_By_Path(int count, Key const keys[], char const *in_system, char const *out_system, float matrix[])
Similar to Compute_Transform(), but concatenates the matrices along a segment path rather than the cu...
void HC_DShow_PolyCylinder(Key key, int *p_count, DPoint pts[], int *r_count, double radii[], char *capping)
Similar to Show_PolyCylinder(), but operates on double-precision data.
void HC_DEdit_Circle_By_Radius(Key key, DPoint const *center, double radius, DVector const *vector)
Similar to Edit_Circle_By_Radius(), but operates on double-precision data.
void HC_DShow_Infinite_Line(Key key, double *xa, double *ya, double *za, double *xb, double *yb, double *zb)
Similar to Show_Infinite_Line(), but operates on double-precision data.
int HC_Inspect_Proxies(Key out_keys[], int n_out_keys)
bool HC_PShow_Net_Edge_Pattern_Exp(int count, Key const keys[], char *pattern)
Similar to Show_Edge_Pattern_Explicit(), but returns the net effective setting along a discrete path ...
bool HC_Show_Bounding_Sphere_By_Key(Key key, Point *center, float *radius)
Similar to Show_Bounding_Sphere(), but operates on an object referenced by an HC_KEY.
void HC_Define_Line_Style(char const *name, char const *definition)
Allows the user to create a custom line style using a combination of lines, blanks, glyphs, and attributes.
void HC_DSet_Bounding_Cuboid(DPoint const *min, DPoint const *max)
Similar to Set_Bounding_Cuboid(), but operates on double-precision data.
void HC_Edit_Polygon(Key key, int offset, int ndelete, int insert, Point const points[])
Adjusts the boundary of a previously declared polygon.
void HC_Show_One_Color(char const *type, char *color)
Returns the color value for one particular type of geometry.
bool HC_Find_Segment(char *segment)
Retrieves the segment names, one at a time. The function returns false when all segments have been re...
void HC_Show_Infinite_Line(Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb)
Returns the vector of points that define an infinite line, as referenced by a key.
void HC_MShow_Face_Regions(Key key, int *face_count, int regions[])
Show the regions defined for a given shell without requiring open geometry.
void HC_Show_Image(Key key, float *x, float *y, float *z, char *format, int *width, int *height, void *data)
Returns the rectangular array of pixel data, as referenced by a key.
bool HC_Find_Texture(char *name)
Retrieves the texture names, one at a time. The function returns false when all textures have been re...
bool HC_PShow_One_Net_Texture(int count, Key const keys[], char const *name, char const *opt, char *output)
Similar to Show_One_Net_Texture(), but calculates the net effective value of a specific setting on th...
void HC_DAppend_Modelling_Matrix(double const array[])
Similar to Append_Modelling_Matrix(), but accepts double-precision data.
void HC_Scale_Object(double x, double y, double z)
Enlarges or reduces objects within the user data space. Not to be confused with Zoom_Camera.
void HC_Edit_PolyCylinder(Key key, int p_count, Point const pts[], int r_count, float const radii[], char const *capping)
Edits a polycylinder as it sits in the database, without deleting and reinserting.
void HC_Show_Wakeup(float *time)
Returns the time specification of the current wakeup event.
void HC_Show_Alias_Count(int *count)
Finds out how many aliases will be returned. This is useful for determining the size of a data struct...
void HC_MShow_Vertex_Colors_By_Value(Key key, char const *type, int offset, int count, RGB rgb[])
Key HC_Insert_NURBS_Surface(int u_degree, int v_degree, int u_count, int v_count, Point const points[], float const weights[], float const u_knots[], float const v_knots[])
Generates a Non-Uniform Rational B-Spline (NURBS) surface.
void HC_Show_Line_Style_Count(int *count)
Finds out how many line styles will be returned. This is useful for determining the size of a data st...
int HC_PShow_Net_Modelling_Matrix(int key_count, Key const path_keys[], float matrix[])
Similar to Show_Modelling_Matrix(), but returns the net effective value along a discrete segment path...
void HC_UnSet_One_Rendering_Option(char const *which)
Removes a given setting established by a previous call to Set_Rendering_Options(), rather than all settings.
Key HC_DInsert_Local_Light(double x, double y, double z)
Similar to Insert_Local_Light(), but accepts parameters of type double for increased precision...
void HC_Begin_Font_Search(char const *display, char const *filter)
Finds the names of all the fonts available on a particular device.
void HC_DEdit_PolyCylinder_With_Basis(Key key, int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping, DVector const basis[])
Similar to Edit_PolyCylinder_With_Basis, but operates on double-precision data.
void HC_Compute_Text_Outline_Size_By(Key key, int *pcount, int *flist_length)
Similar to Compute_Text_Outline_Size(), but enables the user to pass in a key for the desired text ob...
Key HC_DInsert_Elliptical_Arc(DPoint const *center, DPoint const *major, DPoint const *minor, double start, double end)
Similar to Insert_Elliptical_Arc(), but accepts parameters of type double for increased precision...
void HC_Show_Net_Normal(float *x, float *y, float *z)
Similar to Show_Normal(), but returns the net effective normal rather than the local one...
int HC_QShow_Existence_Unicode(char const *segment, unsigned short const *filter)
Similar to Show_Existence_Unicode(), but operates on a given segment rather than the currently open o...
bool HC_PShow_Net_Text_Spacing(int key_count, Key const path_keys[], float *spacing)
Similar to Show_Text_Spacing(), but returns the net effective setting along a discrete segment path...
bool HC_PShow_Net_Glyph_Size(int count, Key const keys[], char const *name, int *size)
Similar to Show_Glyph_Size(), but returns the net effective value along a discrete segment path...
int HC_PShow_Net_Clip_Region(int count, Key const keys[], int *loopCount, int loopSizeArray[], Point points[], char *spec)
Returns all the clip regions found on the key path passed to the function.
void HC_Compute_Identity_Matrix(float out_matrix[])
void HC_MUnSet_Specific_Vert_Normals(Key key, int count, int const indices[])
Speedily unsets the normal values a set of faces on a large number of shell, mesh, or polycylinder vertices.
bool HC_PShow_Net_Conditions(int count, Key const keys[], char *options)
Similar to Show_Conditions() but returns the net effective settings along a discrete segment path...
void HC_Set_Callback(char const *callbacks)
Establishes a procedural link between HOOPS database traversal and immediate mode rendering...
void HC_Show_Cutting_Section(Key key, int *count, Plane planes[])
Returns the array of coefficients used to define a cutting section.
void HC_Set_Polygonal_Clip_Region(int count, Point const points[], char const *options)
Defines a polygonal region in the segment tree, where all geometry within and beneath that segment wi...
void HC_MShow_Region_Faces(Key key, int region, int *face_count, int faces[])
void HC_Set_Variable_Edge_Weight(char const *weight)
Defines weights for edges that scale in a similar manner to other geometric primitives.
void HC_Show_Callback_Name_Count(int *count)
Finds out how many callback names will be returned. This is useful for determining the size of a data...
void HC_Set_Bounding_Sphere(Point const *center, double radius)
Specifies the sphere used by HOOPS to circumscribe the geometry within a segment. ...
void HC_DSet_Text_Region(int pCount, DPoint const points[], char const *options)
Similar to Set_Text_Region, but operates on double-precision data.
void HC_Delete_Specific_Shell_Faces(Key key, int count, int const indices[])
Removes a particular face from the facelist of a particular shell.
void HC_UnDefine_Callback_Name(char const *name)
Removes all settings established by a previous call to Define_Callback_Name().
void HC_UnSet_One_User_Data(intptr_t index)
This function unsets binary user data associated with a segment or piece of geometry in the database...
void HC_Define_Shader(char const *name, char const *options, char const *shader_source)
Defines a section of code that will be injected into the HOOPS 3DF pixel shader.
void HC_DEdit_Grid(Key key, char const *type, DPoint const *origin, DPoint const *ref1, DPoint const *ref2, int count1, int count2)
Similar to Edit_Grid(), but operates on double-precision data.
void HC_Set_Default_Line_Styles()
Defines all default line styles in the currently open segment.
void HC_Edit_Circular_Wedge(Key key, Point const *point1, Point const *point2, Point const *point3)
Edits a circular wedge as it sits in the database.
intptr_t HC_Dump_Memory_Profile(char const *which)
void HC_MUnSet_Spec_Vert_Parameters(Key key, int count, int const indices[])
Unsets the parameter values for a specific set of vertices on shell, mesh, or polycylinder.
void HC_Show_Selection_Original_Keys(int *count, Key key[])
Returns an array of original HOOPS keys that delineate the ownership of the selection object...
void HC_Show_One_System_Option(char const *type, char *value)
Similar to Show_System_Options(), but returns the value of a single attribute in the currently open s...
void HC_UnSet_One_Selectability(char const *which)
Removes a given setting established by a previous call to Set_Selectability(), rather than all settin...
bool HC_PShow_Net_User_Opt_Length(int key_count, Key const path_keys[], int *length)
Finds the net effective value of the length along a path of segments specified by an array of HC_KEY'...
void HC_End_Buffered_Selection()
Ends the selection process for the current buffered selection event. that was previously started usin...
int HC_UnDefine_Geometry_Highlight(int count, Key const keys[], char const *style, char const *options, int elements_count, int const offset1[], int const offset2[], int const offset3[])
UnDefines an existing geometry highlight.
void HC_Compute_Text_Outline_Size_Pa(int count, Key const keys[], char const *text, int *pcount, int *flist_length)
Similar to Compute_Text_Outline(), but concatenates the matrices along a segment path rather than the...
void HC_Show_Shell(Key key, int *pcount, Point points[], int *flist_length, int face_list[])
Returns the previous definition of a shell, as referenced by a key.
Key HC_Include_Segment(char const *include)
Leaves a note for the system directing it to grab a copy of another segment whenever the current one ...
bool HC_PShow_Net_Glyph(int count, Key const keys[], char const *name, char *definition)
Similar to Show_Glyph(), but returns the net effective value along a discrete segment path...
bool HC_PShow_Net_Unicode_Opt_Length(int key_count, Key const path_keys[], int *length)
Returns the net effective value of the length along a path of segments specified by an array of HC_KE...
void HC_Move_Segment(char const *old_seg_name, char const *new_seg_name)
Changes the name of a segment, and/or moves it somewhere else in the segment tree.
void HC_Show_Parameter(int *size, float list[])
Returns the parameters that have been set on the currently open vertex.
bool HC_PShow_Net_Var_Marker_Size(int count, Key const keys[], char *size)
Similar to Show_Variable_Marker_Size(), but returns the net effective setting along a discrete segmen...
Key HC_DInsert_Marker(double x, double y, double z)
Similar to Insert_Marker(), but accepts parameters of type double for increased precision. Unlike Insert_Marker, the parameters are not truncated.
int HC_Compute_Selection_By_Ray(char const *action, char const *start_seg, Point const *start_point, Vector const *direction)
Forces a selection event between a supplied ray and all polyhedron-based objects within a specified p...
int HC_Show_Existence_Unicode_By_K(Key key, unsigned short const *filter)
Similar to Show_Existence_Unicode(), but operates on an object referenced by an HC_KEY.
void HC_Set_Color_By_Index(char const *types, int index)
Changes the color to be used when rendering the contents of a segment. The color is defined indirectl...
bool HC_Show_Bounding_Sphere(Point *center, float *radius)
Returns the sphere used by HOOPS to circumscribe the geometry within a segment.
bool HC_DCompute_Transformed_Plane(DPlane const *plane, double const matrix[], DPlane *out_plane)
Similar to Compute_Transformed_Plane(), but operates on double-precision data.
Key HC_Include_Segment_By_Key(Key seg_key)
Similar to Include_Segment(), but operates on an object referenced by an HC_KEY.
void HC_DSet_Camera_By_Volume(char const *proj, double xmin, double xmax, double ymin, double ymax)
Similar to Set_Camera_By_Volume(), but accepts double-precision parameters and operates on double-pre...
Key HC_Show_Named_Style(char const *style_name, char *style_source)
Returns the segment path of a named style established by a previous call to Define_Named_Style().
void HC_Move_Light_Position(Key key, double x, double y, double z)
Changes the location, in object space, of a previously inserted "local light" or "spot light"...
Key HC_Insert_Distant_Light(double di, double dj, double dk)
Inserts a distant point source of light into your scene.
void HC_MSet_Vertex_Colors_By_Value(Key key, char const *types, int offset, char const *color_space, int count, RGB const values[])
Sets the color on a contiguous range of shell, mesh, or polycylinder vertices.
void HC_Show_Selection_Element(Key *key, int *offset1, int *offset2, int *offset3)
Returns the key of the database element that was selected by the user, plus an offset within that ele...
void HC_Show_Named_Style_Count(int *count)
Returns the number of named styles established by previous calls to Define_Named_Style().
void HC_Show_Trim_Count(int *count)
Returns the number of objects in the trim list of the currently open NURBS surface or trim collection...
void HC_Define_Font_By_Reference(char const *name, char const *options, int data_length, char const data[])
Similar to Define_Font(), but avoids creating an internal copy of the font within HOOPS memory...
void HC_UnSet_Rendering_Options(void)
Removes all settings established by a previous call to Set_Rendering_Options().
void HC_UnSet_Text_Font(void)
Removes all settings established by a previous call to Set_Text_Font().
void HC_DShow_Ellipse(Key key, DPoint *center, DPoint *major, DPoint *minor)
Similar to Show_Ellipse(), but returns double-precision values.
void HC_Show_Local_Light(Key key, float *x, float *y, float *z)
Returns the position of a "local light", as referenced by a key.
int HC_PShow_Net_Camera_Position(int key_count, Key const path_keys[], float *x, float *y, float *z)
Returns the net effective setting along a discrete segment path.
void HC_Set_Camera(Point const *position, Point const *target, Vector const *up, double width, double height, char const *projection)
Allows the complete specification of the viewing camera's position, orientation, and field of view...
void HC_Show_Shell_By_Tristrips_Size(Key key, int *pcount, int *tristrips_length, int *face_indices_length)
Finds the size of a shell that has been inserted by tristrips. This is useful in determining the size...
bool HC_Show_Error(char *severity, int *category, int *severity_level)
Shows whether a severe error was generated during the previous HOOPS call and returns the error compo...
void HC_Set_Text_Size(double ivalue)
void HC_End_Callback_Name_Search(void)
Terminates the callback name search sequence and frees any involved memory.
void HC_Show_Color_Name(char const *color, char *definition)
Shows the definition of a color.
Key HC_DInsert_Circular_Arc(DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Insert_Circular_Arc(), but accepts parameters of type double for increased precision...
void HC_Show_Selection_Keys(int *count, Key keys[])
Returns the key of the item that was selected by the user, and the keys for all the segments in the p...
void HC_Show_Ellipse(Key key, Point *center, Point *major, Point *minor)
Returns the three points used to define the ellipse, as referenced by a key.
void HC_Show_Visibility(char *list)
Returns the visibility settings for the currently open segment.
void HC_Modify_Color_Map(int offset, char const *colors)
Changes the array of colors which are used when displaying Images, or "by index", color attributes...
void HC_Exit_Program(void)
Calls the defined exit handlers, and exits to the operating system with a normal status.
bool HC_DCompute_Circumsphere_By_Key(Key key, DPoint *center, double *radius)
Similar to Compute_Circumsphere_By_Key(), but operates on double-precision data.
bool HC_DShow_Bounding_Cuboid(DPoint *min, DPoint *max)
Similar to Show_Bounding_Cuboid(), but operates on double-precision data.
void HC_Flush_By_Key(Key key)
Throws away the contents of a geometric primitive or a segment but leaves the structure intact...
void HC_DEdit_Ellipse(Key key, DPoint const *center, DPoint const *major, DPoint const *minor)
Similar to Edit_Ellipse(), but operates on double-precision data.
void HC_Rotate_Texture(double theta, double phi, double psi)
Moves the represented texture about its U-, V-, or W-axis.
void HC_MUnSet_Vertex_Normals(Key key, int offset, int count)
Speedily unsets the normal values a range of faces on a large number of shell, mesh, or polycylinder vertices.
void HC_MShow_Spec_Vert_Col_By_FInd(Key key, char const *type, int pcount, int const offsets[], float indices[])
void HC_UnSet_Visibility(void)
Removes all settings established by a previous call to Set_Visibility().
Key HC_Insert_Compressed_Image(double x, double y, double z, char const *format, int width, int height, int size, void const *data)
Inserts a compressed pixel-based image in the HOOPS database.
Key HC_DInsert_Image(double x, double y, double z, char const *format, int width, int height, const void *data)
Similar to Insert_Image(), but accepts parameters of type double for increased precision.
bool HC_Find_Color_Name(char *name, char *er_name, char *ish_name)
Retrieves the color names, one at a time. The function returns false when all color names have been r...
bool HC_PShow_Net_Shader(int count, Key const keys[], char const *name, char *output, char *shader_source)
Similar to Show_Shader(), but returns the net effective value along a discrete segment path...
void HC_Compute_Text_Outline_Size_Wi(char const *segment, char const *encoding, void const *etext, int *pcount, int *flist_length)
Similar to Compute_Text_Outline_Size(), but operates on encoded text rather than Latin1 text...
Key HC_Insert_Ellipse(Point const *center, Point const *major, Point const *minor)
Generates a flat, infinitely thin, colored-in elliptical object.
bool HC_DCompute_Transformed_Planes(int count, DPlane const planes[], double const matrix[], DPlane out_planes[])
Applies a user-defined transform to a group of planes.
void HC_DSet_Camera_Target(double x, double y, double z)
Similar to Set_Camera_Target(). This command should be used in conjunction with other double-precisio...
void HC_Show_Open_Segment_Count(int *count)
Finds out how many segments will be returned. This is useful for determining the size of a data struc...
void HC_Show_Font_Info(char const *driver, char const *name, char const *item, char *data)
Returns selected information about the specified font.
void HC_Set_Normal(double x, double y, double z)
Forces the normal vector at a vertex, edge, or face to a particular value.
void HC_Show_One_Heuristic(char const *type, char *value)
Similar to Show_Heuristics() but returns a single setting, rather than the entire set...
void HC_Edit_PolyCylinder_Points(Key key, int offset, int delete_count, int insert_count, Point const points[])
Edits an existing polycylinder by inserting or deleting its points.
int HC_PShow_Net_Camera_Field(int key_count, Key const path_keys[], float *width, float *height)
Returns the net effective setting along a discrete segment path.
void HC_Show_Selection_Keys_Count(int *count)
Finds the number of keys for a given selection. This is useful in determining the size of the data st...
void HC_Show_Image_Format(Key key, char *format)
Returns the underlying format of the raster data in the provided image.
Key HC_Reference_Geometry_Key_By_Ke(Key target_segment, Key reference_key)
Similar to Reference_Geometry(), but operates on the segment identified by target_segment instead of ...
void HC_Show_Shell_Size(Key key, int *pcount, int *flist_length)
Finds the size of a given shell. This is useful in determining the size of the data structures that m...
bool HC_PShow_Net_Line_Style_Size(int count, Key const keys[], char const *name, int *size)
Similar to Show_Line_Style_Size(), but returns the net effective value along a discrete segment path...
void HC_DShow_Sphere(Key key, DPoint *center, double *radius, DVector *axis, DVector *ortho)
Similar to Show_Sphere(), but returns double-precision data.
void HC_Show_Cylinder(Key key, Point *p1, Point *p2, float *radius, char *cap)
Returns the previous definition of a cylinder, as referenced by a key.
void HC_MSet_Vertex_Normals(Key key, int offset, int count, Vector const normals[])
Speedily sets the drawing attributes on a large number of shell, mesh, or polycylinder vertices...
int HC_Compute_Selection_By_Area(char const *display, char const *start_seg, char const *action, double left, double right, double bottom, double top)
Similar to Compute_Selection(), but operates on a rectangular area.
void HC_Show_One_Color_By_Index(char const *type, int *index)
Similar to Show_One_Color(), but returns the value of a single attribute in the currently open segmen...
void HC_Dolly_Camera(double right, double up, double in)
One of a set of routines to manipulate one's point of view. "Dolly" moves the "camera" left and right...
int HC_Show_Existence_By_Key(Key key, char const *filter)
Similar to Show_Existence(), but operates on an object referenced by an HC_KEY.
Key HC_Insert_Unicode_Text(double x, double y, double z, unsigned short const text[])
Insert encoded text as an array of short integers.
void HC_Zoom_Camera(double zoom)
Narrows or enlarges the viewing field of the camera.
void HC_Show_Color_By_Value(char *types, char *colorspace, float *a, float *b, float *c)
Returns the numerically-defined colors of objects in the currently open segment.
bool HC_DCompute_Point_On_Shell(DPoint const *test_point, double tolerance, int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Compute_Point_On_Shell, but operates on double-precision data.
void HC_Begin_Texture_Search(void)
These routines recall all the defined texture names.
void HC_Show_Selection_Original_Key(Key *key)
Returns the original HOOPS key to a renumbered selection object.
void HC_Show_Conditional_Named_Style(Key style_key, char *style_name, char *condition)
void HC_Show_Line_Style_Size(char const *style, int *size)
Returns the size of the line style that has been set on the currently open segment.
void HC_Show_Color_Map_Length(int *value)
Returns the size of the color map that has been set on the currently open segment.
void HC_Show_Edge_Pattern_Explicit(char *pattern)
Returns the explicit edge pattern that has been set on the currently open segment.
void HC_Define_Color_Name(char const *name, char const *er_name, char const *ish_name, char const *definition)
Adds a new color name (for example, "VERMILION") to the existing colors in the system's tables (for e...
void HC_Move_Text(Key key, double x, double y, double z)
Changes the location, in object space, of a previously-inserted Text item.
void HC_Show_PolyCylinder(Key key, int *p_count, Point pts[], int *r_count, float radii[], char *capping)
Returns the previous definition of a polycylinder, as referenced by a key.
void HC_Begin_Error_Handler_Search()
Finds all currently defined error handlers.
void HC_DShow_Camera(DPoint *position, DPoint *target, DVector *up, double *width, double *height, char *projection)
Similar to Show_Camera() but accepts double-precision values. This command should be used in conjunct...
void HC_Scale_Texture(double u, double v, double w)
Gives the appearance of enlarging or reducing the size of a surface's texture map by scaling the refe...
void HC_Show_Variable_Marker_Size(char *size)
Show the current variable marker size setting.
void HC_Show_Shell_Face_Count(Key key, int *face_count)
Returns the number of faces in the shell in constant time.
void HC_DEdit_PolyCylinder_Radii(Key key, int offset, int delete_count, int insert_count, double const radii[])
Similar to Edit_PolyCylinder_Radii, but operates on double-precision data.
bool HC_Find_Named_Style(char *style_name)
Retrieves the style names, one at a time. The function returns false when all objects have been retur...
void HC_Set_Text_Path(double x, double y, double z)
Allows you to alter the direction in which text strings run.
bool HC_PShow_Net_Line_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Line_Pattern(), but returns the net effective setting along a discrete segment path...
int HC_MShow_Spec_Face_Normals_W_Ex(Key key, int count, int const indices[], char existence[], Vector normals[])
Returns the normal settings from an arbitrary set of faces without having to open each face...
void HC_Set_Default_Glyphs_By_Key(Key target_segment)
Similar to Set_Default_Glyphs() but operates on a key rather than an open segment.
Key HC_DInsert_Spot_Light(DPoint const *position, DPoint const *target, char const *list)
Similar to Insert_Spot_Light(), but accepts double-precision values for points.
bool HC_PShow_Net_Face_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Face_Pattern(), but returns the net effective setting rather than the local one...
void HC_MShow_Region_Faces_Count(Key key, int region, int *face_count)
bool HC_PShow_Net_Color_Map_Count(int key_count, Key const path_keys[], int *count)
Similar to Show_Color_Map_Count(), but returns the net effective value of the attribute(s) along a pa...
int HC_Show_Selection_Position(float *window_x, float *window_y, float *window_z, float *camera_x, float *camera_y, float *camera_z)
Shows the position that has just been used to select something. The position is returned in terms of ...
void HC_MShow_Character_Attributes(Key key, int offset, int count, char *options)
Returns attributes from a given text string on a per-character basis.
bool HC_Find_Open_Item(Key *key, char *type, int *offset1, int *offset2)
Retrieves the open items in a segment tree, one at a time. The function returns false when all items ...
bool HC_PShow_Net_User_Value(int key_count, Key const path_keys[], intptr_t *data)
void HC_DCompute_Matrix_Product(double const matrix1[], double const matrix2[], double out_matrix[])
Similar to Compute_Matrix_Product(), but operates on double-precision data.
void HC_Set_User_Data(intptr_t index, void const *data, long data_length)
This function allows the user to associate binary data with a segment or piece of geometry in the dat...
bool HC_Write_Metafile(char const *segment, char const *file, char const *options)
Writes the information in a segment out into a disk file.
void HC_UnSet_Handedness(void)
Removes all settings established by a previous call to Set_Handedness().
bool HC_PShow_One_Net_User_Option(int count, Key const keys[], char const *type, char *value)
void HC_Define_Alias(char const *name, char const *expansion)
Permits a "shorthand" name to be used in place of a longer proper name of a segment.
void HC_MSet_Face_Visibilities(Key key, int offset, int count, char const settings[])
Sets the visibility of a range of faces at once.
Key HC_Insert_Shell_From_Region(Key key1, int region, char const *options)
Creates a new shell containing the points and faces (and any associated attributes) in an existing sh...
void HC_Define_System_Options(char const *list)
Controls non-graphics system behavior.
void HC_MShow_Face_Visibilities(Key key, int offset, int count, char settings[])
void HC_UnSet_User_Value(void)
void HC_Begin_Shader_Search(void)
These routines recall the name of each shader.
void HC_Show_Spot_Light(Key key, Point *position, Point *target, char *list)
Returns a full description of the "spot light" referenced by a key.
void HC_Show_Circular_Wedge(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular wedge, as referenced by a key.
void HC_MShow_Specific_Edge_Vis(Key key, int count, int const indices1[], int const indices2[], char settings[])
void HC_Set_Edge_Pattern_Explicit(char const *pattern)
Applies line style and inner joins options to the edges of polygons, circles, ellipses, shells, and meshes.
void HC_DEdit_Circular_Chord(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Chord(), but operates on double-precision data.
void HC_UnSet_Window(void)
Removes all settings established by a previous call to Set_Window().
void HC_Edit_Sphere(Key key, Point const *center, double radius, Vector const *axis, Vector const *ortho)
Edits a sphere object as it sits in the database without deleting and re-inserting.
void HC_DEdit_Sphere(Key key, DPoint const *center, double radius, DVector const *axis, DVector const *ortho)
Similar to Edit_Sphere(), but operates on double-precision data.
void HC_MShow_Face_Colors_By_FIndex(Key key, int offset, int count, float findices[])
Returns face color settings from a contiguous range of faces without having to open geometry...
void HC_Show_Color_Map_Count(int *count)
Shows the number of entries in the current virtual color map.
void HC_Show_Text(Key key, float *x, float *y, float *z, char *text)
Returns the position, size, and contents of a previously defined text string, as referenced by a key...
bool HC_PShow_Net_Shape_Size(int count, Key const keys[], char const *name, int *size)
void HC_DCompute_Translation_Matrix(double x, double y, double z, double out_matrix[])
Similar to Compute_Translation_Matrix(), but operates on double-precision data.
int HC_DShow_Intersect_Polyline_Size(int pcount1, DPoint const points1[], int flist_length3, int const face_list1[], int pcount2, DPoint const points2[], int flist_length2, int const face_list2[], int *polyline_count, int *polyline_points_count)
bool HC_PShow_Net_Window_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Window_Pattern(), but returns the net effective setting along a discrete segment path...
void HC_Show_Font_Count(int *count)
Finds out how many font names will be returned. This is useful for determining the size of a data str...
bool HC_PShow_Net_Line_Pattern_Exp(int count, Key const keys[], char *pattern)
Similar to Show_Line_Pattern_Explicit(), but returns the net effective setting along a discrete path ...
Key HC_Insert_Circular_Wedge(Point const *point1, Point const *point2, Point const *point3)
Generates a wedge shaped polygon representing a portion of a circle.
Key HC_DInsert_Shell(int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Insert_Shell() but accepts double-precision values for points.
void HC_Begin_Local_Texture_Search(void)
Begins a texture search on the currently open segment.
void HC_Show_Faces(int *face_count, int faces[])
Show faces associated with the currently open region.
bool HC_Show_Attribute_Filter(Key key, char *filter)
void HC_Define_Glyph(char const *name, int data_size, char const data[])
Describes a set of simple geometries which can be later used to define a custom marker, edge, or line style.
Key HC_Conditional_Reference_By_Key(Key geom_key, char const *condition)
Similar to Conditional_Reference(), but references a particular item, rather than a segment and all o...
void HC_MShow_Vertex_Parameter_Size(Key key, int *number)
int HC_Show_Intersect_Polyline_Size(int pcount1, Point const points1[], int flist_length3, int const face_list1[], int pcount2, Point const points2[], int flist_length2, int const face_list2[], int *polyline_count, int *polyline_points_count)
Finds the size of the intersecting polyline. This is useful for determining the size of a data struct...
void HC_Begin_Named_Style_Search(void)
Used to locate all named styles previously defined by Define_Named_Style().
void HC_UnSet_One_Heuristic(char const *which)
Removes a given setting established by a previous call to Set_Heuristics(), rather than all settings...
bool HC_PShow_Net_Color_Map_Length(int count, Key const keys[], int *value)
Similar to Show_Color_Map(), but returns the net effective setting along a discrete segment path...
bool HC_DCompute_Polygon_Plane(int count, DPoint const points[], char const *hand, DPlane *out_plane)
Similar to Compute_Polygon_Plane, but operates on double-precision data.
void HC_Show_Parameter_Size(int *size)
Returns the size of the list array. Always three (3) for now.
void HC_UnSet_Bounding_Volume(void)
Forces HOOPS to recalculate the bounding volume used by HOOPS to circumscribe the geometry within a s...
int HC_DCompute_Selection_By_Swpt_S(char const *action, char const *start_seg, Key shellkey, int number_of_sweeps, double const matrices[], char const *options)
Similar to Compute_Selection_By_Swept_Shell(), but operates on double-precision data.
void HC_Flush_Contents(char const *segment, char const *filter)
Empties some or all of the drawing primitives, attributes, or subsegments from a segment.
void HC_DShow_Cutting_Section(Key key, int *count, DPlane planes[])
Similar to Show_Cutting_Section(), but operates on double-precision cutting sections.
void HC_Edit_Text_Leader(Key key, double x, double y, double z, char const *options)
void HC_Set_Unicode_Options(unsigned short const *options)
Stores a double byte character string in the currently opened segment.
void HC_Show_Selection_Location(float *xw, float *yw, float *xc, float *yc, float *zc)
bool HC_PShow_One_Net_Callback_WD(int count, Key const keys[], char const *callback_point, char *callback, void **data)
Returns the net effective setting of a single callback along a path of segment specified by an array ...
void HC_Show_One_User_Option_Length(char const *which, int *length)
Similar to Show_User_Options_Length(), but returns the value of a single attribute in the currently o...
void HC_MUnSet_Character_Attributes(Key key, int offset, int count, char const *options)
Un-sets text attributes established in a previous call to MSet_Character_Attributes.
void HC_Show_Distant_Light(Key key, float *di, float *dj, float *dk)
Returns the direction of a "distant light", as referenced by a key.
void HC_Show_Shell_Tristrip_Count(Key key, int *tristrip_count)
Returns the tristrip count for a shell after it has been prepared for rendering.
int HC_MShow_Vertex_Normals_W_Ex(Key key, int offset, int count, char existence[], Vector normals[])
bool HC_PShow_Net_Marker_Size(int key_count, Key const path_keys[], float *size)
Similar to Show_Marker_Size(), but returns the net effective setting along a discrete segment path...
void HC_Move_Key_By_Key(Key key, Key newowner)
Moves a single geometric primitive or segment from one segment to another. Locally renumbered keys re...
Key HC_Named_Style_Segment(char const *style_name)
Requests that the current segment be drawn in the style of the segment associated with the given name...
void HC_Edit_Elliptical_Arc(Key key, Point const *center, Point const *major, Point const *minor, double start, double end)
Edits an elliptical arc as it sits in the database.
void HC_MShow_Specific_Face_Vis(Key key, int count, int const indices[], char settings[])
Similar to MShow_Specific_Face_Visibilities() which shows the visibility settings for a precise list ...
void HC_DEdit_Circular_Wedge(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circular_Wedge(), but operates on double-precision data.
void HC_DShow_Grid(Key key, char *type, DPoint *origin, DPoint *ref1, DPoint *ref2, int *count1, int *count2)
Similar to Show_Grid(), but returns double-precision values.
bool HC_PShow_Net_User_Indices(int key_count, Key const path_keys[], int *count, long *indices, void **values)
Similar to Show_User_Indices(), but returns the net effective settings along a discrete segment path...
void HC_UnDefine_Font(char const *name)
Removes all settings established by a previous call to Define_Font().
int HC_Compute_Selection(char const *display, char const *start_seg, char const *action, double x, double y)
Forces the explicit computation and generation of selection events.
bool HC_DFilter_Circumcuboid_By_Key(Key segKey, char const *options, DPoint *min, DPoint *max)
Similar to Filter_Circumcuboid(), but operates on an object referenced by an HC_KEY.
int HC_DCompute_Selection_By_Ray(char const *action, char const *start_seg, DPoint const *start_point, DVector const *direction)
Similar to Compute_Selection_By_Ray(), but operates on double-precision data.
void HC_Show_Selectability(char *list)
Returns a list of the selectability options that have been set on the currently open segment...
void HC_Show_Camera_Projection(char *projection)
Returns the viewing camera's projection.
void HC_Set_Marker_Symbol(char const *symbol)
Changes the screen icon used to represent graphical "markers" in the scene.
Key HC_Compute_Boolean_Shell(int target_pcount, Point const target_points[], Vector const target_normals[], int target_flist_length, int const target_face_list[], int tool_pcount, Point const tool_points[], Vector const tool_normals[], int tool_flist_length, int const tool_face_list[], char const *options)
Performs one of several boolean operations on two shells. IMPORTANT NOTE: This routine is primarily m...
void HC_MSet_Character_Attributes(Key key, int offset, int count, char const *options)
Allows developers to set text attributes on a per-character basis within a text string.
void HC_MShow_Specific_Face_Normals(Key key, int count, int const indices[], Vector normals[])
Shows the normal values for a list of faces.
void HC_DShow_Area_Light(Key key, int *ucount, DPoint upoints[], char *listptr)
Similar to Show_Area_Light, but operates on double-precision data.
void HC_Compute_Text16_From_Text(char const *intext, char const *encoding, int *outcount, unsigned short outtext16[])
Converts from integer-array representations of 16-bit characters to string representations.
void HC_End_Color_Name_Search(void)
Terminates the color name search sequence and frees any involved memory.
void HC_DShow_Polygon(Key key, int *count, DPoint points[])
Similar to Show_Polygon(), but returns double-precision values.
bool HC_PShow_One_Net_User_Opt_Len(int count, Key const keys[], char const *which, int *length)
Similar to Show_One_User_Option() but returns the net settings along a discrete path.
void HC_Compute_Translation_Matrix(double x, double y, double z, float out_matrix[])
void HC_Show_Text_Region_Count(int *count)
Finds the number of points in a text region. This is useful in determining the size of the data struc...
bool HC_Show_Bounding_Cuboid(Point *min, Point *max)
Returns the cuboid used by HOOPS to circumscribe the geometry within a segment.
void HC_Show_Polygon(Key key, int *count, Point points[])
Returns the vector of points along the edge of the polygon referenced by a key.
bool HC_Update_One_Display_Timed(char const *segment, double time)
Limit the amount of time allowed for an update.
void HC_Edit_Circle_By_Radius(Key key, Point const *center, double radius, Vector const *vector)
Generates a flat, infinitely thin, colored-in circular object.
void HC_DShow_Cutting_Plane(Key key, double *a, double *b, double *c, double *d)
Similar to Show_Cutting_Plane(), but returns double-precision values.
void HC_UnDefine_Exit_Handler(Void_Routine handler)
Removes all settings established by a previous call to Define_Exit_Handler().
bool HC_Compute_Color(char const *name, char const *out_type, RGB *out_value)
Allows access to the color-conversion routines used internally in HOOPS.
int HC_Collect_Area_Samples(double left, double right, double bottom, double top)
Gathers all objects that have been drawn in the selection area, and prepares them to be returned to t...
bool HC_Parse_String(char const *string, char const *delimiter, int offset, char *token)
A utility routine for extracting delimited strings from longer strings.
void HC_DEdit_Marker(Key key, double x, double y, double z)
Similar to Edit_Marker(), but operates on double-precision data.
bool HC_DFilter_Circumsphere(char const *segment, char const *options, DPoint *center, double *radius)
Similar to Filter_Circumsphere(), but operates on double-precision data.
void HC_Edit_Polyline(Key key, int offset, int ndelete, int insert, Point const points[])
Adjusts the contents of a previously declared polyline.
void HC_DEdit_NURBS_Curve(Key key, int cp_offset, int knot_offset, int cp_count, int knot_count, DPoint const control_points[], float const weights[], float const knots[])
Similar to Edit_NURBS_Curve() but accepts double-precision values.
void HC_Show_Camera_Position(float *x, float *y, float *z)
Returns the viewing camera's position.
void HC_DShow_Shell(Key key, int *point_countp, DPoint points[], int *face_list_lengthp, int face_list[])
Similar to Show_Shell(), but returns double-precision values.
int HC_MShow_Face_Vis_W_Ex(Key key, int offset, int count, char existence[], char visibilities[])
Shows the visibility settings for a range of faces.
intptr_t HC_Memory_Usage_By_Key(Key key, char const *which)
int HC_DCompute_Points_Distance_FS2(int test_pcount, DPoint const test_pt[], double tolerance, int point_count1, DPoint const points1[], int face_list_length3, int const face_list1[], const char *options, double results[], int face_results[])
void HC_Open_Trim(int offset)
Readies an item on the trim list for editing or querying.
void HC_Show_Polyline_Count(Key key, int *count)
Finds the number of points in a given polyline. This is useful in determining the size of the data st...
void HC_UnSet_One_Visibility(char const *which)
Removes a given setting established by a previous call to Set_Visibility(), rather than all settings...
void HC_DEdit_Text_Leader(Key key, double x, double y, double z, char const *options)
void HC_Open_Segment_By_Key(Key key)
Similar to Open_Segment(), but operates on an object referenced by an HC_KEY.
void HC_Set_Faces(int first_face, int face_count)
Adds a specified range of shell faces to an open region.
void HC_UnDefine_Shader(char const *iname)
Removes the shader code associated with the passed name.
Key HC_Insert_Spot_Light(Point const *position, Point const *target, char const *list)
Inserts a directional "point" source of light into your scene.
Key HC_Insert_String_Cursor(Key text_key, int row, int column)
Places a cursor into a text string.
void HC_Show_Faces_Count(int *face_count)
Finds the number of faces in a given region. This is useful in determining the size of the data struc...
void HC_Set_Line_Weight(double weight)
Makes simple lines and polylines broader or narrower than normal.
void HC_End_Open_Segment_Search(void)
Terminates the segment search sequence and frees any involved memory.
void HC_Show_Line(Key key, float *xa, float *ya, float *za, float *xb, float *yb, float *zb)
Returns the endpoints of the line, as referenced by a key.
void HC_Show_Color_Map_By_Value(char *color_space, int *count, RGB values[])
Returns the color map that has been set on the currently open segment by a previous call to Set_Color...
bool HC_PShow_Net_Selectability(int key_count, Key const path_keys[], char *list)
Similar to Show_Selectability() but returns the net settings along a discrete path.
Key HC_Generate_Shell_From_Geometry(Key geom, char const *options)
bool HC_Compute_Text_Extent_By_Path(int count, Key const keys[], char const *text, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent(), but concatenates the matrices along a segment path rather than the ...
void HC_Show_Unicode_Text(Key key, float *x, float *y, float *z, unsigned short text[])
Returns the position, size, and contents of a previously-defined unicode text string, as referenced by a key.
void HC_Show_Rendering_Options(char *list)
Returns a list of the rendering options that have been set on the currently open segment.
void HC_UnSet_Driver_Options(void)
Removes all settings established by a previous call to Set_Driver_Options().
void HC_DZoom_Camera(double zoom)
Similar to Zoom_Camera, but operates on a double precision camera.
void HC_MShow_Vertex_Visibilities(Key key, int offset, int count, char settings[])
bool HC_PShow_Net_User_Index_Count(int key_count, Key const keys[], int *count)
Similar to Show_User_Index_Count(), but returns the net effective size rather than the local one...
void HC_Define_Highlight(int count, Key const keys[], char const *style, char const *options)
Specifies a method of highlighting an item.
bool HC_Find_Callback_Name(char *name)
Retrieves the callback names, one at a time. The function returns false when all aliases have been re...
void HC_Edit_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Edits a line object as it sits in the database, without deleting and reinserting. ...
int HC_Compute_Selection_By_Shell(char const *action, char const *start_seg, int point_count, Point const points[], int face_list_length, int const face_list[])
Forces a selection event between the supplied shell and a specified portion of a segment tree...
void HC_Show_Text_Size(float *value)
void HC_Show_Camera_Up_Vector(float *x, float *y, float *z)
Returns the viewing camera's up-vector.
void HC_DTranslate_Object(double x, double y, double z)
Similar to Translate_Object(), but operates on double-precision data.
void HC_Edit_Text(Key key, int row, int column, int erase, int ndelete, char const *new_text)
Manipulate the characters in a previously defined string.
Key HC_DInsert_Image_By_Ref(double x, double y, double z, char const *format, int width, int height, const void *data)
Similar to Insert_Image_By_Ref(), but operates on double-precision data.
bool HC_Find_Open_Segment(char *segment)
Retrieves the segments, one at a time. The function returns false when all segments have been returne...
void HC_Set_Face_Pattern(char const *pattern)
Allows a pattern to be applied to surfaces in the scene.
void HC_MUnSet_Vertex_Visibilities(Key key, int offset, int count)
Removes per-vertex visibility settings of a range of vertices at once. This allows the shell or mesh ...
Key HC_DInsert_Infinite_Ray(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Infinite_Ray() but accepts parameters of type double for increased precision...
void HC_UnDefine_Local_Texture(char const *texture_name)
Remove a texture definition on the currently open segment.
void HC_Edit_NURBS_Surface_Knots(Key key, int u_knot_offset, int v_knot_offset, int u_knot_replace_count, int v_knot_replace_count, float const u_knots[], float const v_knots[])
Edits only the knots of in a NURBS surface.
void HC_Show_Conditional_Include(Key key, char *pathname, char *conditions)
Returns the pathname and valid conditions that have been established by a previous call to Conditiona...
void HC_Show_Priority_Range(Key key, int *low, int *high)
Returns the lowest and highest priority subsegments within a segment identified by key...
void HC_Control_Update(char const *segment, char const *options)
Controls the amount of redrawing for the subsequent update.
Key HC_Conditional_Named_Style_By_Key(Key target_segment, char const *style_name, char const *condition)
void HC_Set_Camera_By_Volume(char const *projection, double xmin, double xmax, double ymin, double ymax)
Sets up the Camera so that the screen will show one simple rectangular box extracted from the infinit...
void HC_DShow_Clip_Region(int *loopCount, int loopSizeArray[], DPoint points[], char *options)
Similar to Show_Clip_Region(), but returns double-precision data.
void HC_Show_Line_Pattern_Explicit(char *pattern)
Returns the explicit line pattern that has been set on the currently open segment.
void HC_Show_Handedness(char *value)
Returns the type of Cartesian coordinate system that has been set on the currently open segment...
void HC_Optimize_Segment_Tree_By_Key(Key segkey, char const *option_string)
Similar to Optimize_Segment_Tree(), but operates on a segme.
Key HC_Include_Segment_Key_By_Key(Key key, Key includer_key)
Similar to Include_Segment_By_Key(), but inserts the include into a the segment associated with the p...
void HC_Show_Segment_Count(int *count)
Finds out how many segments will be returned. This is useful for determining the size of a data struc...
void HC_Regenerate_LOD(char const *segment, char const *options)
Throws away any existing LODs in the provided segment tree and regenerates them according to the supp...
Key HC_Create_Segment_Key_By_Key(Key parent_segment, char const *child_segment_name)
Similar to Create_Segment(), but inserts a new segment into the segment associated with the passed ke...
void HC_Modify_Color_Map_By_Value(int offset, char const *color_space, int count, RGB const values[])
Similar to Modify_Color_Map() but operates with a color values rather than names or map indices...
Key HC_Insert_Mesh_By_Ref(int rows, int columns, Point const points[])
void HC_Set_Complex_Clip_Region(int loops, int const lengths[], Point const points[], char const *options)
Defines a complex clip region in the segment tree.
void HC_DSet_Camera_Position(double x, double y, double z)
Similar to Set_Camera_Position(), but operates on double-precision cameras.
void HC_Show_User_Value(intptr_t *data)
void HC_Set_Handedness(char const *value)
Changes the Cartesian world coordinate system from "left-handed" to "right-handed" and back again...
void HC_Show_Color_Map(char *colors)
Returns the color map that has been set on the currently open segment by a previous call to Set_Color...
void HC_DCompute_Scale_Matrix(double x, double y, double z, double out_matrix[])
Similar to Compute_Scale_Matrix, but operates on double-precision data.
Key HC_Show_Renumbered_Key(Key key, char *status)
Returns the key value of an object after it was renumbered.
void HC_Show_Mesh_Size(Key key, int *rows, int *columns)
Finds the size of a given mesh. This is usefule in determining the size of the data structure that mu...
void HC_DCompute_Pline_From_Crv_Size(Key key, char const *options, int *pcount)
Similar to Compute_Polyline_From_Curve, but operates on double-precision data.
void HC_Create_Trim_Collection(void)
Creates a trim collection object without opening it or otherwise defining it.
void HC_Show_Character_Attribute_Cou(Key key, int *count)
Returns the number of characters in a given text string that have per-character attributes.
void HC_DShow_Partial_Shell(Key key, int voffset, int vcnt, DPoint points[], int foffset, int fcnt, int *flist_length, int face_list[])
void HC_DCompute_Identity_Matrix(double out_matrix[])
Similar to Compute_Identity_Matrix(), but operates on double-precision data.
Key HC_Conditional_Style_By_Key(Key seg_key, char const *conditions)
Similar to Conditional_Style(), but accepts a key rather than a pathname to identify the segment to b...
Key HC_DInsert_Text_With_Encoding(double x, double y, double z, char const *encoding, void const *text)
Similar to Insert_Text_With_Encoding() but accepts double-precision values.
void HC_UnSet_One_Condition(char const *condition)
Removes a given condition established by a previous call to Set_Conditions().
bool HC_Update_Display_Timed(double time)
Executes Update_Display and returns true if completed within a given interval.
void HC_Show_Shader(char const *name, char *definition, char *shader_source)
Returns the options and source associated with the shader whose name was passed.
void HC_Show_String_With_Encoding(char *encoding, void *text)
Similar to Show_String(), but operates on encoded text rather than Latin1 text.
Key HC_Insert_Text(double x, double y, double z, char const *text)
Puts lettering into the current segment, and thence into the picture.
bool HC_DCompute_Circumcuboid(char const *segment, DPoint *min, DPoint *max)
Similar to Compute_Circumcuboid, but accepts double-precision parameters.
void HC_Set_Variable_Marker_Size(char const *size)
Defines marker sizes that scale in a similar manner to other geometric primitives.
Key HC_DInsert_Sphere(DPoint const *center, double radius, DVector const *axis, DVector const *ortho)
Similar to Insert_Sphere(), but operates on double-precision data.
void HC_UnSet_User_Indices(void)
void HC_Begin_Decimate_Shell(Key key)
void HC_Rollback_Ink(int count)
Removes vertices added to a polyline via Insert_Ink().
void HC_Show_Trim_Operation(int index, char *operation)
Shows the type of trimming currently associated with an object in the trim list.
bool HC_Find_Highlight(int *count, Key keys[], char *options)
Returns the next highlight that was collected.
void HC_Show_Region(int region[])
Show the region associated with the currently open face.
Key HC_DInsert_Circle_By_Radius(DPoint const *center, double radius, DVector const *normal)
void HC_DSet_Bounding_Sphere(DPoint const *center, double radius)
Similar to Set_Bounding_Sphere(), but operates on double-precision data.
bool HC_PShow_One_Net_Text_Font(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Text_Font() but returns the net settings along a discrete path.
bool HC_Find_Font(char *name)
Retrieves the font names, one at a time. The function returns false when all aliases have been return...
void HC_DShow_Text_Region(int *count, DPoint points[], char *options)
Key HC_Insert_Circular_Arc(Point const *point1, Point const *point2, Point const *point3)
Generates a portion of the circumference of a circle.
bool HC_PShow_One_Net_Shader_Option(int count, Key const keys[], char const *name, char const *opt, char *output)
Returns the value of the requested option set for a specific shader.
void HC_Set_Window_Frame(char const *flag)
Causes the system to automatically delineate any windows encountered.
void HC_MShow_Vertex_Colors_By_FInd(Key key, char const *type, int offset, int pcount, float indices[])
bool HC_PShow_One_Net_Condition(int count, Key const keys[], char const *condition, char *options)
Similar to Show_One_Condition() but returns the net effective value along a discrete segment path...
void HC_UnSet_Camera_Near_Limit(void)
Removes the hither camera plane value set by a previous call to Set_Camera_Limit().
void HC_DShow_Partial_Mesh(Key key, int row_offset, int col_offset, int row_count, int col_count, DPoint points[])
void HC_Close_Trim(void)
Closes the session that began with an opening call to Open_Trim().
void HC_Relinquish_Memory(void)
Returns temporary memory (kept internally by HOOPS) to the system.
void HC_Show_Modelling_Matrix(float matrix[])
Returns the modelling matrix that has been set on the currently open segment.
Key HC_Insert_Text_Leader(Key ownerkey, double x, double y, double z, char const *options)
Inserts a leader line.
int HC_Gather_Capping_Geometry(int key_count, Key const path_keys[], Key cut_key, char const *options)
Collects capping geometry generated by cutting planes. Geometry is deposited into the currently open ...
void HC_Show_One_Text_Font(char const *type, char *value)
Similar to Show_Text_Font() but returns a single setting, rather than the entire set.
void HC_Set_Texture_Matrix(float const matrix[])
Allows direct specification of the transformation that is applied against all vertex parameters in th...
void HC_Show_Pathname_Expansion(char const *pathname, char *expansion)
Identifies the full absolute pathname corresponding to a relative pathname.
bool HC_Find_Error_Handler(Void_Routine *handler)
Retrieves the address of the registered error handlers one at a time.
void HC_Define_Texture(char const *texture_name, char const *definition)
Assigns a name to a set of texture mapping options.
void HC_Show_Compressed_Image_Size(Key key, char *format, int *width, int *height, int *size)
Finds the size of a particular image, This is useful in determining the size of the data structure th...
void HC_DShow_NURBS_Surface(Key key, int *u_degree, int *v_degree, int *u_count, int *v_count, DPoint points[], float weights[], float u_knots[], float v_knots[])
Similar to Show_NURBS_Surface() but operates on double-precision values.
bool HC_PShow_Net_Edge_Weight(int key_count, Key const path_keys[], float *weight)
Similar to Show_Edge_Weight(), but returns the net effective setting along a discreet segment path...
Key HC_Conditional_Include(char const *include, char const *condition)
bool HC_PShow_Net_PBR_Material(int count, Key const *keys, char *base_color_map, char *normal_map, char *emissive_map, char *metalness_map, int *metalness_map_channel, char *roughness_map, int *roughness_map_channel, char *occlusion_map, int *occlusion_map_channel, RGBA *base_color_factor, float *normal_factor, float *metalness_factor, float *roughness_factor, float *occlusion_factor, float *alpha_factor, char *options)
Shows the net physically-based rendering material on a segment with the attributes specified...
void HC_Close_Edge(void)
Closes the session that began with an opening call to Open_Edge().
Key HC_Compute_Boolean_Shell2(int in_pt_count_target, Point const in_pts_target[], Vector const in_normals_target[], int in_flist_len_target, int const in_flist_target[], int in_pt_count_tool, Point const in_pts_tool[], Vector const in_normals_tool[], int in_flist_len_tool, int const in_flist_tool[], char const *option_string, RGB const *in_color1, RGB const *in_color2, unsigned char const in_vis1[], unsigned char const in_vis2[])
bool HC_Find_Glyph(char *name)
Retrieves the glyph names, one at a time. The function returns false when all glyphs have been return...
void HC_Show_NURBS_Curve_Size(Key key, int *degree, int *cp_count, int *weight_count, int *knot_count)
Finds the size of a given NURBS curve. This is useful in determining the size of the data structure t...
bool HC_PShow_One_Net_Selectability(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Selectability() but returns the net settings along a discrete path...
bool HC_Filter_Circumsphere_By_Path(int count, Key const keys[], char const *options, Point *center, float *radius)
Similar to Filter_Circumsphere(), but operates on a keypath instead of a single segment.
void HC_Close_Segment(void)
Closes the currently open segment.
void HC_DEdit_Elliptical_Arc(Key key, DPoint const *center, DPoint const *major, DPoint const *minor, double start, double end)
Similar to Edit_Elliptical_Arc(), but operates on double-precision data.
void HC_End_Exit_Handler_Search()
Terminates the exit handler search sequence and frees any memory involved .
bool HC_DCompute_Polyline_From_Curve(Key key, char const *options, int *pcount, DPoint points[])
Similar to Compute_Polyline_From_Curve(), but operates on double-precision data.
void HC_Show_Highlight_Count(int *count, int *max_length)
Returns the number of distinct highlights collected, and the maximum number of keys that will be retu...
void HC_Show_One_Driver_Option(char const *type, char *value)
Similar to Show_Driver_Options() but returns a single option rather than the entire set...
void HC_Show_Texture(char const *texture, char *definition)
Shows the definition of a texture.
void HC_Show_Button_Source(char *keyboard, char *button, int *status)
Returns the keyboard-device segment and the button specification that gave rise to the current button...
void HC_Set_Priority(Key key, int priority)
Overrides the default drawing priority automatically assigned by HOOPS.
void HC_UnSet_Edge_Weight(void)
Removes all settings established by a previous call to Set_Edge_Weight().
void HC_Compute_Optimized_Shell(int pcount, Point const points[], Vector const normals[], int flist_length, int const face_list[], char const *options, int *new_pcount, Point new_points[], int *new_flist_length, int new_face_list[], int point_mapping_list[], int face_mapping_list[])
Performs one of several computations to prepare shell data for improved rendering performance...
void HC_End_Highlight_Search(void)
Discards any remaining results from this search.
void HC_Edit_Shell_Points(Key key, int offset, int ndelete, int insert, Point const points[])
Changes or deletes vertex points of a previously declared shell, or adds new points.
Key HC_DInsert_Cylinder(DPoint const *center_point_1, DPoint const *center_point_2, double radius, char const *cap)
Similar to Insert_Cylinder(), but accepts parameters of type double for increased precision...
void HC_Show_Region_Range(Key key, int *lowest, int *highest)
Return the range of region numbers associated with a given shell.
Key HC_Insert_Line(double xa, double ya, double za, double xb, double yb, double zb)
Adds a simple line segment to the current graphics segment.
void HC_MShow_Face_Colors_By_Value(Key key, int offset, int count, RGB rgb[])
Returns face color settings from a contiguous range of faces without having to open geometry...
bool HC_Compute_Polygon_Plane(int count, Point const points[], char const *hand, Plane *out_plane)
bool HC_Compute_Text_Extent_By_Key(Key key, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent(), but operates on text referenced by an HC_KEY.
bool HC_PShow_Net_Marker_Symbol(int key_count, Key const path_keys[], char *symbol)
Similar to Show_Marker_Symbol(), but returns the net effective setting along a discrete segment path...
bool HC_DFilter_Circumcuboid(char const *segment, char const *options, DPoint *min, DPoint *max)
Similar to Filter_Circumcuboid(), but operates on double-precision data.
int HC_Show_Existence_Unicode(unsigned short const *filter)
A utility routine used to determine whether one or more unicode user options exist within a segment...
int HC_Show_Segment_Name_Length(Key key)
int HC_DPShow_Net_Camera_By_Volume(int count, Key const keys[], char *proj, double *xmin, double *xmax, double *ymin, double *ymax)
Similar to PShow_Net_Camera_By_Volume(), but operates on double-precision cameras.
Key HC_Insert_Cutting_Section(int count, Plane const planes[])
Creates a special piece of geometry which "cuts away" a portion of the scene.
long HC_PShow_One_Net_User_Data(int count, Key const keys[], intptr_t index, void *data, long data_length)
Similar to Show_One_User_Data() but returns the net effective settings along a discrete segment path...
void HC_Show_Location_Source(char *locater, char *display, char *action, int *status)
Returns the locater-device segment and the user action that gave rise to the current location event...
int HC_DPShow_Net_Modelling_Matrix(int key_count, Key const path_keys[], double matrix[])
Similar to PShow_Net_Modelling_Matrix(), but operates on double-precision modelling matrices...
void HC_Edit_Cylinder(Key key, Point const *p1, Point const *p2, double radius, char const *cap)
Edits a cylinder object as it sits in the database without deleting and reinserting.
void HC_Set_Camera_Position(double x, double y, double z)
Sets up your viewing tripod within the framework of the scene you've created.
void HC_Begin_Shell_Selection(void)
Begins a mode of operation whereby calls to Compute_Selection_By_Shell cache intermediate data in ord...
bool HC_Show_Bounding_Cuboid_By_Key(Key key, Point *min, Point *max)
Similar to Show_Bounding_Cuboid(), but operates on an object referenced by an HC_KEY.
bool HC_DShow_Bounding_Sphere(DPoint *center, double *radius)
Similar to Show_Bounding_Sphere(), but operates on double-precision data.
void HC_Delete_Trim(int index)
Deletes a trim object from the trim list.
void HC_Compute_Triangulation(Point const points[], int flist_length, int const face_list[], int *tlist_length, int triangle_list[])
Provides a triangle based tesselation of a HOOPS Shell which can contain facets which have more than ...
int HC_DPShow_Net_Camera(int key_count, Key const path_keys[], DPoint *position, DPoint *target, DVector *up, double *width, double *height, char *projection)
Similar to PShow_Net_Camera(), but operates on double-precision cameras.
void HC_Show_Conditional_Style(Key key, char *pathname, char *conditions)
Returns the pathname and valid conditions that have been established by a previous call to Conditiona...
void HC_Show_Text_Count(Key key, int *count)
Finds the number of characters in a given text string, as reference by a key.
void HC_Set_Rendering_Options(char const *list)
Allows you to control how carefully and accurately your scene is drawn, and to enable several special...
void HC_Begin_Glyph_Search(void)
These routines recall all the defined glyph names.
void HC_DEdit_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Similar to Edit_Line(), but operates on double-precision data.
bool HC_DShow_Circular_Center(Key key, double *x, double *y, double *z)
Similar to Show_Circular_Center(), but operates on double-precision data.
void HC_End_Glyph_Search(void)
Terminates the glyph search sequence and frees any involved memory.
Key HC_Open_Segment_Key_By_Key(Key parent_segment, char const *child_segment_name)
Similar to Open_Segment(), but opens a child segment under parent_segment instead of the currently op...
void HC_DEdit_Polyline(Key key, int offset, int ndelete, int insert, DPoint const points[])
Similar to Edit_Polyline(), but accepts double-precision values.
Key HC_Insert_NURBS_Curve(int degree, int cpcount, Point const control_points[], float const weights[], float const knots[], double start_u, double end_u)
Key HC_Insert_PolyCylinder(int p_count, Point const pts[], int r_count, float const radii[], char const *capping)
Create a polycylinder from a 3D array of points and an array of radii.
void HC_MShow_Net_Vertex_Normals(Key key, int offset, int count, Vector normals[])
void HC_Compute_Offaxis_Rotation(double x, double y, double z, double theta, float out_matrix[])
void HC_Edit_PolyCylinder_Radii(Key key, int offset, int delete_count, int insert_count, float const radii[])
Edits an existing polycylinder by inserting or deleting its points.
void HC_UnSet_Priority(Key key)
void HC_End_Named_Style_Search(void)
Terminates a named style search sequence and frees any involved memory.
void HC_Show_Camera_By_Volume(char *projection, float *xmin, float *xmax, float *ymin, float *ymax)
Returns the simple rectangular box in user data space as set in a previous call to Set_Camera_By_Volu...
void HC_Show_Alias(char const *alias, char *expansion)
Returns the expansion of a given alias.
void HC_Show_Selection_Source(char *locater, char *picture, char *action, int *status)
Returns the locater-device segment, the picture segment, and the user action that gave rise to the cu...
void HC_MSet_Spec_Face_Col_By_Value(Key key, int count, int const indices[], char const *color_space, RGB const values[])
Sets the drawing attributes on an arbitrary set of shell or mesh faces speedily.
int HC_PShow_Net_Clip_Region_Size(int count, Key const keys[], int *loopCount, int *totalPointCount, char *spec)
Similar to Show_Clip_Region_Size(), but returns the net effective value of the attribute(s) along a p...
bool HC_PShow_Net_Var_Edge_Weight(int count, Key const keys[], char *weight)
Similar to Show_Variable_Edge_Weight(), but returns the net effective setting along a discrete segmen...
int HC_MShow_Spec_Vert_Normals_W_Ex(Key key, int count, int const indices[], char existence[], Vector normals[])
void HC_Show_Open_Item_Count(int *count)
Finds out how many items will be returned. This is useful for determining the size of a data structur...
void HC_Show_Texture_Matrix(float matrix[])
Returns the transformation that has been set against all vertex parameters in the scope of the curren...
Key HC_Compute_Swept_Shell(Key shellkey, Vector const *direction_in, Key *front_key, Key *back_key, Key *side_key, char const *options)
Sweeps an existing shell along a defined path to create new shells that containes the swept volume...
Key HC_Style_Segment(char const *style)
"Styles" the currently open segment to be drawn in the style of the referenced ones.
bool HC_Show_One_Color_By_Value(char const *type, char *color_space, float *a, float *b, float *c)
Similar to Show_One_Color(), but returns the value of a single attribute in the currently open segmen...
void HC_Show_NURBS_Curve(Key key, int *degree, int *cp_count, Point points[], float weights[], float knots[], float *start_u, float *end_u)
Returns the previous definition of a NURBS curve, as referenced by a key.
void HC_Show_NURBS_Surface_Size(Key key, int *u_degree, int *v_degree, int *u_count, int *v_count, int *weights_count, int *u_knots_count, int *v_knots_count)
Returns the definition of an existing NURBS surface, as referenced by a key.
void HC_Show_String_Length(int *length)
Finds the number of bytes in the string the user has just finished typing in.
bool HC_PShow_Net_Texture(int count, Key const keys[], char const *name, char *output, Key *out_image)
Returns the net effective texture definition and image instead of the local one.
Key HC_DCompute_Boolean_Shell(int in_pt_count_target, DPoint const in_pts_target[], Vector const in_normals_target[], int in_flist_len_target, int const in_flist_target[], int in_pt_count_tool, DPoint const in_pts_tool[], Vector const in_normals_tool[], int in_flist_len_tool, int const in_flist_tool[], char const *option_string, RGB const *in_color1, RGB const *in_color2, unsigned char const in_vis1[], unsigned char const in_vis2[])
Similar to Compute_Boolean_Shell(), but accepts and returns double-precision values.
void HC_Define_Error_Handler(Void_Routine handler)
Creates a legal name for an error handler that captures HOOPS error reports.
int HC_MShow_Face_Colors_With_Ex(Key key, char const *geometry, int offset, int count, char result_type[], float index_colors[], RGB rgb_colors[])
Returns face color settings from a range of faces without having to open each face.
void HC_Show_Heuristics(char *list)
Returns the heuristic settings that have been made on the currently open segment. ...
int HC_PShow_Net_Camera(int key_count, Key const path_keys[], Point *position, Point *target, Vector *up, float *width, float *height, char *projection)
Returns the net effective setting along a discrete segment path.
Key HC_Generate_Poly_From_Geometry(Key geom, char const *options)
Generates a polyline based on a specified curve.
bool HC_Compute_Normalized_Vector(Vector const *vector, Vector *out_vector)
Key HC_Create_Segment(char const *segment)
Brings a segment into existence without opening it.
void HC_Flush_Attributes(char const *segment)
Flushes attributes from a segment but leaves styles, geometry, segments, and subsegments.
Key HC_DInsert_Text(double x, double y, double z, char const *text)
Similar to Insert_Text(), but accepts parameters of type double for increased precision. Unlike Insert_Text, the parameters are not truncated.
void HC_Show_Unicode_Options(unsigned short *options)
Show the unicode user options string stored on the currently open segment.
void HC_Show_Partial_Shell(Key key, int voffset, int vcnt, Point points[], int foffset, int fcnt, int *flist_length, int face_list[])
Returns a portion of the previous definition of a shell, as referenced by a key.
void HC_Show_Text_With_Encoding(Key key, float *x, float *y, float *z, char *encoding, void *text)
Similar to Show_Text, but operates on encoded text rather than Latin1 text.
bool HC_PShow_Net_Line_Style(int count, Key const keys[], char const *name, char *definition)
Similar to Show_Line_Style(), but returns the net effective value along a discrete segment path...
void HC_Move_By_Key(Key key, char const *newowner)
Moves a single geometric primitive or segment from one segment to another.
bool HC_DCompute_Polygon_Normal(int count, DPoint const points[], char const *hand, DVector *out_vector)
Similar to Compute_Polygon_Normal, but operates on double-precision data.
void HC_Show_One_Color_Map(int offset, char *color)
Shows a single entry in the current virtual color map.
void HC_Set_Window_With_Options(double left, double right, double bottom, double top, char const *list)
void HC_MSet_Spec_Vertex_Parameters(Key key, int count, int const indices[], int number_parameters, float const user_parameters[])
Sets the parameter values for a specific set of vertices on shell, mesh, or polycylinder.
bool HC_PShow_Net_Conditions_Length(int count, Key const keys[], int *length)
Similar to Show_Conditions_Length() but shows the net effective length along a discrete segment path...
double HC_DCompute_Matrix_Determinant(double const matrix[])
Similar to Compute_Matrix_Determinant(), but operates on double-precision data.
void HC_DCompute_Swept_Shell_Along_P(Key shellkey, int number_of_sweeps, double const matrices[], char const *options)
Similar to Compute_Swept_Shell_Along_Path(), but operates on double-precision data.
void HC_Edit_Cutting_Plane(Key key, double a, double b, double c, double d)
Modifies a cutting plane as it exists in the database.
bool HC_PShow_Net_Window_With_Options(int key_count, Key const path_keys[], float *left, float *right, float *bottom, float *top, char *list)
int HC_DCompute_Selection_By_Sh_W_O(char const *action, char const *start_seg, int point_count, DPoint const points[], int face_list_length, int const face_list[], char const *options)
Similar to Compute_Selection_By_Shell_With_Options(), but operates on double-precision data...
void HC_Compute_Swept_Shell_Along_P(Key shellkey, int number_of_sweeps, float const matrices[], char const *options)
Creates a new set of shells by sweeping a shell along a path.
void HC_Show_Font_Size(char const *name, char *options, int *data_length)
Finds the size in bytes of a particular font. This is useful in determining the size of the data stru...
bool HC_Compute_Point_On_Shell(Point const *test_point, double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[])
Tests whether a given point is on the surface of a shell.
void HC_UnSet_Selectability(void)
Removes all settings established by a previous call to Set_Selectability().
void HC_End_Line_Style_Search(void)
Terminates the line style search sequence and frees any involved memory.
void HC_Define_Exit_Handler(Void_Routine handler)
Allows the program a chance to "clean up" upon termination.
void HC_UnSet_Color_Map(void)
Removes all settings established by a previous call to Set_Color_Map().
void HC_UnSet_One_User_Index(long index)
Removes a given setting established by a previous call to Set_User_Options(), rather than all setting...
Key HC_DInsert_Compressed_Image(double x, double y, double z, char const *format, int width, int height, int size, void const *data)
void HC_MShow_Face_Regions_Count(Key key, int *face_count)
Finds the number of face regions in a shell. This is useful for determining the size of the data stru...
void HC_UnDefine_Shape(char const *name)
Deletes the shape definition, frees any memory allocated to the shape object, and triggers a redraw o...
bool HC_PShow_Net_Rendering_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_Rendering_Options() but returns the net settings along a discrete path...
void HC_Show_Text_Path(float *x, float *y, float *z)
Returns the text path that has been set on the currrently open segment.
void HC_Apply_Attribute_Filter(Key key, char const *filter)
Key HC_DInsert_Cutting_Section(int count, DPlane const planes[])
Similar to Insert_Cutting_Section(), but operates on double-precision data.
void HC_DEdit_Cutting_Section(Key key, int ioffset, int ndelete, int insert, DPlane const iplanes[])
Similar to Edit_Cutting_Section(), but operates on double-precision data.
void HC_Pan_Camera(double theta, double phi)
Sweeps the camera across its current scene.
void HC_Set_Variable_Line_Weight(char const *weight)
Defines weights for lines that scale in a similar manner to other geometric primitives.
void HC_MUnSet_Vertex_Colors2(Key key, char const *type, int offset, int count)
Removes vertex-specific color settings from a range of vertices with adjacent offsets based on type...
void HC_DShow_Circular_Wedge(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circular_Wedge(), but returns double-precision values.
void HC_UnSet_Text_Path(void)
Removes all settings established by a previous call to Set_Text_Path().
void HC_Open_Edge(int offset1, int offset2)
Prepares an edge within a shell or mesh for the local overriding of drawing attributes.
bool HC_Filter_Circumcuboid_By_Path(int count, Key const keys[], char const *options, Point *min, Point *max)
Similar to Filter_Circumcuboid(), but operates on a keypath instead of a single segment.
void HC_Show_Camera(Point *position, Point *target, Vector *up, float *width, float *height, char *projection)
Returns the complete specification of the viewing camera's position, orientation, and field of view...
void HC_Show_Image_Name(Key key, char *name)
Returns the name associated with an image key.
void HC_Show_Trim_Curve_Count(int index, int *degree, int *cp_count, int *w_count, int *knot_count)
Finds the number of points in a trim curve. This is useful in determining the size of the data struct...
Key HC_Show_Include_Segment(Key key, char *pathname)
Returns the segment that is referenced by an inclusion.
void HC_Show_Sphere(Key key, Point *center, float *radius, Vector *axis, Vector *ortho)
Returns the parameters of a sphere, as defined in a previous call to Insert_Sphere().
int HC_MShow_Spec_Face_Vis_W_Ex(Key key, int count, int const indices[], char existence[], char visibilities[])
Returns the visibility settings from an arbitrary set of faces without having to open each face...
int HC_PShow_Net_Camera_Target(int key_count, Key const path_keys[], float *x, float *y, float *z)
Returns the net effective setting along a specified path of keys rather than the local one...
void HC_Set_Default_Line_Styles_By_K(Key target_segment)
Similar to Set_Default_Line_Styles() but operates on a key rather than an open segment.
void HC_UnDefine_Glyph(char const *name)
Removes the glyph definintion established in a previous call to Define_Glyph().
void HC_Show_One_Callback_With_Data(char const *callback_point, char *callback, void **data)
Retrieves the data pointer that was passed in during a previous call to Set_Callback_With_Data().
void HC_Show_Selection_Elements_Coun(Key *key, int *count)
Finds the number of elements in a particular item in a selection list. This is useful in determining ...
void HC_Show_Area_Light_Count(Key key, int *count, char *listptr)
double HC_Compute_Dot_Product(Vector const *vector1, Vector const *vector2)
Takes two 3-D vectors and computes their scalar dot-product.
bool HC_PShow_One_Net_Color_Map(int count, Key const keys[], int offset, char *color)
Similar to Show_One_Color_Map(), but returns the net effective value of a single attribute along a pa...
void HC_Edit_Cutting_Section(Key key, int ioffset, int ndelete, int insert, Plane const iplanes[])
Modifies a cutting section as it exists in the database.
void HC_Show_Text_Alignment(char *locater)
Returns the text alignment settings that have been made on the currrently open segment.
Key HC_DInsert_PolyCylinder(int p_count, DPoint const pts[], int r_count, double const radii[], char const *capping)
Similar to Insert_PolyCylinder(), but operates on double-precision data.
void HC_Show_String_Source(char *keyboard, Key *cursor_key)
Returns the keyboard-device segment and cursor that gave rise to the current string event...
bool HC_Show_Priority(Key key, int *priority)
Returns the drawing priority corresponding to the given key.
void HC_Show_Partial_Mesh(Key key, int row_offset, int col_offset, int row_count, int col_count, Point points[])
Returns a portion of the previous definition of a mesh, as referenced by a key.
void HC_UnSet_Window_Frame(void)
Removes all settings established by a previous call to Set_Window_Frame().
bool HC_DShow_Bounding_Sphere_By_Key(Key key, DPoint *center, double *radius)
Similar to Show_Bounding_Sphere_By_Key(), but operates on double-precision data.
void HC_MSet_Specific_Edge_Vis(Key key, int count, int const indices1[], int const indices2[], char const settings[])
Sets per-edge visibility settings on multiple edges at once. This overrides the visibility settings i...
void HC_Close_LOD(void)
Closes the session that began with an opening call to Open_LOD().
void HC_Show_Callback_Name(char const *name, Void_Routine *callback)
Shows the definition of a callback name.
int HC_MShow_Vertex_Parameters_W_Ex(Key key, int offset, int count, char existence[], int *param_width, float user_parameters[])
void HC_Show_Key_Status(Key key, char *status)
Helps to maintain lists of valid keys.
void HC_Delete_Segment(char const *segment)
Throws away a segment when you no longer need it. Can also be used to shut down a display...
void HC_Show_Exit_Handler_Count(int *count)
Finds out how many exit handlers will be returned.
void HC_Bring_To_Front(char const *segment)
bool HC_PShow_Net_Edge_Pattern(int key_count, Key const path_keys[], char *pattern)
Similar to Show_Edge_Pattern(), but returns the net effective setting along a discrete segment path...
Key HC_Insert_Circle(Point const *point1, Point const *point2, Point const *point3)
Generates a flat, infinitely thin, filled circle.
void HC_DDolly_Camera(double x, double y, double z)
Similar to Dolly_Camera(), but operates on double-precision cameras.
void HC_Compute_Points_Inside_Shell(int test_point_count, Point const test_points[], Vector const test_points_vectors[], int point_count, Point const points[], int face_list_length, int const face_list[], char const *options, int results[])
Tests whether a given set of points reside within, on, or outside the volume defined by a shell...
Key HC_Insert_Ink(double x, double y, double z)
Utility routine to extend the "currently-being-inked-in" polyline.
Key HC_Reference_Geometry(char const *segname)
Directs HOOPS to create a reference to some geometry when processing a segment.
bool HC_PShow_One_Net_Color_By_Value(int count, Key const keys[], char const *type, char *color_space, float *a, float *b, float *c)
Similar to Show_One_Color(), but returns the net effective value of a single attribute along a path o...
void HC_Define_Shape(char const *name, int data_size, float const data[])
Defines a shape to be used for the background of a text annotation.
bool HC_DCompute_Normalized_Vector(DVector const *vector, DVector *out_vector)
void HC_Control_Update_Area_By_Key(Key key, double left, double right, double bottom, double top, char const *options)
Similar to Control_Update_Area(), but operates on an object referenced by an HC_KEY.
bool HC_DCompute_Circumsphere(char const *segment, DPoint *center, double *radius)
Similar to Compute_Circumsphere(), but operates on double-precision data.
void HC_Show_Selection_Elements(Key *key, int *count, int vertex1[], int vertex2[], int faces[])
Returns the key of the database element that was selected by the user, plus arrays of offsets describ...
Key HC_Conditional_Include_Key_By_Ke(Key key, char const *condition, Key includer_key)
Similar to Conditional_Include_By_Key(), but inserts the include into the segment associated with the...
void HC_Show_Glyph_Count(int *count)
Finds out how many glyphs will be returned. This is useful for determining the size of a data structu...
void HC_Set_Heuristics(char const *list)
Gives hints to the system about good short cuts to take during program execution. ...
void HC_Compute_Shell_Enclosure(int point_count1, Point const points1[], int face_list_length3, int const face_list1[], int point_count2, Point const points2[], int face_list_length2, int const face_list2[], char *result)
Classifies the relationship between the first shell and the second: "in", "out", and "clash"...
void HC_Show_Bounding_Info(char *list)
Identifies which type of bounding volume HOOPS is using to circumscribe geometry. ...
void HC_Show_Error_Handler_Count(int *count)
Finds out how many error handlers will be returned.
void HC_Set_User_Value(intptr_t data)
void HC_DShow_Circle_By_Radius(Key key, DPoint *center, double *radius, DVector *normal)
Similar to Show_Circle_By_Radius, but returns double-precision values.
void HC_Show_Partial_Polygon(Key key, int offset, int request, Point points[])
Returns a portion of the vector of points along the edge of a given polygon, as referenced by a key...
void HC_Record_Instance_Handle(void const *handle)
Registers the instance of the application with the HOOPS dynamic link library.
long HC_Show_One_User_Data(intptr_t index, void *data, long data_length)
Returns the user data that has been set on the currently open segment and associated with a specific ...
void HC_Show_Normal(float *x, float *y, float *z)
Returns the normal for the currently open vertex or face.
void HC_UnSet_Text_Spacing(void)
Removes all settings established by a previous call to Set_Text_Spacing().
int HC_PShow_Net_Camera_Up_Vector(int key_count, Key const path_keys[], float *x, float *y, float *z)
Returns the net effective setting along a discrete segment path.
void HC_Commit_Proxy(Key key, const char *options)
Key HC_Renumber_Key(Key oldkey, Key newkey, char const *scope)
Changes the key for a segment, include, style, or piece of geometry to a value more useful to your pr...
void HC_Set_Circular_Center_By_Key(Key key, double x, double y, double z)
Similar to Set_Circular_Center(), but operates on a piece of geometry identified by a key...
bool HC_PShow_Net_Heuristics(int key_count, Key const path_keys[], char *list)
Similar to Show_Heuristics(), but returns the net effective settings along a discrete segment path...
void HC_Set_Text_Region(int pCount, Point const points[], char const *options)
Allows the user to define a region into which the currently open text string will be fitted...
void HC_UnDefine_Error_Handler(Void_Routine handler)
Removes all settings established by a previous call to Define_Error_Handler().
void HC_Compute_Text_Outline(char const *segment, char const *text, int *pcount, Point points[], int *flist_length, int face_list[])
Calculates a polyhedral representation of the given text glyphs.
void HC_End_Shape_Search(void)
bool HC_Show_One_User_Index(long index, void **value)
Similar to Show_User_Index() but returns a single setting, rather than the entire set...
void HC_Compute_Offcenter_Rotation(double alpha, double beta, double theta, double x, double y, double z, float out_matrix[])
void HC_Show_Selection(char *segment)
Returns the name of the segment that was selected by the user.
void HC_Show_Window_With_Options(float *left, float *right, float *bottom, float *top, char *list)
void HC_Move_String_Cursor(Key key, int row, int column)
Changes the position of a previously created String Cursor.
void HC_Set_Text_Font(char const *list)
Chooses the character style to use for text.
void HC_End_Segment_Search(void)
Terminates the segment search sequence and frees any involved memory.
void HC_Compute_Scale_Matrix(double x, double y, double z, float out_matrix[])
void HC_UnSet_Streaming_Mode(void)
Removes all settings established by a previous call to Set_Streaming_Mode().
Key HC_Insert_Area_Light(int count, Point const points[], char const *listptr)
Inserts an area light.
Key HC_Conditional_Named_Style(char const *style_name, char const *condition)
Key HC_Show_Conditional_Reference(Key reference_key, char *conditions)
Returns the identifier of the original geometry or segment, and the conditions for the reference...
void HC_Show_Area_Light(Key key, int *ucount, Point upoints[], char *listptr)
Shows the points and options associated with the area light of the given key.
void HC_Set_Callback_With_Data(char const *callback, void const *data)
Allows the user to provide a pointer to some data that will be accessible from a callback. The data is accessible via a call to HIC_Show_Callback_Data from within the callback function.
void HC_Begin_Callback_Name_Search(void)
Finds the names of all previously defined callback routines.
void HC_Show_Window(float *left, float *right, float *bottom, float *top)
Returns the amount of screen used by the currently open segment upon display.
void HC_DEdit_Infinite_Ray(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Key HC_DInsert_Mesh_By_Ref(int rows, int columns, DPoint const points[])
Similar to Insert_Mesh_By_Ref(), but operates on double-precision data.
void HC_End_Alias_Search(void)
Terminates the alias search sequence and frees any involved memory.
bool HC_Evaluate_Condition(const char *expression, const char *conditions)
void HC_Delete_Specific_Shell_Points(Key key, int count, int const indices[])
Removes a specified set of points from the pointlist of a particular shell.
void HC_Show_Polygon_Count(Key key, int *count)
Finds the number of points in a given polygon. This is useful in determining the size of the data str...
int HC_PShow_Net_Camera_Projection(int key_count, Key const path_keys[], char *projection)
Returns the net effective setting along a discrete segment path specified with a set of keys...
void HC_Show_Font(char const *name, char *options, int *data_length, char *data)
Describes a specific set of simple geometry to be used as the actual shapes when drawing text charact...
void HC_Edit_NURBS_Surface(Key key, int cp_offset, int weights_offset, int u_knot_offset, int v_knot_offset, int cp_replace_count, int weights_replace_count, int u_knot_replace_count, int v_knot_replace_count, Point const points[], float const weights[], float const u_knots[], float const v_knots[])
Edits the properties of an existing NURBS surface.
void HC_Delete_By_Key(Key key)
Throws away a segment identified by key rather than by name, or throws away a particular geometry ite...
int HC_Show_Image_Bytes_Per_Pixel(Key key)
bool HC_Read_Metafile(char const *file, char const *segment, char const *options)
Reads a metafile into a segment from a file.
void HC_Compute_Pline_From_Crv_Size(Key key, char const *options, int *pcount)
Calculates and returns a the size of the tesselated curve, for use in a later call to Compute_Polylin...
void HC_Show_Shape(char const *name, float *data)
int HC_DPShow_Net_Camera_Field(int key_count, Key const path_keys[], double *width, double *height)
Similar to PShow_Net_Camera_Field(), but operates on double-precision cameras.
void HC_Move_Light_Target(Key key, double x, double y, double z)
Changes the location towards which a previously inserted "spot light" shines in user coordinates...
void HC_Set_Streaming_Mode(char const *flag)
Allows a segment to be dealt with in a "stream-of-consciousness" mode, in which setting an attribute ...
void HC_Determine_Highlight_Status(int count, Key const keys[], int results[], char const *list)
Determines if a particular key path invokes highlights.
void HC_Show_One_Rendering_Option(char const *type, char *value)
Similar to Show_Rendering_Options() but returns a single setting, rather than the entire set...
void HC_Show_String(char *text)
Returns the text string that caused the current string-input event.
void HC_Define_Named_Style_By_Key(char const *style_name, Key style_segment_key)
void HC_Begin_Line_Style_Search(void)
These routines recall all the defined line style names.
void HC_Set_Color(char const *color_spec)
Changes the color to be used when rendering the contents of a segment. Can also be used to select sur...
Key HC_Copy_Geometry(Key key, char const *segment)
Copies the geometry referred to by key to the given segment.
void HC_UnDefine_Line_Style(char const *name)
Removes a custom line style established by a previous call to Define_Line_Style().
void HC_Show_Clip_Region_Size(int *loopCount, int *totalPointCount, char *options)
Finds the size of a clip region. Use this function to determine the size of the data structure that m...
void HC_MUnSet_Face_Visibilities(Key key, int offset, int count)
Removes the per-face visibility settings of a range of faces at once. This allows the shell or mesh t...
void HC_Set_Color_Map(char const *colors)
Sets up the colors to be used when displaying images or "by index" color attributes.
int HC_DShow_Selection_Position(float *window_x, float *window_y, float *window_z, double *camera_x, double *camera_y, double *camera_z)
Similar to Show_Selection_Position(), but operates on double-precision data.
void HC_UnSet_Modelling_Matrix(void)
Removes all settings established by a previous call to Set_Modelling_Matrix().
void HC_Open_Vertex(int offset)
Prepares a vertex within a shell, mesh, or polycylinder for the local overriding of drawing attribute...
bool HC_PShow_One_Net_Driver_Option(int count, Key const keys[], char const *type, char *value)
Show_One_Driver_Option() but returns the net settings along a discrete path.
void HC_Rotate_Texture_Offaxis(double x, double y, double z, double theta)
Rotates the represented texture coordinates (vertex parameters) about an arbitrary axis...
void HC_Show_Compressed_Image(Key key, float *x, float *y, float *z, char *format, int *width, int *height, int *size, void *data)
Returns the pixel data associated with provided image key. This API should only be used if the underl...
void HC_Edit_Marker(Key key, double x, double y, double z)
Edits a marker object as it sits in the database.
void HC_UnSet_Conditional_Actions(void)
Removes all the actions in the current segment.
void HC_UnSet_Marker_Size(void)
Removes all settings established by a previous call to Set_Marker_Size().
Key HC_PShow_Net_Named_Style(int count, Key const path_keys[], char const *style_name, char *style_segment_name)
Similar to Show_Named_Style(), but returns the net effective value along a discrete segment path...
void HC_DShow_Text_Leader(Key key, double *x, double *y, double *z, char *options)
void HC_Compute_Matrix_Adjoint(float const matrix[], float out_matrix[])
float HC_Compute_Selection_Dist_By_Sh(char const *action, char const *start_segment, int pcount, Point const points[], int flist_length, int const faces[], const char *options)
Computes the closest distance between the specified shell and another geometric primitive within a HO...
void HC_Show_One_Callback(char const *callback_point, char *callback_name)
Similar to Show_Callback(), but returns the setting of a single callback point in the currently open ...
void HC_Show_Device_Info(char const *driver, char const *item, char *data)
Returns selected information about the physical device.
void HC_Show_Partial_Polyline(Key key, int offset, int request, Point points[])
Returns a portion of the vector of points along a given polyline, as referenced by a key...
void HC_Edit_NURBS_Curve(Key key, int cp_offset, int knot_offset, int cp_count, int knot_count, Point const control_points[], float const weights[], float const knots[])
Modifies the control points, weights, and/or knots of a previously-inserted NURBS curve...
int HC_Compute_Intersect_Polyline(int pcount1, Point const points1[], int flist_length3, int const face_list1[], int pcount2, Point const points2[], int flist_length2, int const face_list2[], int *polyline_count, int polyline_lengths[], int *polyline_points_count, Point polyline_points[])
Calculates the polyline of intersection between the faces of one shell and those of another...
void HC_Show_Color_By_Index(char *types, int *index)
Returns the color map indices used to render the contents of the currently open segment.
void HC_Abort_Program(char const *message)
Function to create a map linking PrcIds and A3DEntities.
void HC_MShow_Net_Face_Normals(Key key, int offset, int count, Vector normals[])
Similar to MShow_Face_Normals(), but returns the net effective normals set on the faces of some geome...
void HC_Compute_Cross_Product(Vector const *vector1, Vector const *vector2, Vector *out_vector)
Computes the cross product of two vectors.
void HC_Show_Time(float *time)
Returns the time elapsed in the current program execution.
void HC_Close_Geometry(void)
Closes the session that began with an opening call to Open_Geometry().
int HC_DCompute_Selection_By_Shell(char const *action, char const *start_seg, int point_count, DPoint const points[], int face_list_length, int const face_list[])
Similar to Compute_Selection_By_Shell(), but operates on double-precision data.
void HC_DShow_Camera_Position(double *x, double *y, double *z)
Similar to Show_Camera_Position(). This command should be used in conjunction with other double-preci...
bool HC_Compute_Text_Extent(char const *segment, char const *text, float *xsize, float *ysize)
Finds out what the dimensions are for a given text string.
void HC_Reset_System(void)
Performs a complete master reset of the HOOPS system.
Key HC_Generate_Edges(Key geom, char const *options)
Generates a set of shell/mesh edges and inserts them into the HOOPS segment tree. ...
void HC_Edit_NURBS_Surface_Points(Key key, int cp_offset, int cp_replace_count, Point const points[])
Edits only the control points in a NURBS surface.
bool HC_PShow_Net_Camera_Near_Limit(int count, Key const keys[], float *limit)
Populates the wlimit with the net effective near camera limit value along a path of segments specifie...
bool HC_Compute_Text_Extent_With_Enc(char const *segment, char const *encoding, void const *text, float *xfrac, float *yfrac)
Similar to Compute_Text_Extent() but operates on encoded text rather than Latin1 text.
void HC_MSet_Spec_Vert_Col_By_FIndex(Key key, char const *types, int count, int const offsets[], float const indices[])
Sets the color on an arbitrary set of shell, mesh, or polycylinder vertices.
double HC_Compute_Vector_Angle(Vector const *vector, Vector const *vector2)
void HC_Show_Line_Pattern(char *pattern)
Returns the line pattern that has been set on the currently open segment.
Key HC_Insert_Cutting_Plane(double a, double b, double c, double d)
Creates a special geometric object that "cuts away" part of the normal scene.
void HC_Show_Polyline(Key key, int *count, Point points[])
Returns the vector of points along the polyline, as referenced by a key.
Key HC_Insert_Grid(char const *type, Point const *origin, Point const *ref1, Point const *ref2, int count1, int count2)
Generates a flat array of edges, faces, and/or markers.
Key HC_Insert_Polygon(int count, Point const points[])
Generates a simple flat, infinitely thin, colored-in object.
void HC_UnSet_One_Callback(char const *callback)
Removes a given callback setting established by a previous call to Set_Callback(), rather than all settings.
bool HC_Find_Contents(char *type, Key *key)
Retrieves the object keys, one at a time. The function returns false when all objects have been retur...
void HC_Set_Default_Glyphs()
Defines all default glyphs in the currently open segment.
void HC_UnSet_One_Color(char const *which)
Removes a given setting established by a previous call to Set_Color(), rather than all settings...
void HC_Show_Grid(Key key, char *type, Point *origin, Point *ref1, Point *ref2, int *count1, int *count2)
Retrieves the original definition of a grid.
bool HC_Compute_Text_Metrics(int count, Key const *keys, char const *encoding, void const *text, char const *options, int *size, float values[])
void HC_MShow_Vertex_Normals(Key key, int offset, int count, Vector normals[])
void HC_UnSet_Texture_Matrix(void)
Removes all settings established by a previous call to Set_Texture_Matrix().
void HC_Show_String_Count(int *count)
Finds the number of characters in the string the user has just finished typing in.
Key HC_Open_Segment(char const *segment)
Readies a segment to receive drawing commands. (Also useful when several attributes all need changing...
void HC_MShow_Specific_Vert_Normals(Key key, int count, int const indices[], Vector normals[])
void HC_Show_Circular_Arc(Key key, Point *point1, Point *point2, Point *point3)
Returns the three points used to define the circular arc, as referenced by a key. ...
void HC_Compute_Screen_Extent_By_Key(Key segKey, char const *options, float *left, float *right, float *bottom, float *top)
Similar to Compute_Screen_Extent(), but operates on an object referenced by an HC_KEY.
void HC_Open_LOD(int level)
Allows user to open a LOD representation for the purpose of manually inserting a LOD.
void HC_MSet_Specific_Vertex_Vis(Key key, int count, int const indices[], char const settings[])
Sets per-vertex visibility settings on several individual vertices at once. This overrides the visibi...
void HC_MSet_Spec_Vert_Col_By_Value(Key key, char const *types, int count, int const offsets[], char const *color_space, RGB const values[])
Sets the color on an arbitrary set of shell, mesh, or polycylinder vertices.
void HC_Compute_Screen_Extent(char const *segment, char const *options, float *left, float *right, float *bottom, float *top)
Calculates a screen-space box that fully encloses the segment referred to by the supplied segment pat...
bool HC_PShow_One_Net_Heuristic(int count, Key const keys[], char const *type, char *value)
Similar to Show_One_Heuristic() but returns the net settings along a discrete path.
Key HC_Named_Style_Segment_By_Key(Key target_segment, char const *style_name)
Similar to Named_Style_Segment() but operates on a key rather than an open segment.
void HC_Restart_Ink(void)
Makes sure that the next Insert_Ink request in the current segment starts a brand-new line...
Key HC_Show_Original_Key(Key key)
Returns the original (non-renumbered) version of a key.
void HC_UnSet_Window_Pattern(void)
Removes all settings established by a previous call to Set_Window_Pattern().
void HC_DSet_Polygonal_Clip_Region(int count, DPoint const points[], char const *options)
Similar to Set_Polygonal_Clip_Region(), but operates on double-precision data.
bool HC_PShow_One_Net_Color(int count, Key const keys[], char const *type, char *color)
Similar to Show_One_Color(), but returns the net effective value of a single attribute along a path o...
void HC_Show_Cutting_Section_Count(Key key, int *count)
Returns the number of plane-defining quadruplets in planes.
void HC_Begin_Highlight_Search(int count, Key const keys[], char const *list)
Searches for all highlights.
void HC_UnDefine_Alias(char const *name)
Removes all settings established by a previous call to Define_Alias().
void HC_Edit_Infinite_Ray(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Modifies an existing infinite ray.
void HC_Show_Edge_Weight(float *weight)
Returns the edge weight that has been set on the currently open segment.
bool HC_PShow_Net_Line_Weight(int key_count, Key const path_keys[], float *weight)
Similar to Show_Line_Weight(), but returns the net effective setting along a discrete segment path...
void HC_DSet_Camera_Up_Vector(double x, double y, double z)
Similar to Set_Camera_Up_Vector(). This command should be used in conjunction with other double-preci...
void HC_Edit_Circular_Chord(Key key, Point const *point1, Point const *point2, Point const *point3)
Edits a circular chord as it sits in the database.
void HC_Compute_Text_Outline_With_En(char const *segment, char const *encoding, void const *etext, int *pcount, Point points[], int *flist_length, int face_list[])
Similar to Compute_Text_Outline(), but operates on encoded text rather than Latin1 text...
void HC_UnSet_Clip_Region(void)
Removes all clip regions set by a previous call to Set_Polygonal_Clip_Region()
void HC_Show_Color(char *color_spec)
Returns the named color(s) used to render the contents of the currently open segment.
void HC_Close_Region(void)
Closes the session that began with an opening call to Open_Region().
void HC_Set_Window_Pattern(char const *pattern)
Specifies the patterned texture to use for window backgrounds.
void HC_Show_Elliptical_Arc(Key key, Point *center, Point *major, Point *minor, float *start, float *end)
Returns the three points and two distances used to define the elliptical arc referenced by a key...
void HC_Compute_Text_From_Text16(int incount, unsigned short const intext16[], char const *encoding, char *outtext)
Converts from string to integer-array representations of 16-bit characters.
void HC_MSet_Vertex_Colors_By_Value4(Key key, char const *geometry, int offset, char const *color_space, int count, RGBA const values[])
Sets the color on a contiguous range of shell, mesh, or polycylinder vertices.
void HC_DCompute_Points_Inside_Shell(int test_point_count, DPoint const test_points[], DVector const test_points_vectors[], int point_count, DPoint const points[], int face_list_length, int const face_list[], char const *options, int results[])
void HC_Pause(void)
Updates the screen, suspends the program, and allows the user to have a look at the screen while it w...
void HC_DShow_Circle(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circle(), but returns double-precision values.
void HC_Report_Error(int category, int specific, int severity, int msgc, char const *const *msgv, int stack_c, char const *const *stack_v)
Performs the default HOOPS error printing/displaying.
Key HC_DInsert_Shell_By_Tristrips(int pcount, DPoint const points[], int tristrips_length, int const tristrips[], int face_indices_length, int const face_indices[])
Similar to Insert_Shell_By_Tristrips(), but operates on double-precision data.
void HC_Begin_Segment_Search(char const *segspec)
Finds all segments matching a search specification.
bool HC_DFilter_Circumsphere_By_Path(int count, Key const keys[], char const *options, DPoint *center, double *radius)
Similar to Filter_Circumsphere_By_Path(), but operates on double-precision data.
void HC_Show_Partial_Image(Key key, int xpos, int ypos, int xlen, int ylen, void *data)
Returns a user-specified rectangular array of pixel data, as referenced by a key. ...
Key HC_Decimate_Shell(int quality_percent, char const *options)
void HC_MShow_Specific_Vertex_Vis(Key key, int count, int const indices[], char settings[])
Key HC_Create_Proxy(Key key)
Key HC_DInsert_Mesh(int rows, int columns, DPoint const points[])
Similar to Insert_Mesh(), but accepts parameters of type double for increased precision. Unlike Insert_Marker, the parameters are not truncated.
void HC_DSet_Circular_Center(double x, double y, double z)
Similar to Set_Circular_Center(), but operates on double-precision circular geometry.
bool HC_Find_Exit_Handler(Void_Routine *handler)
Retrieves the font names, one at a time. The function returns false when all aliases have been return...
void HC_MUnSet_Spec_Vertex_Colors2(Key key, char const *type, int count, int const indices[])
Removes vertex-specific color settings from a set of vertices with arbitrary offsets based on type...
void HC_Show_Contents_Count(int *count)
Finds out how many objects will be returned. This is useful for determining the size of a data struct...
void HC_Define_Font(char const *name, char const *options, int data_length, char const data[])
Describes a specific set of simple geometry to be used as the actual shapes when drawing text charact...
void HC_Edit_Ellipse(Key key, Point const *center, Point const *major, Point const *minor)
Edits an ellipse as it sits in the database.
void HC_MSet_Specific_Face_Vis(Key key, int count, int const indices[], char const settings[])
Sets the visibility of a list of specific of faces at once.
double HC_DCompute_Dot_Product(DVector const *vector1, DVector const *vector2)
Similar to Compute_Dot_Product, but operates on double-precision data.
void HC_End_Shell_Selection(void)
Terminates the shell selection sequence and frees any involved memory..
void HC_MUnSet_Face_Normals(Key key, int offset, int count)
Removes the normal values for a range of faces at once. This allows the shell or mesh to inherit segm...
void HC_Show_Driver_Options(char *list)
Returns a list of the driver options that have been set on the currently open segment.
int HC_Compute_Selection_By_Polygon(char const *display, char const *start_seg, char const *action, int pcount, Point const points[])
Similar to Compute_Selection(), but operates on a polygonal area.
bool HC_PShow_One_Net_User_Index(int count, Key const keys[], long index, void **value)
Similar to Show_One_Net_User_Index() but returns the net settings along a discrete path...
void HC_Set_Camera_Projection(char const *type)
Lets you control how your 3-dimensional scene is to be converted to 2 dimensions for viewing...
Key HC_DInsert_Infinite_Line(double xa, double ya, double za, double xb, double yb, double zb)
Similar to Insert_Infinite_Line() but accepts parameters of type double for increased precision...
void HC_End_Contents_Search(void)
Terminates the object search sequence and frees any involved memory.
void HC_MShow_Partial_Face_Regions(Key key, int first_face, int face_count, int regions[])
int HC_Compute_Points_Distance_F_Sh(int test_point_count, Point const test_points[], double tolerance, int point_count, Point const points[], int face_list_length, int const face_list[], const char *options, float results[])
Calculates the closest distance between a given set of points and a shell.
void HC_Set_Line_Pattern_Explicit(char const *pattern)
Applies line style, caps, joins and arrow options on a line or polyline to be set directly...
int HC_MShow_Vertex_Vis_W_Ex(Key key, int offset, int count, char existence[], char visibilities[])
void HC_DShow_Circular_Arc(Key key, DPoint *point1, DPoint *point2, DPoint *point3)
Similar to Show_Circular_Arc(), but returns double-precision values.
void HC_Open_Region(int region)
Prepares a defined shell region for modification.
Key HC_DInsert_Shell_By_Ref(int pcount, DPoint const points[], int flist_length, int const face_list[])
Similar to Insert_Shell_By_Ref(), but operates on double-precision data.
void HC_Set_Explicit_Color(char const *type, char const *channel, Point const *rgb, char const *texture, char const *options)
Allows the specific channel, RGB, and texture components of a color definition to be set separately...
void HC_DShow_Shell_By_Tristrips(Key key, int *point_countp, DPoint points[], int *tristrip_list_lengthp, int tristrip_list[], int *face_indices_lengthp, int face_indices[])
Similar to Show_Shell_By_Tristrips(), but operates on double-precision data.
void HC_DShow_Partial_Polygon(Key key, int offset, int request, DPoint points[])
void HC_DEdit_Cylinder(Key key, DPoint const *p1, DPoint const *p2, double radius, char const *cap)
Similar to Edit_Cylinder(), but operates on double-precision data.
void HC_UnSet_Camera(void)
Removes all settings established by a previous call to Set_Camera().
void HC_DCompute_Cross_Product(DVector const *vector1, DVector const *vector2, DVector *out_vector)
Similar to Compute_Cross_Product, but operates on double-precision data.
void HC_Set_Color_Map_By_Value(char const *color_space, int count, RGB const values[])
Similar to Set_Color_Map(), but operates with a color values rather than names or map indices...
void HC_Set_Camera_Target(double x, double y, double z)
Determines what your viewing camera is looking at.
Key HC_Insert_Marker(double x, double y, double z)
Inserts a single marker symbol at the specified location in your scene.
bool HC_PShow_Net_Text_Alignment(int key_count, Key const path_keys[], char *locater)
Similar to Show_Text_Alignment(), but returns the net effective setting along a discrete segment path...
void HC_Show_One_Visibility(char const *type, char *value)
Similar to Show_Visibility() but returns a single setting, rather than the entire set...
void HC_Show_Text_Spacing(float *spacing)
Returns the text spacing that has been set on the currrently open segment.
void HC_MSet_Spec_Face_Col_By_FIndex(Key key, int count, int const indices[], float const findices[])
Sets the drawing attributes on an arbitrary set of shell or mesh faces speedily.
Key HC_Insert_Image(double x, double y, double z, char const *format, int width, int height, const void *data)
Inserts a pixel-based image in the HOOPS Visualize database.
void HC_Show_Button(char *button)
Returns the name of the button that initiated the current event.
void HC_UnSet_Callback(void)
Removes all settings established by a previous call to Set_Callback().
void HC_MShow_Spec_Face_Col_By_Value(Key key, int count, int const indices[], RGB rgb[])
Returns face color settings from an arbitrary set of faces without having to open geometry...
bool HC_DCompute_Transform(char const *segment, char const *in_system, char const *out_system, double matrix[])
Similar to Compute_Transform(), but operates on double-precision data.
int HC_MShow_Spec_Vertex_Params_W_E(Key key, int count, int const specific_vertices[], char existence[], int *param_width, float user_parameters[])
void HC_DEdit_Circle(Key key, DPoint const *point1, DPoint const *point2, DPoint const *point3)
Similar to Edit_Circle(), but operates on double-precision data.
void HC_Show_Optimized_Mapping(char const *segname, char const *direction, Key in_owner, Key in_key, int in_region, Key *out_owner, Key *out_key, int *out_region)
Allows a user to map a piece of geometry between an old segment tree and a new segment tree (or vice-...
void HC_Set_Visibility(char const *list)
Allows another level of control in determining whether a segment is visible. Useful for flicking grap...
void HC_UnSet_Line_Pattern(void)
Removes all settings established by a previous call to Set_Line_Pattern().
void HC_UnSet_Color(void)
Removes all settings established by a previous call to Set_Color() from the current level of the segm...
void HC_Define_Named_Style(char const *style_name, char const *source_segment)
Defines a name that can be used to draw other segments in the style of the source.
int HC_DCompute_Points_On_Shell(int test_point_count, DPoint const test_points[], double tolerance, int point_count, DPoint const points[], int face_list_length, int const face_list[], int results[])
Similar to Compute_Points_On_Shell, but operates on double-precision data.
void HC_Edit_Infinite_Line(Key key, double xa, double ya, double za, double xb, double yb, double zb)
Modifies an existing infinite line.
void HC_Control_Update_Area(char const *segment, double left, double right, double bottom, double top, char const *options)
Similar to Control_Update(), but operates on the objects within a defined window area.
Key HC_Conditional_Reference(char const *segname, char const *condition)
Directs HOOPS to create a reference to some geometry when processing a segment, subject to meeting th...
void HC_Bring_To_Front_By_Key(Key key)
Similar to Bring_To_Front(), but operates on an object referenced by an HC_KEY.
void HC_Edit_Circular_Arc(Key key, Point const *point1, Point const *point2, Point const *point3)
Modifies a circular arc as it sits in the database.
bool HC_Show_System_Info(char const *type, char *value)
Provides information on the capabilities of the HOOPS library in use.
void HC_DEdit_PolyCylinder_Points(Key key, int offset, int delete_count, int insert_count, DPoint const points[])
Similar to Edit_PolyCylinder_Points, but operates on double-precision data.
void HC_DShow_Marker(Key key, double *x, double *y, double *z)
Similar to Show_Marker, but returns double-precision values.
bool HC_PShow_Net_Var_Line_Weight(int count, Key const keys[], char *weight)
Similar to Show_Variable_Line_Weight(), but returns the net effective setting along a discrete segmen...
void HC_DShow_Cylinder(Key key, DPoint *p1, DPoint *p2, double *radius, char *cap)
Similar to Show_Cylinder(), but operates on double-precision data.
void HC_Show_Marker_Size(float *size)
Returns the marker scale that has been set on the currently open segment.
bool HC_PShow_Net_Window_Frame(int key_count, Key const path_keys[], char *flag)
Similar to Show_Window_Frame(), but returns the net effective setting along a discrete segment path...
void HC_Compute_Triangulation_Size(Point const points[], int flist_length, int const face_list[], int *tlist_length)
Similar to Compute_Triangulation(), but returns triangle list size for use in allocating space for tr...
int HC_DCompute_Selection_By_Key(char const *action, char const *start_seg, Key key, double const matrix[])
int HC_QShow_Existence(char const *segment, char const *filter)
Similar to Show_Existence(), but operates on a given segment rather than the currently open one...
bool HC_PShow_Net_Text_Font(int key_count, Key const path_keys[], char *options)
Similar to Show_Text_Font(), but returns the net effective settings along a discrete segment path...
void HC_DCompute_Shell_Enclosure(int point_count1, DPoint const points1[], int face_list_length3, int const face_list1[], int point_count2, DPoint const points2[], int face_list_length2, int const face_list2[], char *result)
void HC_UnSet_PBR_Material()
void HC_MSet_Face_Regions(Key key, int first_face, int face_count, int const regions[])
Maps a specified range of faces to a given set of regions.
bool HC_Show_Circular_Center(Key key, float *x, float *y, float *z)
Returns the center point of a given circle-based primitive.
bool HC_Filter_Circumsphere_By_Key(Key segKey, char const *options, Point *center, float *radius)
Similar to Filter_Circumsphere(), but operates on an object referenced by an HC_KEY.
Key HC_DInsert_Grid(char const *type, DPoint const *origin, DPoint const *ref1, DPoint const *ref2, int count1, int count2)
Similar to Insert_Grid(), but accepts parameters of type double for increased precision.
bool HC_PShow_Net_Visibility(int key_count, Key const path_keys[], char *list)
Similar to Show_Visibility(), but returns the net effective settings along a discreet segment path...
bool HC_Compute_Circumcuboid_By_Key(Key key, Point *min, Point *max)
Similar to Compute_Circumcuboid(), but operates on an object referenced by an HC_KEY.
void HC_DMove_Image(Key key, double x, double y, double z)
Similar to Move_Image() but operates on double-precision parameter values.
void HC_Trim_NURBS_Surface_By_Poly(int cpcount, float const points[])
Inserts a polyline into the trim list and applies the trim to a surface.
void HC_DSet_Circular_Center_By_Key(Key key, double x, double y, double z)
Similar to Set_Circular_Center_By_Key(), but operates on double-precision circular geometry...
void HC_Edit_Circle(Key key, Point const *point1, Point const *point2, Point const *point3)
Generates a flat, infinitely thin, colored-in circular object.
bool HC_PShow_Net_Unicode_Options(int key_count, Key const path_keys[], unsigned short *options)
Similar to Show_Unicode_Options(), but returns the net effective value of the attribute(s) along a pa...
void HC_Show_Reference_Geometry_Filt(Key key, char *filter)
void HC_MUnSet_Specific_Edge_Vis(Key key, int count, int const indices1[], int const indices2[])
Removes per-edge visibility settings on multiple edges at once. This allows the shell or mesh to inhe...
Key HC_DInsert_Area_Light(int count, DPoint const points[], char const *listptr)
Similar to Insert_Area_Light, but operates on double-precision data.
Key HC_Insert_Elliptical_Arc(Point const *center, Point const *major, Point const *minor, double start, double end)
Generates a portion of the perimeter of an ellipse.
bool HC_PShow_Net_Driver_Options(int key_count, Key const path_keys[], char *list)
Similar to Show_Driver_Options(), but returns the net effective settings along a discrete segment pat...
Key HC_Copy_Segment_With_Mapping(char const *source_seg, char const *destination, int count, Key const interesting_keys[], Key copied_keys[])
Allows the user to provide a list of keys from the segment to be copied, and returns a list of corres...
void HC_Edit_Shell_Faces(Key key, int offset, int ndelete, int ilist_length, int const insert_list[])
Creates or deletes faces in a previously declared shell.
void HC_Set_Region(int region)
Adds an open face to the specified region.