00001 /* 00002 * Copyright (c) 1998 by Tech Soft 3D, LLC. 00003 * The information contained herein is confidential and proprietary to 00004 * Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 * civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 * and criminal remedies in the event of unauthorized use or misappropriation 00007 * of its trade secrets. Use of this information by anyone other than 00008 * authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 * written non-disclosure agreement, expressly prescribing the scope and 00010 * manner of such use. 00011 * 00012 * $Id: hi__proto_8h-source.html,v 1.29 2008-03-10 07:09:28 stage Exp $ 00013 * 00014 * This file generated on Wed Jun 28 14:51:42 US/Pacific 2000 by covey 00015 */ 00016 00017 #ifndef HI_PROTO_DEFINED 00018 00019 EXTERNAL { 00020 00021 typedef void (HC_CDECL * HT_Old_Triangle_Action) 00022 (void *info, HT_Integer32 convex_triangulation, 00023 HT_Integer32 v1, HT_Integer32 v2, HT_Integer32 v3); 00024 00025 typedef void (HC_CDECL * HT_Triangle_Action) 00026 (void *info, int convex_triangulation, 00027 HT_Point const *v1, 00028 HT_Point const *v2, 00029 HT_Point const *v3, 00030 int s1, 00031 int s2, 00032 int s3, 00033 HT_Intersection const *d1, 00034 HT_Intersection const *d2, 00035 HT_Intersection const *d3); 00036 00037 }// EXTERNAL 00038 00039 00040 EXTERNAL float HC_CDECL HI_ACos (float iac); 00041 EXTERNAL HT_Texture * HI_Activate_Texture(HT_Texture const * texture, HT_Texture_Defs const * tdefs, bool errors); 00042 EXTERNAL float HC_CDECL HI_ATan2 (float y, float x); 00043 EXTERNAL HT_Attribute * HC_CDECL HI_Acquire_Append_Modelling_Mtx (HT_Segment alter *seg, 00044 HT_Attribute const *old, 00045 void const *info); 00046 EXTERNAL HT_Attribute * HC_CDECL HI_Acquire_Appended_Texture_Mtx (HT_Segment alter *seg, 00047 HT_Attribute const *old, 00048 void const *info); 00049 EXTERNAL HT_Attribute * HC_CDECL HI_Acquire_Metafile (HT_Segment alter *seg, HT_Attribute const *iold_meta, void const *info); 00050 EXTERNAL void HC_CDECL HI_Add_Path_Delimiter (HT_Name alter *directory, HT_Name alter *file); 00051 EXTERNAL void HC_CDECL HI_Add_To_Instance_Trees (HT_Subsegment *subseg, HT_Subsegment *pred_subseg, HT_Subsegment *nominal_owner); 00052 EXTERNAL void HC_CDECL HI_Adjoint_44 (float const *matp, float alter *adjp); 00053 EXTERNAL void HC_CDECL HI_Adjoint_44_Z (float const *matp, float alter *adj); 00054 EXTERNAL void HC_CDECL HI_Age_Activity (HT_Segment *root); 00055 EXTERNAL void HC_CDECL HI_Age_Seg_Flags (HT_Segment *root); 00056 EXTERNAL void * HC_CDECL HI_Alloc_Array(int size, bool try_alloc, HT_Memory_Pool alter *mempool); 00057 EXTERNAL void * HC_CDECL HI_Allocate (long size, bool allow_failure, HT_Memory_Pool alter *mempool); 00058 EXTERNAL bool HI_Analyze_Arc ( 00059 HT_Point const *start, 00060 HT_Point const *middle, 00061 HT_Point const *end, 00062 HT_Point alter *center, 00063 HT_Point alter *basis1, 00064 HT_Point alter *basis2, 00065 float alter *angle); 00066 EXTERNAL bool HC_CDECL HI_Analyze_Font_Data (int data_length, 00067 char const *data, 00068 char encoding, 00069 bool using_lookup, 00070 int *num_chars, 00071 char const **table, 00072 char const *name); 00073 EXTERNAL void HC_CDECL HI_Append_String (char const *in, char *out); 00074 EXTERNAL void HC_CDECL HI_Append_String_To_Max (char const *in, int max, char *out); 00075 EXTERNAL void HC_CDECL HI_Apply_Options_To_FCD ( 00076 HT_Option_Value *type_values, 00077 HT_Find_Contents_Data *fcd); 00078 EXTERNAL void HC_CDECL HI_Clean_FCD (HT_Find_Contents_Data *fcd); 00079 EXTERNAL void HC_CDECL HI_Arbitrary_Rotate (HT_Vector const *axis, HT_Point const *old_pt, float angle, HT_Point *new_pt); 00080 EXTERNAL void HC_CDECL HI_Arbitrary_Rotate_SC (HT_Vector const *axis, 00081 HT_Point const *old_pt, 00082 float sine, 00083 float cosine, 00084 HT_Point *new_pt); 00085 EXTERNAL HT_Time HC_CDECL HI_Assemble_3D_Polyedges (HT_Polyhedron *polyhedron, 00086 unsigned short please_validate, 00087 float dihedral); 00088 EXTERNAL HT_Time HC_CDECL HI_Assemble_3D_Polymarkers (HT_Polyhedron *polyhedron, 00089 unsigned int please_validate); 00090 EXTERNAL HT_Time HC_CDECL HI_Assemble_3D_Tristrips (HT_Polyhedron *polyhedron, 00091 unsigned short please_validate, 00092 bool validate_vertex_normals); 00093 EXTERNAL void HC_CDECL HI_Assemble_Edge_Normals (HT_Polyhedron *polyhedron); 00094 EXTERNAL void HC_CDECL HI_Assemble_Face_Normals (HT_Polyhedron *polyhedron); 00095 EXTERNAL void HC_CDECL HI_Assemble_Mesh_Vertex_Normals (HT_Mesh *mesh); 00096 EXTERNAL void HC_CDECL HI_Assemble_Shell_Vertex_Normals (HT_Shell *shell); 00097 EXTERNAL void HC_CDECL HI_Assemble_Vertex_Normals (HT_Polyhedron *polyhedron); 00098 EXTERNAL void HC_CDECL HI_Assemble_Mesh_Tristrips (HT_Mesh *mesh, 00099 unsigned short please_validate, 00100 bool validate_vertex_normals); 00101 EXTERNAL void HC_CDECL HI_Assemble_Shell_Tristrips (HT_Shell *shell, 00102 unsigned short please_validate, 00103 bool validate_vertex_normals); 00104 EXTERNAL void HC_CDECL HI_Assemble_Simple_Shell_Tristrips ( 00105 int point_count, 00106 HT_Point const *points, 00107 int face_list_length, 00108 int const *face_list, 00109 HT_Tristrip **tristrips_out); 00110 EXTERNAL void HC_CDECL HI_Au_Revoir (HT_Anything *thing); 00111 EXTERNAL bool HC_CDECL HI_CI_Equal_Strings (char const *a, char const *b); 00112 EXTERNAL bool HC_CDECL HI_CI_Equal_Strings_To_Max (char const *a, int max, char const *b); 00113 EXTERNAL bool HC_CDECL HI_CI_Wild_Equal_Strings (char const *a, char const *p); 00114 EXTERNAL bool HC_CDECL HI_CI_Wild_Equal_Strings_To_Max (char const *a, int max, char const *p); 00115 EXTERNAL void HC_CDECL HI_Call_Exit_Handlers (void); 00116 EXTERNAL bool HC_CDECL HI_Camera_To_Transform (HT_Camera *camera, double stereo_skew); 00117 EXTERNAL void HC_CDECL HI_Canonize_Chars (char const *string, HT_Name *name); 00118 EXTERNAL void HC_CDECL HI_Canonize_Chars_Quoted (char const *string, HT_Name *name, bool retain_quotes); 00119 EXTERNAL void HC_CDECL HI_Canonize_Kars (unsigned short const *string, HT_KName *name); 00120 EXTERNAL void HC_CDECL HI_Canonize_Line_Pattern (char const *string, HT_Name *name, int *extra); 00121 EXTERNAL void HC_CDECL HI_Center_Version_Message (char const *string, char *buffer); 00122 EXTERNAL void HC_CDECL HI_Chain_Code_Files (void); 00123 EXTERNAL void HC_CDECL HI_Check_3D_Camera (HT_Camera *camera, HT_Segment *seg); 00124 EXTERNAL bool HC_CDECL HI_Check_Alias_For_Metafile (HT_File_Data *fdata, char *alias, bool *name_ok); 00125 EXTERNAL void HC_CDECL HI_Check_For_Memory_Purge (HT_Segment *seg, bool purging); 00126 EXTERNAL void HC_CDECL HI_Check_Wakeups (float now); 00127 EXTERNAL void * HC_CDECL HI_Clone_Aligned (void const *in, unsigned int size); 00128 EXTERNAL void * HC_CDECL HI_Clone_Anything (void const *in, unsigned int size); 00129 EXTERNAL HT_Bounding * HC_CDECL HI_Clone_Bounding (HT_Bounding const *bounding); 00130 EXTERNAL HT_Glyph * HC_CDECL HI_Clone_Glyph (HT_Glyph const *glyph); 00131 EXTERNAL HT_Line_Style * HC_CDECL HI_Clone_Line_Style (HT_Line_Style const *line_style); 00132 EXTERNAL HT_Text_Info * HC_CDECL HI_Clone_Text_Info (HT_Text_Info const *text_info); 00133 EXTERNAL HT_Polyhedron *HI_Clone_Polyhedron (HT_Polyhedron *oldph); 00134 EXTERNAL HT_Texture * HC_CDECL HI_Clone_Texture (HT_Texture const *texture); 00135 EXTERNAL HT_Hidden_Payload * HC_CDECL HI_Clone_Hidden_Payload(HT_Hidden_Payload* old_payload, bool copy_points); 00136 EXTERNAL void HC_CDECL HI_Close_Complaint (int wanted); 00137 EXTERNAL bool HC_CDECL HI_Close_Directory (void alter *dhandle, HT_Name alter *message1, HT_Name alter *message2); 00138 EXTERNAL bool HC_CDECL HI_Close_File (void alter *fhandle, HT_Name alter *message1, HT_Name alter *message2); 00139 EXTERNAL int HC_CDECL HI_Compare_KNames (HT_KName const *a, HT_KName const *b); 00140 EXTERNAL int HC_CDECL HI_Compare_Names (HT_Name const *a, HT_Name const *b); 00141 EXTERNAL int HC_CDECL HI_Compare_Strings (char const *a, char const *b); 00142 EXTERNAL int HC_CDECL HI_Compare_Strings_To_Max (char const *a, int max, char const *b); 00143 EXTERNAL bool HC_CDECL HI_Compute_Three_Point_Circle (HT_Point const *start, 00144 HT_Point const *middle, 00145 HT_Point const *end, 00146 HT_Point *center, 00147 float *radius, 00148 HT_Plane *plane, 00149 HT_Vector *basis1, 00150 HT_Vector *basis2); 00151 EXTERNAL bool HC_CDECL HI_Compute_Window_Extent (char const *segname, 00152 float *xres, 00153 float *yres, 00154 int *xspix, 00155 int *yspix, 00156 int *left, 00157 int *right, 00158 int *bottom, 00159 int *top); 00160 EXTERNAL bool HC_CDECL HI_Compute_Window_Extent_By_Pth (int count, 00161 HT_Segment **segments, 00162 float *xres, 00163 float *yres, 00164 int *xspix, 00165 int *yspix, 00166 int *left, 00167 int *right, 00168 int *bottom, 00169 int *top); 00170 EXTERNAL bool HC_CDECL HI_Convert_Bounding (HT_Bounding const *in_bound, short desired, HT_Bounding *out_bound); 00171 EXTERNAL void HC_CDECL HI_Convert_Char_To_KName (char const *cstring, HT_KName *kname, char encoding); 00172 EXTERNAL int HC_CDECL HI_Convert_Keys_To_Path (int in_count, HT_Key const *keys, HT_Segment **segments); 00173 EXTERNAL void HC_CDECL HI_Copy_43 (float const *inp, float alter *outp); 00174 EXTERNAL void HC_CDECL HI_Copy_44 (float const *inp, float alter *outp); 00175 EXTERNAL void HC_CDECL HI_Copy_Aligned (void const *in, unsigned int size, void *out); 00176 EXTERNAL void HC_CDECL HI_Copy_Anything (void const *in, unsigned int size, void *out); 00177 EXTERNAL HT_Callback_List * HC_CDECL HI_Copy_Callback_List (HT_Callback_List const *in); 00178 EXTERNAL char * HC_CDECL HI_Copy_Chars (char const *in, char *out); 00179 EXTERNAL void HC_CDECL HI_Copy_Chars_To_Name (char const *realin, HT_Name alter *outname); 00180 EXTERNAL HT_Color_List * HC_CDECL HI_Copy_Colors (HT_Color_List const *old_list, HT_Color_Map const * map); 00181 EXTERNAL HT_Font_Name * HC_CDECL HI_Copy_Font_Names (HT_Font_Name const *in); 00182 EXTERNAL HT_Geometry * HC_CDECL HI_Copy_Geometry (HT_Geometry const *old_geom); 00183 EXTERNAL void HC_CDECL HI_Copy_KName (HT_KName const *in, HT_KName *out); 00184 EXTERNAL void HC_CDECL HI_Copy_Matrix (HT_Matrix const *in, HT_Matrix alter *out); 00185 EXTERNAL void HC_CDECL HI_Free_Name_List (HT_Name_List * old); 00186 EXTERNAL HT_Name_List * HC_CDECL HI_Copy_Name_List (HT_Name_List const *in); 00187 EXTERNAL void HC_CDECL HI_Copy_Name (HT_Name const *in, HT_Name *out); 00188 EXTERNAL void HC_CDECL HI_Copy_Name_To_Chars (HT_Name const *in, char alter *out); 00189 EXTERNAL void HC_CDECL HI_Copy_Named_Material (HT_Named_Material const *in, HT_Named_Material *out); 00190 EXTERNAL HT_Option_Value * HC_CDECL HI_Copy_Option_List (HT_Option_Value const *old_opt); 00191 EXTERNAL void HC_CDECL HI_Copy_String (char const *in, char *out); 00192 EXTERNAL void HC_CDECL HI_Copy_String_To_Max (char const *in, int max, char *out); 00193 EXTERNAL float HC_CDECL HI_Cos (float angle); 00194 EXTERNAL void HC_CDECL HI_Count_Contents (HT_Segment *seg, void *info); 00195 EXTERNAL long HC_CDECL HI_Count_Transparent_Pixels (int width, char format, void *iraster); 00196 EXTERNAL void HC_CDECL HI_Create_Geometry_Table (HT_Segment *seg); 00197 EXTERNAL void HC_CDECL HI_Create_Image (HT_Image **iimage, 00198 float x, 00199 float y, 00200 float z, 00201 int width, 00202 int height, 00203 char format, 00204 int row_bytes, 00205 int type, 00206 unsigned char *source); 00207 EXTERNAL void HC_CDECL HI_Create_Instance_Tree (HT_Instance **linker, HT_Subsegment *referee, HT_Instance *owner); 00208 EXTERNAL HT_Segment * HC_CDECL HI_Create_One_Segment (HT_Name *name, 00209 HT_Subsegment **linker, 00210 HT_Subsegment *pred_subseg, 00211 HT_Segment *owner, 00212 bool fix_instances); 00213 EXTERNAL void HC_CDECL HI_Create_Open_Segment (HT_Segment *seg); 00214 EXTERNAL int HC_CDECL HI_Create_Polyglin_Wings (int count, HT_Point *points, bool closed, int owner, HT_Wing ***wing_ptrs); 00215 EXTERNAL HT_Wedge_Tree * HC_CDECL HI_Create_Polygon_Wedge_Tree (int count, HT_Point *points, HT_Point *pivot, bool ccw); 00216 EXTERNAL HT_Segment * HC_CDECL HI_Create_Segment (char const *name); 00217 EXTERNAL void HC_CDECL HI_Create_Shell_Edges (HT_Shell *shell, bool create_edge_to_face); 00218 EXTERNAL void HC_CDECL HI_Cross_Product (HT_Vector const *a, HT_Vector const *b, HT_Vector alter *c); 00219 EXTERNAL HT_Event * HC_CDECL HI_Current_Event (HT_Type type); 00220 EXTERNAL int HC_CDECL HI_Decipher_Action (char const *iaction_name); 00221 EXTERNAL bool HC_CDECL HI_Decipher_Boolean (char const *spec, bool *flagp); 00222 EXTERNAL bool HC_CDECL HI_Decipher_Color_Target (char const **cpp, 00223 char const *cpe, 00224 bool comma_OK, 00225 int *newobject, 00226 int open_type); 00227 EXTERNAL HT_Option_Value * HC_CDECL HI_Decipher_Color_Type (char const *type, int extra_flags); 00228 EXTERNAL HT_Option_Value * HC_CDECL HI_Decipher_Color_Channel (char const *type, int extra_flags); 00229 EXTERNAL char HC_CDECL HI_Decipher_Encoding (char const *encoding); 00230 EXTERNAL HT_Integer32 HC_CDECL HI_Decipher_Geometry (char const *ictype); 00231 EXTERNAL bool HC_CDECL HI_Decipher_Handedness (char const *ispec, int alter *which); 00232 EXTERNAL void HC_CDECL HI_Decipher_Metafile_Options (char const *listptr, HT_Metafile *proto); 00233 EXTERNAL bool HC_CDECL HI_Decipher_Projection (char const *iprojection, HT_Camera *camera); 00234 EXTERNAL bool HC_CDECL HI_Decipher_Type_Names (char const *types, HT_Find_Contents_Data *fcd); 00235 EXTERNAL void HC_CDECL HI_Define_Constant_Options (HT_Constant_Option_Type const *constant_table, 00236 int constant_table_size, 00237 HT_Option_Hash_Table *hash_tablep); 00238 EXTERNAL void HC_CDECL HI_Define_Default_Colors (void); 00239 EXTERNAL void HC_CDECL HI_Define_Duplex_Fonts (void); 00240 EXTERNAL HT_Font * HC_CDECL HI_Define_Font (char const *name, 00241 char const *options, 00242 int data_length, 00243 char const *data, 00244 bool copy_data); 00245 EXTERNAL void HC_CDECL HI_Define_Internal_Fonts (void); 00246 EXTERNAL void HC_CDECL HI_Define_Mono_Fonts (void); 00247 EXTERNAL HT_Option_Type * HC_CDECL HI_Define_Nice_Option (HT_Option_Hash_Table *hash_table, 00248 long id, 00249 const HT_Name *name, 00250 int value_type, 00251 int value_count, 00252 bool negatable, 00253 HT_Option_Hash_Table *suboptions); 00254 EXTERNAL void HC_CDECL HI_Define_Nice_KOption (HT_Option_Hash_Table *hash_table, 00255 long id, 00256 const HT_KName *name, 00257 int value_type, 00258 int value_count, 00259 bool negatable, 00260 HT_Option_Hash_Table *suboptions); 00261 EXTERNAL void HC_CDECL HI_Define_Simplex_Fonts (void); 00262 EXTERNAL void HC_CDECL HI_Define_Implicit_Texture(HT_Segment const *seg, HT_Image *image, char const *options); 00263 EXTERNAL HT_Texture * HC_CDECL HI_Define_Shadow_Texture(HT_Image *image); 00264 EXTERNAL void HC_CDECL HI_Delete_Geometry_Table (HT_Segment *seg); 00265 EXTERNAL void HC_CDECL HI_Delete_Segment (HT_Segment *seg, void *info); 00266 EXTERNAL void HC_CDECL HI_Delete_User_Key (HT_Anything *item); 00267 EXTERNAL bool HC_CDECL HI_Dequeue_Event (void); 00268 EXTERNAL char HC_CDECL HI_Determine_Image_Format (char const *format, HT_Image_Options *options); 00269 EXTERNAL void HC_CDECL HI_Disable_Timer_Interrupts (void); 00270 EXTERNAL void HC_CDECL HI_Dump_Code (char const *string); 00271 EXTERNAL void HC_CDECL HI_Edit_Karacters (HT_Driver *source, int key, char bencoding); 00272 EXTERNAL void HC_CDECL HI_Edit_Text (HT_Text *text, 00273 int row, 00274 int column, 00275 int erase, 00276 int ndelete, 00277 int insert, 00278 unsigned short *new_kars); 00279 EXTERNAL bool HC_CDECL HI_Enable_Timer_Interrupts (void); 00280 EXTERNAL int HC_CDECL HI_Encoding_Is_Compatible (char from, char to); 00281 EXTERNAL bool HC_CDECL HI_Convert_Karacters_Encoding (int count, unsigned short const* in, unsigned short * out, char from, char to); 00282 EXTERNAL bool HC_CDECL HI_Equal_Strings (char const *a, char const *b); 00283 EXTERNAL bool HC_CDECL HI_Equal_Strings_To_Max (char const *a, int max, char const *b); 00284 EXTERNAL void HC_CDECL HI_Error (int category, int specific, char const *buf); 00285 EXTERNAL void HC_CDECL HI_Error2 (int category, int specific, char const *buf1, char const *buf2); 00286 EXTERNAL void HC_CDECL HI_Error3 (int category, int specific, char const *buf1, char const *buf2, char const *buf3); 00287 EXTERNAL void HC_CDECL HI_Error_Exit (void); 00288 EXTERNAL bool HC_CDECL HI_Evaluate_Color (HT_Name const *descrip, HT_Named_Material *material, HT_Texture_Defs *defs, bool errors); 00289 EXTERNAL char * HC_CDECL HI_Expand_Path_Token (HT_Path_Token *pt, char *bp, char *bpe); 00290 EXTERNAL float HC_CDECL HI_Exponentiate (float base, float power); 00291 EXTERNAL void HC_CDECL HI_Fatal (int category, int specific, char const *buf); 00292 EXTERNAL void HC_CDECL HI_Fatal2 (int category, int specific, char const *buf1, char const *buf2); 00293 EXTERNAL void HC_CDECL HI_Fatal3 (int category, int specific, char const *buf1, char const *buf2, char const *buf3); 00294 EXTERNAL void HC_CDECL HI_Figure_Bounding_Cuboid (int count, HT_Point const *points, HT_Bounding *bounding); 00295 EXTERNAL void HC_CDECL HI_Figure_Bounding_Rectangle (int count, HT_Point const *points, HT_Bounding *bounding); 00296 EXTERNAL void HC_CDECL HI_Figure_Bounding_Sphere (int count, HT_Point const *points, HT_Bounding *bounding); 00297 EXTERNAL bool HC_CDECL HI_Figure_General_Modelling_Mtx (float const *fbfp, HT_Matrix alter *mat); 00298 EXTERNAL bool HC_CDECL HI_Figure_General_Texture_Mtx (float const *fbfp, HT_Matrix alter *mat); 00299 EXTERNAL bool HC_CDECL HI_Figure_Geometry_Bounding (HT_Geometry const *geom, HT_Bounding alter *bounding); 00300 EXTERNAL void HC_CDECL HI_Figure_Offaxis_Rotation_Mtx (float x, float y, float z, float angle, HT_Matrix alter *mat); 00301 EXTERNAL bool HC_CDECL HI_Figure_Plane_From_Points (int count, HT_Point const *ipl, HT_Plane alter *plane); 00302 EXTERNAL void HC_CDECL HI_Figure_Rotation_Matrix (float x, float y, float z, HT_Matrix alter *mat); 00303 EXTERNAL void HC_CDECL HI_Figure_Scale_Matrix (float x, float y, float z, HT_Matrix alter *mat); 00304 EXTERNAL void HC_CDECL HI_Figure_Segment_Bounding (HT_Segment *seg, HT_Bounding *bounding); 00305 EXTERNAL void HC_CDECL HI_Figure_Translation_Matrix (float x, float y, float z, HT_Matrix alter *mat); 00306 EXTERNAL bool HC_CDECL HI_Find_Application_Name (HT_Name alter *name); 00307 EXTERNAL HT_Attribute * HC_CDECL HI_Find_Attribute (char const *sname, HT_Type type); 00308 EXTERNAL HT_Attribute * HC_CDECL HI_Find_Attribute_On_Seg (HT_Segment const* seg, HT_Type type, bool upwind); 00309 EXTERNAL HT_Driver * HC_CDECL HI_Find_Driver (char const *name); 00310 EXTERNAL void HC_CDECL HI_Find_Kanji_Char (char const *font, char const *data, unsigned short index, unsigned char const * alter *address); 00311 EXTERNAL HT_Attribute * HC_CDECL HI_Find_Local_Attribute (HT_Type type); 00312 EXTERNAL HT_Attribute * HC_CDECL HI_Find_Net_Attribute (char const *sname, HT_Type type, void * extra, bool lock); 00313 EXTERNAL HT_Attribute * HC_CDECL HI_Find_Net_Attribute_By_Keys (int count, HT_Key const *keys, HT_Type type, void * extra, bool lock); 00314 EXTERNAL HT_Attribute * HC_CDECL HI_Find_Net_Attribute_By_Path (int count, HT_Segment const **segments, HT_Type type, void * extra, bool lock); 00315 EXTERNAL bool HC_CDECL HI_Find_Our_Open (void); 00316 EXTERNAL void HC_CDECL HI_Find_Polygon_Plane (HT_Polygon alter *polygon); 00317 EXTERNAL unsigned short HC_CDECL HI_Find_Raster_Max (unsigned short max, int width, char format, void *iraster); 00318 EXTERNAL HT_Window * HC_CDECL HI_Find_Scoping_Window (HT_Segment *seg); 00319 EXTERNAL HT_Thread_Specific_Data * HC_CDECL HI_Find_Thread_Specific_Data (unsigned POINTER_SIZED_INT thread_id); 00320 EXTERNAL void HC_CDECL HI_Finish_Code_Generation (void); 00321 EXTERNAL char const * HC_CDECL HI_First_Substring_In_String (char const *substr, char const *string); 00322 EXTERNAL char const * HC_CDECL HI_CI_First_Substring_In_String (char const *substr, char const *string); 00323 EXTERNAL void HC_CDECL HI_Flush_Geometry (HT_Segment *seg, void *info); 00324 EXTERNAL void HC_CDECL HI_Flush_Driver_Config (char const *driver, char const *id, char const *version); 00325 EXTERNAL bool HC_CDECL HI_Names_All_Equal (HT_Name_List *a, HT_Name_List *b); 00326 EXTERNAL bool HC_CDECL HI_Font_Names_All_Equal (HT_Font_Name *a, HT_Font_Name *b); 00327 EXTERNAL HT_Driver * HC_CDECL HI_Force_Find_Driver (char const *name); 00328 EXTERNAL HT_Driver * HC_CDECL HI_Force_Find_Owner_Driver (char const *segname, HT_Segment **startp); 00329 EXTERNAL HT_Driver * HC_CDECL HI_Force_Find_Path_Driver (int count, HT_Segment **segments, HT_Segment **startp); 00330 EXTERNAL void HC_CDECL HI_Format_Version (char *data, int datalen, int version, int sub, bool beta); 00331 EXTERNAL void HC_CDECL HI_Format_Version_Message (char const *name, int version, int sub, bool beta, char *buffer); 00332 EXTERNAL void HC_CDECL HI_Format_Generic_Size_String (HT_Generic_Size const *size, char alter *list, int listlen); 00333 EXTERNAL void HC_CDECL HI_Free (void *p, long size); 00334 EXTERNAL void HC_CDECL HI_Free_Array(void* p, long size, HT_Memory_Pool alter *mempool); 00335 EXTERNAL void HC_CDECL HI_Free_Bounding (HT_Bounding *bounding); 00336 EXTERNAL void HC_CDECL HI_Free_Callback_List (HT_Callback_List *item); 00337 EXTERNAL void HC_CDECL HI_Free_Include_Chain (HT_Include_Chain *ic); 00338 EXTERNAL void HC_CDECL HI_Free_Font_Names (HT_Font_Name *names); 00339 EXTERNAL void HC_CDECL HI_Free_Kanji_Data (void); 00340 EXTERNAL void HC_CDECL HI_Free_Glyph (HT_Glyph * glyph); 00341 EXTERNAL void HC_CDECL HI_Free_Line_Style (HT_Line_Style * line_style); 00342 EXTERNAL void HC_CDECL HI_Free_Material_Names (HT_Named_Material *mat, int length); 00343 EXTERNAL void HC_CDECL HI_Free_Option_List (HT_Option_Value *listptr); 00344 EXTERNAL void HC_CDECL HI_Free_Path (HT_Path_Token *tok); 00345 EXTERNAL void HC_CDECL HI_Free_Polyedge_List (HT_Polyedge *curr); 00346 EXTERNAL void HC_CDECL HI_Free_Polymarker_List (HT_Polymarker *curr); 00347 EXTERNAL void HC_CDECL HI_Free_Time (void); 00348 EXTERNAL void HC_CDECL HI_Free_Tristrip_List (HT_Tristrip *curr); 00349 EXTERNAL void HC_CDECL HI_Free_Wedge_Tree (HT_Wedge_Tree *tree); 00350 EXTERNAL void HC_CDECL HI_Free_Wings (int count, HT_Wing **wing_ptrs); 00351 EXTERNAL void HC_CDECL HI_Free_Textures_On_Seg(HT_Segment* segment); 00352 EXTERNAL void HC_CDECL HI_Free_Text_Info (HT_Text_Info * text_info); 00353 EXTERNAL void HC_CDECL HI_Gather_Modelling (HT_Attribute *attribute, HT_Attribute **net); 00354 EXTERNAL void HC_CDECL HI_Generate_Error (int category, int specific, int severity, int msgc, char const **msgv); 00355 EXTERNAL void HC_CDECL HI_Generate_Untrappable_Error (int category, int specific, int severity, int msgc, char const **msgv); 00356 EXTERNAL void HC_CDECL HI_Generic_Delete (HT_Anything *stuff); 00357 EXTERNAL bool HC_CDECL HI_Get_Byte_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00358 EXTERNAL void HC_CDECL HI_Get_Fetamile_Hash (void); 00359 EXTERNAL bool HC_CDECL HI_Get_Filename (HT_Segment *seg, HT_Metafile *metafile, HT_File_Data *fdata, HT_Name *defdir); 00360 EXTERNAL bool HC_CDECL HI_Get_Float (HT_File_Data *fdata, float *f); 00361 EXTERNAL bool HC_CDECL HI_Get_Float_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00362 EXTERNAL bool HC_CDECL HI_Get_Image (HT_File_Data *fdata, char *fmt_str, int *widthp, int *heightp, void ***raster_tablep); 00363 EXTERNAL bool HC_CDECL HI_Get_Int (HT_File_Data *fdata, int *i); 00364 EXTERNAL bool HC_CDECL HI_Get_Int_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00365 EXTERNAL bool HC_CDECL HI_Get_Long (HT_File_Data *fdata, long *l); 00366 EXTERNAL bool HC_CDECL HI_Get_Key (HT_File_Data *fdata, HT_Key *l); 00367 EXTERNAL bool HC_CDECL HI_Get_Matrix (HT_File_Data *fdata, float alter *matp); 00368 EXTERNAL bool HC_CDECL HI_Get_Mesh_Point_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00369 EXTERNAL bool HC_CDECL HI_Get_Named_Float_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00370 EXTERNAL bool HC_CDECL HI_Get_Point (HT_File_Data *fdata, HT_Point *c); 00371 EXTERNAL bool HC_CDECL HI_Get_Plane (HT_File_Data *fdata, HT_Plane *c); 00372 EXTERNAL bool HC_CDECL HI_Get_Point_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00373 EXTERNAL bool HC_CDECL HI_Get_Plane_Array (HT_File_Data *fdata, HT_Read_Metafile_Data *rmd, int which); 00374 EXTERNAL bool HC_CDECL HI_Get_String (HT_File_Data *fdata, char *sp, char *spe); 00375 EXTERNAL bool HC_CDECL HI_Get_Light_Optionals (HT_File_Data *fdata, char *sp, char *spe); 00376 EXTERNAL bool HC_CDECL HI_Get_White_Space (HT_File_Data *fdata); 00377 EXTERNAL void HC_CDECL HI_HLS_To_RGB (HT_HLS const *hls, HT_RGB *rgb); 00378 EXTERNAL void HC_CDECL HI_HOOPS_Version (char *data, int datalen); 00379 EXTERNAL void HC_CDECL HI_HOOPS_Version_Message (char *hoops_string); 00380 EXTERNAL bool HC_CDECL HI_Has_Local_Key (HT_Segment const *owner, HT_Anything *item); 00381 EXTERNAL void HC_CDECL HI_Ident_44 (float alter *outp); 00382 EXTERNAL void HC_CDECL HI_Ident_Matrix (HT_Matrix alter *matrix); 00383 EXTERNAL void HC_CDECL HI_Info (int category, int specific, char const *buf); 00384 EXTERNAL void HC_CDECL HI_Info2 (int category, int specific, char const *buf1, char const *buf2); 00385 EXTERNAL void HC_CDECL HI_Info3 (int category, int specific, char const *buf1, char const *buf2, char const *buf3); 00386 EXTERNAL HT_Camera * HC_CDECL HI_Init_Camera (HT_Attribute const *old_cam); 00387 EXTERNAL void HC_CDECL HI_Init_Driver (HT_Driver *driver); 00388 EXTERNAL void HC_CDECL HI_Init_Internal_Data (void); 00389 EXTERNAL void HC_CDECL HI_Init_Time (void); 00390 EXTERNAL void HC_CDECL HI_Initialize_Edge_Attributes (HT_Polyhedron *polyhedron, unsigned short which); 00391 EXTERNAL void HC_CDECL HI_Initialize_Face_Attributes (HT_Polyhedron *polyhedron, unsigned short which); 00392 EXTERNAL void HC_CDECL HI_Initialize_Material_Names (HT_Named_Material *mat); 00393 EXTERNAL void HC_CDECL HI_Initialize_Vertex_Attributes (HT_Polyhedron *polyhedron, unsigned int which, int data); 00394 EXTERNAL HT_Geometry * HC_CDECL HI_Insert_Geometry (HT_Anything *owner, 00395 HT_Geometry *geometry, 00396 bool is_2D, 00397 HT_Integer32 activity); 00398 EXTERNAL HT_Integer32 HI_Determine_Geometry_Maybes (HT_Geometry const * geometry); 00399 EXTERNAL void HC_CDECL HI_Insert_NURBS_Curve (HT_Anything *owner, void *info); 00400 EXTERNAL void HI_Generate_NURBS_Polyline ( 00401 HT_NURBS_Curve const *curve, 00402 HT_NURBS_Curve_Control const *control, 00403 HT_Matrix const *matrix, 00404 HT_Polyline *p, 00405 float max_dev); 00406 EXTERNAL void HC_CDECL HI_Insert_Polyline (HT_Anything *owner, void *info); 00407 EXTERNAL void HC_CDECL HI_Internal_Data_Error (int category, int specific, char const *buf); 00408 EXTERNAL void HC_CDECL HI_Internal_Error (int category, int specific, char const *buf); 00409 EXTERNAL void HC_CDECL HI_Internal_Error2 (int category, int specific, char const *buf1, char const *buf2); 00410 EXTERNAL void HC_CDECL HI_Internal_Error3 (int category, int specific, char const *buf1, char const *buf2, char const *buf3); 00411 EXTERNAL void HC_CDECL HI_Interpret_Environment (bool picture_only); 00412 EXTERNAL int HC_CDECL HI_Intersect_Line_Segments_2D (HT_Point *p0, 00413 HT_Point *p1, 00414 HT_Point *q0, 00415 HT_Point *q1, 00416 HT_Point *intersection); 00417 EXTERNAL HT_Key HC_CDECL HI_KInsert_Image_By_Row (float x, float y, float z, char const *format, int width, int height, void **bytesp); 00418 EXTERNAL HT_Key HC_CDECL HI_KInsert_Pixel_Array_By_Row (float x, float y, float z, int width, int height, unsigned short **pixelsp); 00419 EXTERNAL HT_Anything * HC_CDECL HI_Key_To_Pointer (HT_Key key, HT_Segment *seg); 00420 EXTERNAL char const * HC_CDECL HI_Last_Substring_In_String (char const *substr, char const *string); 00421 EXTERNAL char const * HC_CDECL HI_CI_Last_Substring_In_String (char const *substr, char const *string); 00422 EXTERNAL void HC_CDECL HI_Less_Cutting_Planes (HT_Segment *seg, int count); 00423 EXTERNAL void HC_CDECL HI_Less_Light (HT_Segment *seg, int count); 00424 EXTERNAL void HC_CDECL HI_Less_Transparencies (HT_Segment *seg, int count); 00425 EXTERNAL void HC_CDECL HI_Less_Shadows (HT_Segment *seg, int count); 00426 EXTERNAL HT_Alias ** HC_CDECL HI_Look_Up_Alias (char const *name, int length); 00427 EXTERNAL HT_Callback_Name ** HC_CDECL HI_Look_Up_Callback_Name (char const *name, int length); 00428 EXTERNAL HT_Color_Name ** HC_CDECL HI_Look_Up_Color (char const *name, int length); 00429 EXTERNAL HT_Font ** HC_CDECL HI_Look_Up_Font (char const *name, int length); 00430 EXTERNAL HT_Glyph * HC_CDECL HI_Look_Up_Glyph (HT_Name *name); 00431 EXTERNAL HT_Line_Style * HC_CDECL HI_Look_Up_Line_Style (HT_Name *name); 00432 EXTERNAL HT_Texture * HC_CDECL HI_Look_Up_Texture (HT_Segment const *seg, HT_Name *name); 00433 EXTERNAL HT_Texture * HC_CDECL HI_Look_Up_Local_Texture (HT_Name *name); 00434 EXTERNAL void HC_CDECL HI_LEA_Pattern_Delete (HT_Polyhedron *polyhedron, HT_LEA_Pattern *pattern); 00435 EXTERNAL HT_LEA_Pattern * HC_CDECL HI_LEA_Pattern_Init (HT_Polyhedron *polyhedron, HT_Name *name); 00436 EXTERNAL HT_LEA_Pattern * HC_CDECL HI_LEA_Pattern_Lookup (HT_Polyhedron const *polyhedron, unsigned char id); 00437 EXTERNAL void HC_CDECL HI_LVA_Symbol_Delete (HT_Polyhedron *polyhedron, HT_LVA_Symbol *symbol); 00438 EXTERNAL HT_LVA_Symbol * HC_CDECL HI_LVA_Symbol_Init (HT_Polyhedron *polyhedron, HT_Name *name); 00439 EXTERNAL HT_LVA_Symbol * HC_CDECL HI_LVA_Symbol_Lookup (HT_Polyhedron const *polyhedron, unsigned char id); 00440 EXTERNAL void HC_CDECL HI_Make_It_Fatal (int category, 00441 int specific, 00442 int severity, 00443 int msgc, 00444 char const * const *msgv, 00445 int c, 00446 char const * const *v); 00447 EXTERNAL void HC_CDECL HI_Free_Boolean_Globals (void *boolean_data); 00448 EXTERNAL void HC_CDECL HI_Make_Unique_Filename (HT_Name alter *name); 00449 EXTERNAL void HC_CDECL HI_Matmul_43_by_43 (float const *leftp, float const *rightp, float alter *resultp); 00450 EXTERNAL void HC_CDECL HI_Matmul_44_by_44 (float const *leftp, float const *rightp, float alter *resultp); 00451 EXTERNAL bool HC_CDECL HI_Merge_Bounding_Into_Bounding (HT_Bounding *new_bound, 00452 HT_Bounding *bounding, 00453 bool malleable_target); 00454 EXTERNAL HT_Callback_List * HC_CDECL HI_Merge_Callback_Lists (HT_Callback_List *older, HT_Callback_List *newer); 00455 EXTERNAL void HC_CDECL HI_Merge_Colors (HT_Color alter *original, HT_Color const *add_in, HT_Attribute_Lock const * locks, HT_Color_Map const *map); 00456 EXTERNAL bool HC_CDECL HI_Merge_Points_Into_Bounding (int count, HT_Point const *points, HT_Bounding *bounding); 00457 EXTERNAL void HC_CDECL HI_More_Cutting_Planes (HT_Segment *seg, int count); 00458 EXTERNAL void HC_CDECL HI_More_Light (HT_Segment *seg, int count); 00459 EXTERNAL void HC_CDECL HI_More_Transparencies (HT_Segment *seg, int count); 00460 EXTERNAL void HC_CDECL HI_More_Shadows (HT_Segment *seg, int count); 00461 EXTERNAL void HC_CDECL HI_Multiply_Matrices (HT_Matrix const *left, HT_Matrix const *right, HT_Matrix alter *result); 00462 EXTERNAL void HC_CDECL HI_Normal_Exit (void); 00463 EXTERNAL bool HC_CDECL HI_Normalize (HT_Vector alter *vec); 00464 EXTERNAL bool HC_CDECL HI_Normalize_Vectors (int count, HT_Vector alter *vec); 00465 EXTERNAL bool HC_CDECL HI_Normalize_Plane (HT_Plane alter *plane); 00466 EXTERNAL void HC_CDECL HI_Not_When_Streamed (HT_Segment *seg, char const *why); 00467 EXTERNAL HT_Segment * HC_CDECL HI_One_Segment_Search (char const *spec, bool required); 00468 EXTERNAL bool HC_CDECL HI_Open_Directory (HT_Name alter *name, 00469 HT_Name const *filter, 00470 int selector_mask, 00471 int selector_value, 00472 void alter **dhandle, 00473 HT_Name alter *message1, 00474 HT_Name alter *message2); 00475 EXTERNAL bool HC_CDECL HI_Open_File (HT_Name alter *name, 00476 int file_access_mode, 00477 void **fhandle, 00478 bool create_new_version, 00479 HT_Name alter *message1, 00480 HT_Name alter *message2); 00481 EXTERNAL void HC_CDECL HI_Orthogonalize_Matrix (HT_Matrix alter *matrix); 00482 EXTERNAL HT_Key HC_CDECL HI_Output_Parse (char const *oldspec, 00483 char const *newspec, 00484 HT_Key (*action) (HT_Segment *segment, 00485 HT_Segment *owner, 00486 HT_Subsegment **backlink, 00487 HT_Subsegment *pred, 00488 HT_Name *name, 00489 bool exists, 00490 void *info), 00491 void *info); 00492 EXTERNAL bool HC_CDECL HI_Parse_Color_Map (char const *in_cnames, HT_Color_Map *proto); 00493 EXTERNAL bool HC_CDECL HI_Parse_Color_Map_By_Value (char const *style, int count, HT_Point const *in, HT_Color_Map *proto); 00494 EXTERNAL bool HC_CDECL HI_Parse_Command (HT_File_Data *fdata, char *s, HT_Read_Metafile_Data *irmd); 00495 EXTERNAL bool HC_CDECL HI_Parse_Command2 (HT_File_Data *fdata, char *s, HT_Read_Metafile_Data *irmd); 00496 EXTERNAL void HC_CDECL HI_Parse_Filename (HT_Name alter *name, 00497 HT_Name alter *directory, 00498 HT_Name alter *file, 00499 HT_Name alter *extension); 00500 EXTERNAL bool HC_CDECL HI_Parse_Options (char const *ioptions_string, 00501 HT_Option_Hash_Table *hash_table, 00502 HT_Option_Value **output_listp, 00503 int flags); 00504 EXTERNAL bool HC_CDECL HI_Parse_KOptions (unsigned short const *ioptions_string, 00505 HT_Option_Hash_Table *hash_table, 00506 HT_Option_Value **output_listp, 00507 int flags); 00508 EXTERNAL HT_Path_Token * HC_CDECL HI_Parse_Path (char const *inspec, int flags); 00509 EXTERNAL void HC_CDECL HI_Pause_Errors (int category, 00510 int specific, 00511 int severity, 00512 int msgc, 00513 char const * const * msgv, 00514 int c, 00515 char const * const * v); 00516 EXTERNAL void HC_CDECL HI_Point_On_NURBS_Curve (HT_NURBS_Curve const *curve, float u, HT_Point *fptr); 00517 EXTERNAL void HC_CDECL HI_Propagate_Activity (HT_Segstuff *stuff, HT_Integer32 which); 00518 EXTERNAL void HC_CDECL HI_Propagate_Bounding (HT_Segment *seg, HT_Bounding *bounding, HT_Segment const *transform_seg); 00519 EXTERNAL void HC_CDECL HI_Propagate_Maybes (HT_Segment *seg, HT_Integer32 what); 00520 EXTERNAL void HC_CDECL HI_Propagate_Maybes_Across_Styles (HT_Segment *seg, HT_Integer32 what); 00521 EXTERNAL void HC_CDECL HI_Propagate_Scoped_Activity (HT_Segstuff *stuff, HT_Integer32 which, HT_Rectangle const *scope); 00522 EXTERNAL void * HC_CDECL HI_QAllocate (long islot, HT_Memory_Pool alter *mempool); 00523 EXTERNAL void HC_CDECL HI_QValidate(char const* file, int line, void *p, long size, bool alloc); 00524 EXTERNAL void HC_CDECL HI_QSet_Attribute (char const *sname, HT_Type type, HT_Attribute_Acquisitor_Action acquire, void const *info); 00525 EXTERNAL void HC_CDECL HI_QUnSet_Attribute (char const *sname, int type); 00526 EXTERNAL void HC_CDECL HI_Queue_Keyboard_Event (HT_Driver *source, int button, int status); 00527 EXTERNAL void HC_CDECL HI_Queue_Keyboard_Event_W_Enc (HT_Driver *source, int button, int status, char encoding); 00528 EXTERNAL void HC_CDECL HI_Queue_Location_Event (HT_Driver *source, float x, float y, int status, int action); 00529 EXTERNAL void HC_CDECL HI_Queue_Wakeup_Event (HT_Wakeup *wakeup); 00530 EXTERNAL void HC_CDECL HI_RGB_To_HLS (HT_RGB const *rgb, HT_HLS *hls); 00531 EXTERNAL int HC_CDECL HI_Rank_Polygon (HT_Point const *points, int const *face_list, int const *face_list_end); 00532 EXTERNAL bool HC_CDECL HI_Read_Buffer (HT_File_Data *fdata); 00533 EXTERNAL bool HC_CDECL HI_Read_Directory (void alter *dhandle, 00534 HT_Name alter *filename, 00535 HT_Name alter *message1, 00536 HT_Name alter *message2); 00537 EXTERNAL bool HC_CDECL HI_Read_File_Buffer (void alter *fhandle, 00538 char alter *buffer, 00539 int alter *bytes_read, 00540 int maxbytes, 00541 HT_Name alter *message1, 00542 HT_Name alter *message2); 00543 EXTERNAL void HC_CDECL HI_Read_Metafile (HT_Segment *seg, HT_Metafile *metafile); 00544 EXTERNAL void HC_CDECL HI_Read_Metafile_Attribute (HT_Read_Metafile_Data *rmd, char *metaspec); 00545 EXTERNAL bool HC_CDECL HI_Read_Synched_Buffer (HT_File_Data *fdata); 00546 EXTERNAL int HC_CDECL HI_Read_Version (HT_File_Data *fdata); 00547 EXTERNAL void * HC_CDECL HI_Really_Allocate (long size, bool allow_failure); 00548 EXTERNAL int HC_CDECL HI_Really_Decipher_Color_Type (char const *cp, char const *cpe); 00549 EXTERNAL void HC_CDECL HI_Really_Delete (HT_Anything *thing); 00550 EXTERNAL HT_Driver * HC_CDECL HI_Really_Force_Find_Owner_Driv (char const *segname, HT_Segment **startp); 00551 EXTERNAL HT_Driver * HC_CDECL HI_Really_Force_Find_Path_Driv (int count, HT_Segment **segments, HT_Segment **startp); 00552 EXTERNAL void HC_CDECL HI_Really_Free (void alter *ptr, long size); 00553 EXTERNAL void HC_CDECL HI_Really_Report_Error (int category, int specific, int severity, int msgc, char **msgv, int c, char **v); 00554 EXTERNAL void HC_CDECL HI_Record_Texture_Definition(HT_Segment const *seg, HT_Texture *txr); 00555 EXTERNAL void HC_CDECL HI_Redraw_Attribute (HT_Segment *seg, HT_Type type, HT_Attribute *old_attr, HT_Attribute *new_attr); 00556 EXTERNAL void HC_CDECL HI_Redraw_Downstream (HT_Segstuff *stuff, HT_Integer32 which, const HT_Rectangle *scope); 00557 EXTERNAL void HC_CDECL HI_Redraw_Style (HT_Style *style); 00558 EXTERNAL void HC_CDECL HI_Refigure_Flags (HT_Segment *seg); 00559 EXTERNAL HT_Key HC_CDECL HI_Rename_Segment (HT_Segment *seg, 00560 HT_Segment *newowner, 00561 HT_Subsegment **linker, 00562 HT_Subsegment *pred_subseg, 00563 HT_Name *newname, 00564 bool exists, 00565 void *info); 00566 EXTERNAL void HC_CDECL HI_Reorder_Instances (HT_Subsegment *subsegment, HT_Subsegment *pred); 00567 EXTERNAL void HC_CDECL HI_Report_File_Error (HT_File_Data *fdata); 00568 EXTERNAL void HC_CDECL HI_Report_File_Error_With_Names (HT_File_Data *fdata, HT_Name *mess1, HT_Name *mess2); 00569 EXTERNAL void HC_CDECL HI_Return_Chars (char *out, int outlen, char const *in, int inlen); 00570 EXTERNAL void HC_CDECL HI_Return_Kars (char *out, int outlen, unsigned short const *in, int inlen, char encoding); 00571 EXTERNAL void HC_CDECL HI_Return_Karacters (unsigned short *out, int outlen, unsigned short const *in, int inlen); 00572 EXTERNAL void HC_CDECL HI_Return_Sprintf1 (char *bp, int length, char const *spec, void const *item); 00573 EXTERNAL void HC_CDECL HI_Scale_And_Translate_Matrix (HT_Matrix const *in, 00574 float sx, 00575 float sy, 00576 float sz, 00577 float tx, 00578 float ty, 00579 float tz, 00580 HT_Matrix alter *out); 00581 EXTERNAL char const * HC_CDECL HI_Scan_Boolean (char const **cpp, char const *cpe, bool *resultp); 00582 EXTERNAL char const * HC_CDECL HI_Scan_Float (char const **cpp, char const *cpe, float *resultp); 00583 EXTERNAL char const * HC_CDECL HI_Scan_Integer (char const **cpp, char const *cpe, int *resultp); 00584 EXTERNAL char const * HC_CDECL HI_Scan_Long (char const **cpp, char const *cpe, long *resultp); 00585 EXTERNAL char const * HC_CDECL HI_Scan_Key (char const **cpp, char const *cpe, HT_Key *resultp); 00586 EXTERNAL char const * HC_CDECL HI_Scan_Ptr (char const **cpp, char const *cpe, POINTER_SIZED_INT *resultp); 00587 EXTERNAL char const * HC_CDECL HI_Scan_Name (char const **cpp, char const *cpe, HT_Name *name); 00588 EXTERNAL char const * HC_CDECL HI_Scan_String (char const **cpp, char const *cpe, HT_Name *name); 00589 EXTERNAL char const * HC_CDECL HI_Scan_Generic_Size(HT_Generic_Size *size, char const *options, char const *type); 00590 EXTERNAL void HC_CDECL HI_Set_And_Clear_Flags (HT_Segment *segment, void *info); 00591 EXTERNAL void HC_CDECL HI_Set_Attribute (HT_Type type, HT_Attribute_Acquisitor_Action acquire, void const *info); 00592 EXTERNAL void HC_CDECL HI_Set_Attribute_On_Node (HT_Anything *node, HT_Type type, HT_Attribute_Acquisitor_Action acquire, void const *info); 00593 EXTERNAL void HC_CDECL HI_Set_Callback (char const *listptr); 00594 EXTERNAL void HC_CDECL HI_Set_Current_Routine_Name (char const *name); 00595 EXTERNAL void HC_CDECL HI_Set_Default_Attributes (void); 00596 EXTERNAL void HC_CDECL HI_Set_Delayed_Activity (HT_Subsegment *subseg, 00597 HT_Integer32 subseg_activity, 00598 HT_Geometry *geometry, 00599 HT_Integer32 geom_activity); 00600 EXTERNAL void HC_CDECL HI_Set_Driver_Options (char const *listptr); 00601 EXTERNAL void HC_CDECL HI_Set_Rendering_Options (char const *listptr); 00602 EXTERNAL void HC_CDECL HI_Set_User_Key (HT_Anything *item, HT_Key key, bool make_it_local); 00603 EXTERNAL void HC_CDECL HI_Set_Visibility (char const *listptr); 00604 EXTERNAL void HC_CDECL HI_Show_Callback (HT_Callback *callback, char *spec, int speclen, void **associated_data); 00605 EXTERNAL void HC_CDECL HI_Show_Driver_Options (HT_Driver_Options *driver_options, char *listptr, int listlen); 00606 EXTERNAL void HC_CDECL HI_Show_Encoding_Type (char *string, int length, char encoding); 00607 EXTERNAL bool HC_CDECL HI_Show_Environment (char const *which, HT_Name alter *result); 00608 EXTERNAL void HC_CDECL HI_Show_Heuristics (HT_Heuristics *heuristics, char *listptr, int listlen); 00609 EXTERNAL bool HC_CDECL HI_Show_Glyph (HT_Glyph *glyph, char *definition, int deflen); 00610 EXTERNAL bool HC_CDECL HI_Show_Line_Style (HT_Line_Style *line_style, char *definition, int deflen); 00611 EXTERNAL void HC_CDECL HI_Show_Locater_Action (int la, char *type, int typelen); 00612 EXTERNAL char * HC_CDECL HI_Show_Material (char *bp, char *bpe, HT_Named_Material *material, HT_Option_Value const *option, bool parentheses); 00613 EXTERNAL void HC_CDECL HI_Show_Metafile (HT_Metafile *metafile, char *options, int optionslen); 00614 EXTERNAL void HC_CDECL HI_Show_Rendering_Options (HT_Rendering_Options *ropt, char *listptr, int listlen); 00615 EXTERNAL void HC_CDECL HI_Show_Selectability (HT_Selectability *select, char *spec, int speclen); 00616 EXTERNAL void HC_CDECL HI_Show_Text_Alignment (HT_Generic_Onebyte *text_font, char *result, int resultlen); 00617 EXTERNAL void HC_CDECL HI_Show_Text_Font (HT_Text_Font *text_font, char *result, int resultlen); 00618 EXTERNAL bool HC_CDECL HI_Show_Texture (HT_Texture *texture, char *definition, int deflen, bool show_implicit_source, const char *opt); 00619 EXTERNAL void HC_CDECL HI_Show_Type_Name (int itype, char *type, int length); 00620 EXTERNAL void HC_CDECL HI_Show_Visibility (HT_Visibility *vis, char *spec, int speclen); 00621 EXTERNAL void HC_CDECL HI_SinCos (float angle, float *sine, float *cosine); 00622 EXTERNAL void HC_CDECL HI_Sleep (float ticks); 00623 EXTERNAL void HC_CDECL HI_Sort_Options (HT_Option_Value **listp); 00624 EXTERNAL char alter * HC_CDECL HI_Sprintf1 (char alter *bp, char const *bpe, char const *spec, void const *ptr); 00625 EXTERNAL char * HC_CDECL HI_Sprintf4 (char *buf, char const *spec, int int1, int int2, void const *ptr1, void const *ptr2); 00626 EXTERNAL float HC_CDECL HI_Sqrt (float val); 00627 EXTERNAL void HC_CDECL HI_Start_Code_Generation (void); 00628 EXTERNAL void HC_CDECL HI_Start_Hoops (char const *function_name); 00629 EXTERNAL void HC_CDECL HI_Start_System_Specific (void); 00630 EXTERNAL void HC_CDECL HI_Stop_System_Specific (void); 00631 EXTERNAL int HC_CDECL HI_String_Length (char const *start); 00632 EXTERNAL void HC_CDECL HI_Summarize_Edge_Vertex_Flags (HT_Polyhedron *polyhedron); 00633 EXTERNAL void HC_CDECL HI_Summarize_Face_Vertex_Flags (HT_Polyhedron *polyhedron); 00634 EXTERNAL void HC_CDECL HI_Swap_Buffers (HT_File_Data *fdata); 00635 EXTERNAL bool HC_CDECL HI_Synch_File_Buffer (void alter *fhandle, 00636 int alter *bytes, 00637 HT_Name alter *message1, 00638 HT_Name alter *message2); 00639 EXTERNAL void HC_CDECL HI_Table_Insert_Geometry (HT_Segment *seg, HT_Geometry *geometry); 00640 EXTERNAL void HC_CDECL HI_Table_Insert_OO_Geometry (HT_Segment *seg, HT_Geometry *geometry); 00641 EXTERNAL void HC_CDECL HI_Table_Remove_Geometry (HT_Geometry *geometry); 00642 EXTERNAL int HC_CDECL HI_Take_A_Poll (HT_Driver *driver, float now); 00643 EXTERNAL void HC_CDECL HI_Tidy_Up (HT_Camera *cam, HT_Vector *neweye); 00644 EXTERNAL void HC_CDECL HI_Transform_Bounding (HT_Bounding const *inbound, float const *matrixp, HT_Bounding *outbound); 00645 EXTERNAL void HC_CDECL HI_Polygon_Triangle_Collector (HT_VList *collector, HT_Integer32 v1, HT_Integer32 v2, HT_Integer32 v3); 00646 EXTERNAL void HC_CDECL HI_Polygon_Merge (HT_VList *collector); 00647 EXTERNAL bool HC_CDECL HI_Triangulate_Face (HT_Point const *points, 00648 HT_Vector const *normal, 00649 int const *face_list, 00650 int const *face_list_end, 00651 HT_Old_Triangle_Action triangle_action, 00652 void *action_info); 00653 EXTERNAL bool HC_CDECL HI_Triangulate_Face_X (HT_Point const *points, 00654 HT_Vector const *normal, 00655 int const *face_list, 00656 int const *face_list_end, 00657 HT_Triangle_Action triangle_action, 00658 void *action_info); 00659 EXTERNAL void HC_CDECL HI_UnDefine_Colors (char const *string); 00660 EXTERNAL void HC_CDECL HI_UnDefine_Texture (HT_Texture * texture); 00661 EXTERNAL void HC_CDECL HI_UnSet_Attribute (int type); 00662 EXTERNAL void HC_CDECL HI_Update_Driver_Data (void); 00663 EXTERNAL void HC_CDECL HI_Update_Events (void); 00664 EXTERNAL void HC_CDECL HI_Update_Interrupted (void); 00665 EXTERNAL void HC_CDECL HI_Update_Metafiles (void); 00666 EXTERNAL bool HC_CDECL HI_Validate_Face_List (int point_count, int face_list_length, int const *face_list, int *face_countp); 00667 EXTERNAL bool HC_CDECL HI_Validate_Glyph (HT_Glyph * glyph); 00668 EXTERNAL bool HC_CDECL HI_Validate_Line_Style (HT_Line_Style * line_style); 00669 EXTERNAL void HC_CDECL HI_Validate_Inverted_Rasters (HT_Image *image); 00670 EXTERNAL void HC_CDECL HI_Validate_Matrix_Adjoint (HT_Matrix alter *matrix); 00671 EXTERNAL void HC_CDECL HI_Vertex_Complaint (int offset, HT_Polyhedron *polyhedron); 00672 EXTERNAL void HC_CDECL HI_Warning (int category, int specific, char const *buf); 00673 EXTERNAL void HC_CDECL HI_Warning2 (int category, int specific, char const *buf1, char const *buf2); 00674 EXTERNAL void HC_CDECL HI_Warning3 (int category, int specific, char const *buf1, char const *buf2, char const *buf3); 00675 EXTERNAL float HC_CDECL HI_What_Time (void); 00676 EXTERNAL bool HC_CDECL HI_Wild_Equal_Strings (char const *a, char const *p); 00677 EXTERNAL bool HC_CDECL HI_Wing_A_Preceeds_B (HT_Wing *a, HT_Wing *b); 00678 EXTERNAL int HC_CDECL HI_Wings_Intersect (int victim_count, HT_Wing **victims, int aperture_count, HT_Wing **apertures); 00679 EXTERNAL bool HC_CDECL HI_Would_Be_Include_Loop (HT_Segment *owner, HT_Segment *child); 00680 EXTERNAL bool HC_CDECL HI_Write_File_Buffer (void alter *fhandle, 00681 char const *buffer, 00682 int bytes, 00683 HT_Name alter *message1, 00684 HT_Name alter *message2); 00685 EXTERNAL void HC_CDECL HI_Write_Metafile (HT_Segment *seg, HT_Metafile *metafile); 00686 EXTERNAL bool HC_CDECL HI_Compare_Bounding ( 00687 HT_Bounding const *b1, 00688 HT_Bounding const *b2); 00689 EXTERNAL bool HC_CDECL HI_Face_List_From_Tristrips (HT_Shell *shell); 00690 EXTERNAL void HI_Tessellate_NURBS_Surface ( 00691 HT_NURBS_Surface const *surf, 00692 HT_NURBS_Surface_Tessellation_Configs const *configs); 00693 00694 00695 EXTERNAL void HC_CDECL HI_Free_Region_Set ( 00696 HT_UV_Region_Set *set); 00697 EXTERNAL HT_UV_Region_Set * HC_CDECL HI_Generate_Convex_Region_Set ( 00698 int count, 00699 HT_UV_Point const *points); 00700 EXTERNAL HT_UV_Region_Set * HI_Generate_Complex_Region_Set ( 00701 int point_count, 00702 HT_UV_Point const *points, 00703 int face_list_length, 00704 int const * face_list, 00705 bool no_merge); 00706 EXTERNAL HT_UV_Region_Set * HC_CDECL HI_Generate_Polygonal_Region_Set ( 00707 int count, 00708 HT_UV_Point const *points, 00709 bool no_merge); 00710 EXTERNAL HT_UV_Region_Set * HC_CDECL HI_Generate_Rectangular_Regions ( 00711 float start_u, 00712 float end_u, 00713 float start_v, 00714 float end_v, 00715 int u_divisions, 00716 int v_divisions); 00717 EXTERNAL void HC_CDECL HI_Subtract_Region_From_Region_Set ( 00718 HT_UV_Region_Set *set, 00719 HT_UV_Region_Set *removal_set); /* const */ 00720 EXTERNAL void HC_CDECL HI_Convert_Regions_To_Facelist ( 00721 HT_UV_Region_Set const *set, 00722 int **listptr, 00723 int *length, 00724 int *count); 00725 EXTERNAL bool HC_CDECL HI_Get_Char (HT_File_Data *fdata, char c); 00726 EXTERNAL bool HC_CDECL HI_Peek_Char (HT_File_Data *fdata, char c); 00727 EXTERNAL void HC_CDECL HI_Delete_Trim (HT_UV_Trim *node); 00728 00729 00730 EXTERNAL void HC_CDECL HI_Not_When_LOD (void); 00731 EXTERNAL void HC_CDECL HI_Resort_Tristrips (HT_Polyhedron *polyhedron, int region); 00732 EXTERNAL void HC_CDECL HI_Delete_Shell_Selection_Cache (void *cache); 00733 EXTERNAL void HC_CDECL HI_Delete_Intersect_Polyline_Cache (void *cache); 00734 EXTERNAL void HC_CDECL HI_Show_Shell_Selection_Profile (char *results); 00735 EXTERNAL void *HC_CDECL HI_New_Point_Inside_Shell_Cache (void); 00736 EXTERNAL void HC_CDECL HI_Delete_Point_Inside_Shell_Cache (void *cache); 00737 00738 EXTERNAL HT_PolyCylinder_Attributes * HC_CDECL HI_Initialize_PCA_Vertex_Attributes ( 00739 HT_PolyCylinder alter * pc, unsigned char which); 00740 00741 EXTERNAL void HC_CDECL HI_Enumerate_Region_Set_Edges ( 00742 HT_UV_Region_Set const *set, 00743 int alter *count, 00744 HT_UV_Edge alter ***edges); 00745 EXTERNAL void HC_CDECL HI_Split_Region_Set_Edge ( 00746 HT_UV_Region_Set alter *set, 00747 HT_UV_Edge alter *edge, 00748 int *count, 00749 HT_UV_Edge alter ***edges); 00750 EXTERNAL void HC_CDECL HI_Midpoint_Split_Triangle ( 00751 HT_UV_Region_Set alter *set, 00752 HT_UV_Region alter *region, 00753 int alter *affected_count_out, 00754 HT_UV_Region alter ***affected_regions_out); 00755 EXTERNAL void HC_CDECL HI_Triangulate_Region ( 00756 HT_UV_Region_Set alter *set, 00757 HT_UV_Region alter *region); 00758 EXTERNAL void HC_CDECL HI_Midpoint_Split_One_Triangle ( 00759 HT_UV_Region_Set alter *set, 00760 HT_UV_Edge alter *edge, 00761 int *count, 00762 HT_UV_Edge alter ***edges); 00763 EXTERNAL HT_UV_Region_Set * HC_CDECL HI_Generate_Triangular_Regions ( 00764 float start_u, 00765 float end_u, 00766 float start_v, 00767 float end_v, 00768 int u_divisions, 00769 int v_divisions); 00770 EXTERNAL void HC_CDECL HI_Get_UV_Region_Triangle ( 00771 HT_UV_Region_Set alter *set, 00772 HT_UV_Region alter *region, 00773 HT_UV_Edge alter **a, 00774 HT_UV_Edge alter **b, 00775 HT_UV_Edge alter **c); 00776 00777 EXTERNAL int HI_Compute_Intersect_Polyline ( 00778 int point_count1, 00779 HT_Point const *points1, 00780 int face_list_length1, 00781 int const *face_list1, 00782 int point_count2, 00783 HT_Point const *points2, 00784 int face_list_length2, 00785 int const *face_list2, 00786 int alter *polyline_count, 00787 int alter *polyline_lengths, 00788 int alter *polyline_point_count, 00789 HT_Point alter *polyline_points, 00790 bool save_result); 00791 00792 00793 EXTERNAL bool HI_Compute_Point_Inside_Shell ( 00794 HT_Point const *pt, 00795 int point_count, 00796 HT_Point const *points, 00797 int face_list_length, 00798 int const *face_list); 00799 00800 EXTERNAL bool HI_Compute_Point_On_Shell ( 00801 HT_Point const *pt, 00802 double tolerance, 00803 int point_count, 00804 HT_Point const *points, 00805 int face_list_length, 00806 int const *face_list); 00807 00808 EXTERNAL void HI_Compute_Points_Inside_Shell ( 00809 int pcount, 00810 HT_Point const *pt, 00811 HT_Point const *pt_vector, 00812 int point_count, 00813 HT_Point const *points, 00814 int face_list_length, 00815 int const *face_list, 00816 char const *options, 00817 int *result 00818 00819 ); 00820 00821 EXTERNAL int HI_Compute_Points_On_Shell ( 00822 int pcount, 00823 HT_Point const *pt, 00824 double tolerance, 00825 int point_count, 00826 HT_Point const *points, 00827 int face_list_length, 00828 int const *face_list, 00829 int *result 00830 ); 00831 EXTERNAL int HI_Compute_Points_Shell_Distance ( 00832 int pcount, 00833 HT_Point const *pt, 00834 double tolerance, 00835 int point_count, 00836 HT_Point const *points, 00837 int face_list_length, 00838 int const *face_list, 00839 float *result 00840 ); 00841 00842 EXTERNAL void HI_Accumulate_Segment_Bounding ( 00843 HT_Segment const *seg, HT_Bounding *bounding, HT_Matrix const *matrix, 00844 HT_Integer32 start_vis,HT_Integer32 flags); 00845 00846 EXTERNAL void HI_Reset_Strip_Flags ( 00847 HT_Polyhedron * polyhedron); 00848 00849 EXTERNAL void HI_Reset_Driver_Config_SS (void); 00850 00851 EXTERNAL void HI_Fake_NURBS_Surface_Configs ( 00852 HT_NURBS_Surface_Tessellation_Configs alter *configs); 00853 EXTERNAL void HC_CDECL HI_Compute_Transformed_Points ( 00854 int count, 00855 HT_Point const *points, 00856 float const *matp, 00857 HT_Point *result); 00858 EXTERNAL void HC_CDECL HI_Compute_Transformed_Vectors ( 00859 int count, 00860 HT_Vector const *vectors, 00861 float const *matp, 00862 HT_Vector *result); 00863 EXTERNAL bool HI_Add_Geometry_Bounding ( 00864 HT_Geometry const * geometry, 00865 HT_Modelling_Matrix const * matrix, 00866 HT_Integer32 visibility, 00867 HT_Attribute_Lock *locks, 00868 HT_Integer32 flags, 00869 HT_Bounding * bounding); 00870 EXTERNAL bool HI_Accumulate_Bounding_Attributes ( 00871 HT_Attribute * attribute, 00872 HT_Modelling_Matrix ** net, 00873 HT_Integer32 * visibility, 00874 HT_Attribute_Lock * locks, 00875 unsigned int alter * conditions, 00876 HT_HFSB_Flags may_ignore); 00877 EXTERNAL void HI_Compute_Polyhedron_LOD( 00878 HT_Polyhedron *phon, 00879 int start_depth, 00880 int maxdepth, 00881 HT_LOD_Flags algorithm, 00882 float ratio, 00883 bool collapse_vertices, 00884 int min_triangle_count, 00885 int max_degree); 00886 00887 EXTERNAL void HC_CDECL HI_Compute_LOD( 00888 HT_LOD_Flags algorithm, 00889 float ratio, 00890 bool collapse_vertices, 00891 int pcount, const float *points, 00892 int flistlen, const int *flist, 00893 int *pcount_out, float *points_out, 00894 int *flistlen_out, int *flist_out, 00895 int *vertex_mapping, int *face_mapping); 00896 00897 EXTERNAL void HI_Clean_Display_Lists ( 00898 HT_Subsegment *node, 00899 HT_Driver *driver); 00900 00901 EXTERNAL void HI_Clean_Display_List ( 00902 HT_Driver *driver, 00903 HT_Display_List **display_list, 00904 bool free_it); 00905 00906 EXTERNAL HT_Image * HI_Create_Spotlight_Image( 00907 int res, 00908 float inner_radius_ratio); 00909 00910 EXTERNAL void HI_Free_Selection_Item( 00911 HT_Selection_Item *); 00912 EXTERNAL HT_Selection_Item *HI_Selection_Item_Heap_Pop( 00913 HT_Selection_Item_Heap *); 00914 00915 EXTERNAL float const *HI_Get_Sin72_Lookup(void); 00916 EXTERNAL float const *HI_Get_Cos72_Lookup(void); 00917 00918 EXTERNAL bool HI_Parse_Condition (char const * string, HT_Conditional alter * conditional); 00919 EXTERNAL void HI_Show_Conditional (HT_Conditional const * conditional, char alter * list, int listlen); 00920 EXTERNAL void HI_Copy_Conditional (HT_Conditional const * in, HT_Conditional alter * out); 00921 EXTERNAL void HI_Free_Conditional (HT_Conditional alter * cond); 00922 EXTERNAL void HI_Show_Conditions (HT_Conditions *conditions, char *options, int optionslen); 00923 00924 EXTERNAL HT_Include * HC_CDECL HI_Create_Include ( 00925 HT_Segment * ref, 00926 HT_Segment * newowner, 00927 HT_Conditional *condition); 00928 00929 EXTERNAL HT_Geometry_Reference * HC_CDECL HI_Create_Reference ( 00930 HT_Segment * ref, 00931 HT_Segment * newowner, 00932 HT_Conditional *condition); 00933 00934 EXTERNAL void HC_CDECL HI_Transform_Points_43 ( 00935 int count, 00936 HT_Point const * input, 00937 float const * transform, 00938 HT_Point alter * output); 00939 EXTERNAL void HC_CDECL HI_Transform_Points_44 ( 00940 int count, 00941 HT_Point const * input, 00942 float const * transform, 00943 float wlimit, 00944 HT_Point alter * output, 00945 float alter * ws); 00946 00947 EXTERNAL void HC_CDECL HI_Free_Tristrip (HT_Tristrip alter *ts); 00948 EXTERNAL void HC_CDECL HI_Free_Polyedge (HT_Polyedge alter *pe); 00949 00950 00951 EXTERNAL HT_Error_Control ** HC_CDECL HI_Lookup_Error_Control ( 00952 HT_Error_Control ** linker, 00953 int category, 00954 int specific); 00955 00956 EXTERNAL HT_Driver_Config * HC_CDECL HI_Lookup_Driver_Config( 00957 char const *driver, 00958 char const *id, 00959 char const *version, 00960 bool create, 00961 HT_XBits const *xbits); 00962 00963 00964 EXTERNAL void HC_CDECL HI_Free_Driver_Config( 00965 HT_Driver_Config *cfg); 00966 00967 EXTERNAL HT_Driver_Config * HC_CDECL HI_Clone_Driver_Config( 00968 HT_Driver_Config *cfg); 00969 00970 EXTERNAL void HC_CDECL HI_Radix_Sort_8(float *farray, float *sorted, void** input_void, void** temp_void, HT_Integer32 element_size, unsigned long elements, bool ascending); 00971 EXTERNAL void HC_CDECL HI_Radix_Sort_11(float *farray, float *sorted, void** input_void, void** temp_void, HT_Integer32 element_size, unsigned long elements, bool ascending); 00972 EXTERNAL void HC_CDECL HI_Sort_Array(unsigned long count, float* priorities, void** array, int es, bool ascending); 00973 00974 EXTERNAL void HC_CDECL HI_Queue_Selection_Event (char const *locater_name, char const *display_name, char const *action_name, 00975 int status, char const *segment_name, HT_Key item_key, 00976 int offset1, int offset2, int offset3, double xw, double yw, double zw, double xc, double yc, 00977 double zc, HT_Selection_Event_CD *extra); 00978 00979 00980 EXTERNAL void HC_CDECL HI_Show_Color (HT_Color *color, char *icname, int cnamelen); 00981 EXTERNAL HT_Key HC_CDECL HI_Copy_Segment ( 00982 HT_Segment *oldseg, 00983 HT_Segment *newowner, 00984 HT_Subsegment **linker, 00985 HT_Subsegment *pred_subseg, 00986 HT_Name *newname, 00987 bool exists, 00988 void *info); 00989 EXTERNAL HT_Attribute * HC_CDECL HI_Clone_Attributes ( 00990 HT_Attribute const * old_attr, 00991 HT_Segment const * new_owner, 00992 bool multiple, 00993 void * passthru); 00994 00995 EXTERNAL void HC_CDECL HI_Reverse_Shell_Edges ( 00996 HT_Shell const *shell, 00997 HT_Edge_Geometry_Info alter *segde, 00998 HT_Edge_Geometry_Info alter **egde_ot_xetrev); 00999 01000 EXTERNAL void HC_CDECL HI_Make_RLE_Stencil(HT_Stencil_Bitmap * stencil); 01001 EXTERNAL void HC_CDECL HI_Cleanup_Stencil(HT_Stencil_Bitmap * stencil, bool free_it); 01002 EXTERNAL HT_Stencil_Bitmap *HC_CDECL HI_Clone_Stencil(HT_Stencil_Bitmap const* stencil); 01003 EXTERNAL void HC_CDECL HI_Init_Stencil_Cache(void); 01004 EXTERNAL void HC_CDECL HI_Free_Stencil_Cache(void); 01005 EXTERNAL void HC_CDECL HI_Clean_Stencil_Cache (HT_Font_Instance const *instance); 01006 EXTERNAL HT_Stencil_Bitmap **HC_CDECL HI_Get_Stencil_Cache ( 01007 HT_Font_Instance const *instance, 01008 int height, 01009 int bolding_level, 01010 float slant, 01011 float rotation, 01012 float width_scale, 01013 bool antialias); 01014 EXTERNAL HT_Stencil_Bitmap * HC_CDECL HI_Lookup_Stencil( 01015 HT_Stencil_Bitmap **stencil_cache, 01016 unsigned short mapped_index); 01017 EXTERNAL void HC_CDECL HI_Store_Stencil( 01018 HT_Stencil_Bitmap **stencil_cache, 01019 HT_Stencil_Bitmap *stencil); 01020 EXTERNAL int HC_CDECL HI_Get_Stencil_Cache_Height (int height, bool is_transformed); 01021 EXTERNAL bool HC_CDECL HI_Check_Texture_Syntax (char const *texture_string); 01022 01023 EXTERNAL bool HI_Fast_Lookup_Available (HT_Segment const * owner, bool prioritized); 01024 EXTERNAL void HC_CDECL HI_Create_Fast_Lookup (HT_Segment alter * owner, bool prioritized); 01025 EXTERNAL void HC_CDECL HI_Destroy_Fast_Lookups (HT_Segment alter * owner); 01026 EXTERNAL HT_Segment * HC_CDECL HI_Find_Fast_Lookup_Segment (HT_Segment alter * owner, char const * name); 01027 EXTERNAL void HC_CDECL HI_Add_Fast_Lookup_Item (HT_Segment alter * owner, bool prioritized, HT_Subsegment * item); 01028 EXTERNAL void HC_CDECL HI_Remove_Fast_Lookup_Item (HT_Segment alter * owner, bool prioritized, HT_Subsegment * item); 01029 EXTERNAL HT_Subsegment * HC_CDECL HI_Find_Fast_Lookup_Predecessor (HT_Segment alter * owner, bool prioritized, HT_Subsegment * item, char const * name); 01030 EXTERNAL void HC_CDECL HI_Show_Fast_Lookup_Priority_Range (HT_Segment *seg, long *low, long *high); 01031 01032 EXTERNAL HT_Texture_Control_List * HC_CDECL HI_New_Diffuse_Channel(HT_Texture alter *texture); 01033 EXTERNAL HT_Texture_Control_List *HC_CDECL HI_Copy_Diffuse_Channel_List (HT_Texture_Control_List const *diffuse); 01034 EXTERNAL void HC_CDECL HI_Free_Diffuse_Channel_List (HT_Texture_Control_List alter *diffuse); 01035 EXTERNAL HT_Texture_Control_List *HC_CDECL HI_Mix_Diffuse_Channels (HT_Texture_Control_List const *oldlist, HT_Texture_Control_List const *newlist); 01036 EXTERNAL void HC_CDECL HI_Median_Cut (int in_count, HT_Point const * n_points, HT_RGB const * in_colors, 01037 int out_count, HT_Point alter * out_points, HT_RGB alter * out_colors, 01038 int alter * mapping); 01039 01040 EXTERNAL HT_PolyCylinder * HC_CDECL HI_Cylinder_To_PolyCylinder (HT_Cylinder const *cylinder); 01041 01042 EXTERNAL void HC_CDECL HI_Adjust_Vertex_Attributes (HT_Shell * shell, int offset, int ndelete, int insert); 01043 EXTERNAL void HC_CDECL HI_Adjust_Vertex_To_Edge (HT_Shell * shell, int offset, int ndelete, int insert); 01044 EXTERNAL void HC_CDECL HI_Adjust_Face_Attributes (HT_Shell * shell, int offset, int ndelete, int insert); 01045 EXTERNAL void HC_CDECL HI_Repair_Shell_Edges (HT_Shell * shell); 01046 EXTERNAL void HC_CDECL HI_Convert_To_Shell ( 01047 char const *options, 01048 HT_Geometry const *geom, 01049 HT_Shell alter **shellptr, 01050 HT_Shell alter **kill_me); 01051 EXTERNAL bool HI_Process_NURBS_Surface_Options ( 01052 HT_Option_Value const *type_values, 01053 HT_Rendering_Options alter *ropt); 01054 EXTERNAL void HC_CDECL HI_Set_Priority (HT_Anything *thing, long priority); 01055 EXTERNAL void HC_CDECL HI_Bring_To_Front (HT_Anything *thing); 01056 EXTERNAL void HC_CDECL HI_Delete_Specific_Shell_Faces ( 01057 HT_Shell alter *shell, 01058 int count, 01059 int const *indices); 01060 01061 01062 EXTERNAL HT_Stencil_Bitmap * HI_W32_make_font_stencil ( 01063 HT_Font_Instance const *instance, 01064 unsigned short kar, 01065 int in_bitmap_height, 01066 int bolding_level, 01067 float xrslant, 01068 float xrrotation, 01069 float xrwidth, 01070 bool antialias); 01071 01072 EXTERNAL bool HI_W32_measure_char_stenciled( 01073 HT_Net_Rendition const *nr, 01074 HT_Font_Instance const * instance, 01075 HT_Karacter kar, 01076 float alter *size_out, 01077 bool alter *kar_missing, 01078 void ** per_kar_data); 01079 01080 EXTERNAL void HI_W32_unload_font_stenciled ( 01081 HT_Display_Context const * dc, 01082 HT_Font_Instance alter * instance); 01083 01084 EXTERNAL void * HI_W32_load_font_stenciled( 01085 HT_Display_Context const *dc, 01086 char const *name, 01087 HT_Font_Instance alter *instance, 01088 void * hDC, 01089 HT_Log_Font_Item **local_font_list, 01090 HT_Log_Font_Item **system_font_list); 01091 01092 EXTERNAL void HI_W32_find_all_fonts ( 01093 HT_Display_Context alter *dc, 01094 HT_Log_Font_Item **local_font_list, 01095 HT_Log_Font_Item **system_font_list); 01096 01097 EXTERNAL bool HI_W32_find_one_font ( 01098 HT_Display_Context alter *dc, 01099 char const *in_name, 01100 void * hDC, 01101 HT_Log_Font_Item **local_font_list, 01102 HT_Log_Font_Item **system_font_list); 01103 01104 EXTERNAL void HI_W32_find_basic_fonts ( 01105 HT_Display_Context alter *dc, 01106 void * const hDC, 01107 HT_Log_Font_Item **local_font_list, 01108 HT_Log_Font_Item **system_font_list); 01109 01110 EXTERNAL bool HI_W32_name_font( 01111 HT_Net_Rendition const *nr, 01112 HT_Font_Name const *font_name_in, 01113 HT_Font_Name alter *font_name_out); 01114 01115 EXTERNAL HT_Log_Font_Item alter *HI_W32_find_font ( 01116 HT_Log_Font_Item *list, 01117 const char *name); 01118 01119 EXTERNAL bool HC_CDECL HI_Condition_Passed ( 01120 unsigned int const *known_conditions, HT_Conditional const *condition); 01121 01122 EXTERNAL int HI_Generate_Elliptical_Points ( 01123 HT_Generic_Arc const *curve, int count, HT_Point alter *ipl); 01124 01125 EXTERNAL bool HI_Test_Ray_BBox ( 01126 float const *bbox, 01127 float const *start, 01128 float const *direction); 01129 01130 EXTERNAL int HI_Split_Point_Lookup (HT_Polyhedron const * polyhedron, int vertex, int face); 01131 EXTERNAL int HI_Split_Point_Original (HT_Polyhedron const * polyhedron, int vertex); 01132 01133 EXTERNAL void HI_Invalidate_Display_Lists (HT_Geometry alter * geometry); 01134 EXTERNAL void HI_Free_Convex_Clip_Region (HT_Convex_Clip_Region alter *cr); 01135 EXTERNAL bool HI_Compute_Camera_Min_Max ( 01136 HT_Matrix const *nmm, 01137 HT_Camera const *cam, 01138 HT_Segment const *seg, 01139 HT_Bounding const *bounding_in, 01140 float alter *minz_out, 01141 float alter *maxz_out); 01142 01143 EXTERNAL void HI_Ensure_Definition_Set(void); 01144 01145 EXTERNAL float HI_Make_Attribute_Tree (HT_Subsegment const * root); 01146 01147 EXTERNAL void HI_Invalidate_Segment_Display_Lists(HT_Segment *seg, int type); 01148 01149 EXTERNAL bool HI_Get_Display_List(HT_Driver const *driver, 01150 HT_Display_List alter **linker, HT_Display_List alter **out); 01151 01152 EXTERNAL bool HI_Named_Materials_Equal (HT_Named_Material const * first, HT_Named_Material const * second); 01153 01154 EXTERNAL void HI_Flush_Color_Material_Lookup(HT_VHash **color_material_lookup); 01155 01156 EXTERNAL void HI_Flush_Seg_Path_Lookup(void); 01157 01158 EXTERNAL void HI_Clear_Image_Cache (HT_Image alter *image); 01159 EXTERNAL void HI_Delete_Instance (HT_Instance alter *instance); 01160 01161 EXTERNAL HT_Memory_Pool alter * HI_Create_Memory_Pool(void); 01162 EXTERNAL void HI_Destroy_Memory_Pool(HT_Memory_Pool alter * pool); 01163 01164 01165 EXTERNAL void HI_LOD_Execute( 01166 int plist_len, const float *plist, 01167 int flist_len, const int *flist, 01168 HT_MxConfig *cfg_ptr, /* pass NULL for all default values */ 01169 int *plist_len_out, float *plist_out, 01170 int *flist_len_out, int *flist_out, 01171 int *pointmap 01172 ); 01173 01174 EXTERNAL HT_MxShellChain *HI_LOD_Chain_Execute_Tristrips( 01175 int point_count, const float *points, 01176 const HT_Tristrip *t, 01177 HT_MxConfig *cfg_ptr, /* pass NULL for all default values */ 01178 int depth 01179 ); 01180 01181 EXTERNAL HT_MxShellChain *HI_Compute_LOD_Fast( 01182 int pcount, 01183 const float *points, 01184 int flen, 01185 const int *faces, 01186 float ratio, 01187 int depth 01188 ); 01189 01190 EXTERNAL HT_MxShellChain *HI_Compute_LOD_Tristrips_Fast( 01191 int pcount, 01192 const float *points, 01193 const HT_Tristrip *t, 01194 float ratio, 01195 int depth 01196 ); 01197 01198 EXTERNAL void HC_CDECL HI_Show_Geometry_Options ( 01199 HT_Geometry const * geo, 01200 char alter * list, 01201 int listlen 01202 ); 01203 01204 EXTERNAL double HC_CDECL HI_Vector_Length ( 01205 HT_Vector const * in 01206 ); 01207 01208 EXTERNAL void HC_CDECL HI_Offaxis_Rotation ( 01209 double x, 01210 double y, 01211 double z, 01212 double angle, 01213 float alter *matp 01214 ); 01215 01216 #define HI_PROTO_DEFINED 1 01217 #endif /* HI_PROTO_DEFINED */