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: hcd_8h-source.html,v 1.29 2008-03-10 07:09:28 stage Exp $ 00013 */ 00014 00015 #ifndef HCD_DEFINED 00016 #define HCD_DEFINED 00017 00018 #include "hc.h" 00019 00020 00021 #ifndef HCD_POINT 00022 # define HCD_POINT void 00023 #endif 00024 00025 /* start by defining the macros necessary to intercept some calls */ 00026 #define HC_Delete_By_Key(a0) HC_DDelete_By_Key(a0) 00027 #define HC_Delete_Segment(a0) HC_DDelete_Segment(a0) 00028 #define HC_Flush_By_Key(a0) HC_DFlush_By_Key(a0) 00029 #define HC_Flush_Contents(a0,a1) HC_DFlush_Contents(a0,a1) 00030 #define HC_Flush_Geometry(a0) HC_DFlush_Contents(a0,"geometry"); 00031 00032 /* this one is no longer necessary (the functionality moved into 00033 * HC_Reset_System) but provided for backward compatibility */ 00034 #define HC_DReset_System() 00035 00036 /* */ 00037 00038 /* prototypes for the intercepted calls */ 00039 HC_EXTERNAL void HC_CDECL HC_DDelete_By_Key HC_PROTO ((HC_KEY)); 00040 HC_EXTERNAL void HC_CDECL HC_DDelete_Segment HC_PROTO ((const char *)); 00041 HC_EXTERNAL void HC_CDECL HC_DFlush_By_Key HC_PROTO ((HC_KEY)); 00042 HC_EXTERNAL void HC_CDECL HC_DFlush_Contents HC_PROTO (( 00043 const char *, const char *)); 00044 HC_EXTERNAL void HC_CDECL HC_DCleanup HC_PROTO (()); 00045 00046 /* prototypes for the new calls */ 00047 00048 /* Compute Routines */ 00049 HC_EXTERNAL void HC_CDECL HC_DCompute_Optimized_Shell HC_PROTO (( 00050 int, const HCD_POINT *, const float *, int, const int *, const char *, int *, HCD_POINT *, int *, int *, int *, int *)); 00051 #define HC_DCompute_Minimized_Shell(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) HC_DCompute_Optimized_Shell(a0,a1,NULL,a2,a3,a4,a5,a6,a7,a8,a9,a10) 00052 HC_EXTERNAL HC_BOOLEAN HC_CDECL HC_DCompute_Coordinates HC_PROTO (( 00053 const char *, const char *, const HCD_POINT *, const char *, HCD_POINT *)); 00054 HC_EXTERNAL void HC_CDECL HC_DCompute_Transformed_Points HC_PROTO (( 00055 int, const HCD_POINT *, const double *, HCD_POINT *)); 00056 00057 00058 /* NURBS Curves */ 00059 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_NURBS_Curve HC_PROTO (( 00060 const char *, int, int, const HCD_POINT *, 00061 const double *, const double *, double, double)); 00062 HC_EXTERNAL void HC_CDECL HC_DEdit_NURBS_Curve HC_PROTO (( 00063 HC_KEY, int, int, int, int, const HCD_POINT *, const double *, const double* )); 00064 HC_EXTERNAL void HC_CDECL HC_DShow_NURBS_Curve HC_PROTO (( 00065 HC_KEY, int *, int *, HCD_POINT *, double *, double *, double *, double *)); 00066 #define HC_DInsert_NURBS_Curve(a0,a1,a2,a3,a4,a5,a6) ((void) HC_DQKInsert_NURBS_Curve(".",a0,a1,a2,a3,a4,a5,a6)) 00067 #define HC_DQInsert_NURBS_Curve(a0,a1,a2,a3,a4,a5,a6,a7) ((void) HC_DQKInsert_NURBS_Curve(a0,a1,a2,a3,a4,a5,a6,a7)) 00068 #define HC_DKInsert_NURBS_Curve(a0,a1,a2,a3,a4,a5,a6) HC_DQKInsert_NURBS_Curve(".",a0,a1,a2,a3,a4,a5,a6) 00069 00070 /* NURBS Surfaces */ 00071 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_NURBS_Surface HC_PROTO (( 00072 const char *, int, int, int, int, 00073 const HCD_POINT *, const double *, const double *, const double *)); 00074 HC_EXTERNAL void HC_CDECL HC_DEdit_NURBS_Surface HC_PROTO (( 00075 HC_KEY, int, int, int, int, int, int, int, int, const HCD_POINT *, const double *, const double*, const double* )); 00076 HC_EXTERNAL void HC_CDECL HC_DShow_NURBS_Surface HC_PROTO (( 00077 HC_KEY, int *, int *, int *, int *, HCD_POINT *, double *, double *, double *)); 00078 #define HC_DInsert_NURBS_Surface(a0,a1,a2,a3,a4,a5,a6, a7) ((void) HC_DQKInsert_NURBS_Surface(".",a0,a1,a2,a3,a4,a5,a6,a7)) 00079 #define HC_DQInsert_NURBS_Surface(a0,a1,a2,a3,a4,a5,a6,a7, a8) ((void) HC_DQKInsert_NURBS_Surface(a0,a1,a2,a3,a4,a5,a6,a7,a8)) 00080 #define HC_DKInsert_NURBS_Surface(a0,a1,a2,a3,a4,a5,a6, a7) HC_DQKInsert_NURBS_Curve(".",a0,a1,a2,a3,a4,a5,a6,a7) 00081 #define HC_DEdit_NURBS_Surface_Points(a0,a1,a2,a3) HC_DEdit_NURBS_Surface(a0,a1,0,0,0,a2,0,0,0,a3,NULL,NULL,NULL) 00082 #define HC_DEdit_NURBS_Surface_Weights(a0,a1,a2,a3) HC_DEdit_NURBS_Surface(a0,0,a1,0,0,0,a2,0,0,NULL,a3,NULL,NULL) 00083 #define HC_DEdit_NURBS_Surface_Knots(a0,a1,a2,a3,a4,a5,a6) HC_DEdit_NURBS_Surface(a0,0,0,a1,a2,0,0,a3,a4,NULL,NULL,a5,a6) 00084 00085 /* Shells */ 00086 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Shell HC_PROTO (( 00087 const char *, int, const HCD_POINT *, int, const int *)); 00088 HC_EXTERNAL void HC_CDECL HC_DEdit_Shell_Points HC_PROTO (( 00089 HC_KEY, int, int, int, const HCD_POINT *)); 00090 HC_EXTERNAL void HC_CDECL HC_DShow_Shell HC_PROTO (( 00091 HC_KEY, int *, HCD_POINT *, int *, int *)); 00092 #define HC_DInsert_Shell(a0,a1,a2,a3) ((void) HC_DQKInsert_Shell(".",a0,a1,a2,a3)) 00093 #define HC_DQInsert_Shell(a0,a1,a2,a3,a4) ((void) HC_DQKInsert_Shell(a0,a1,a2,a3,a4)) 00094 #define HC_DKInsert_Shell(a0,a1,a2,a3) HC_DQKInsert_Shell(".",a0,a1,a2,a3) 00095 00096 #define HC_DQKInsert_Shell_By_Ref(a0,a1,a2,a3,a4) not_supported 00097 #define HC_DInsert_Shell_By_Ref(a0,a1,a2,a3) ((void) HC_DQKInsert_Shell_By_Ref(".",a0,a1,a2,a3)) 00098 #define HC_DQInsert_Shell_By_Ref(a0,a1,a2,a3,a4) ((void) HC_DQKInsert_Shell_By_Ref(a0,a1,a2,a3,a4)) 00099 #define HC_DKInsert_Shell_By_Ref(a0,a1,a2,a3) HC_DQKInsert_Shell_By_Ref(".",a0,a1,a2,a3) 00100 00101 /* Grids */ 00102 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Grid HC_PROTO (( 00103 const char *, const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *, int, int)); 00104 HC_EXTERNAL void HC_CDECL HC_DShow_Grid HC_PROTO (( 00105 HC_KEY, char *, HCD_POINT *, HCD_POINT *, HCD_POINT *, int *, int *)); 00106 #define HC_DInsert_Grid(a0,a1,a2,a3,a4,a5) ((void) HC_DQKInsert_Grid(".",a0,a1,a2,a3,a4,a5)) 00107 #define HC_DQInsert_Grid(a0,a1,a2,a3,a4,a5,a6) ((void) HC_DQKInsert_Grid(a0,a1,a2,a3,a4,a5,a6)) 00108 #define HC_DKInsert_Grid(a0,a1,a2,a3,a4,a5) HC_DQKInsert_Grid(".",a0,a1,a2,a3,a4,a5) 00109 00110 /* Meshes */ 00111 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Mesh HC_PROTO (( 00112 const char *, int, int, const HCD_POINT *)); 00113 HC_EXTERNAL void HC_CDECL HC_DEdit_Mesh HC_PROTO (( 00114 HC_KEY, int, int, int, int, const HCD_POINT *)); 00115 HC_EXTERNAL void HC_CDECL HC_DShow_Mesh HC_PROTO (( 00116 HC_KEY, int *, int *, HCD_POINT *)); 00117 #define HC_DInsert_Mesh(a0,a1,a2) ((void) HC_DQKInsert_Mesh(".",a0,a1,a2)) 00118 #define HC_DQInsert_Mesh(a0,a1,a2,a3) ((void) HC_DQKInsert_Mesh(a0,a1,a2,a3)) 00119 #define HC_DKInsert_Mesh(a0,a1,a2) HC_DQKInsert_Mesh(".",a0,a1,a2) 00120 00121 #define HC_DQKInsert_Mesh_By_Ref(a0,a1,a2,a3) not_supported 00122 #define HC_DInsert_Mesh_By_Ref(a0,a1,a2) ((void) HC_DQKInsert_Mesh_By_Ref(".",a0,a1,a2)) 00123 #define HC_DQInsert_Mesh_By_Ref(a0,a1,a2,a3) ((void) HC_DQKInsert_Mesh_By_Ref(a0,a1,a2,a3)) 00124 #define HC_DKInsert_Mesh_By_Ref(a0,a1,a2) HC_DQKInsert_Mesh_By_Ref(".",a0,a1,a2) 00125 00126 /* Polylines */ 00127 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Polyline HC_PROTO (( 00128 const char *, int, const HCD_POINT *)); 00129 HC_EXTERNAL void HC_CDECL HC_DEdit_Polyline HC_PROTO (( 00130 HC_KEY, int, int, int, const HCD_POINT *)); 00131 HC_EXTERNAL void HC_CDECL HC_DShow_Polyline HC_PROTO (( 00132 HC_KEY, int *, HCD_POINT *)); 00133 #define HC_DInsert_Polyline(a0,a1) ((void) HC_DQKInsert_Polyline(".",a0,a1)) 00134 #define HC_DQInsert_Polyline(a0,a1,a2) ((void) HC_DQKInsert_Polyline(a0,a1,a2)) 00135 #define HC_DKInsert_Polyline(a0,a1) HC_DQKInsert_Polyline(".",a0,a1) 00136 00137 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Ink HC_PROTO (( 00138 const char *, double, double, double)); 00139 #define HC_DInsert_Ink(a0,a1,a2) ((void)HC_DQKInsert_Ink(".",a0,a1,a2)) 00140 #define HC_DQInsert_Ink(a0,a1,a2,a3) ((void)HC_DQKInsert_Ink(a0,a1,a2,a3)) 00141 #define HC_DKInsert_Ink(a0,a1,a2) HC_DQKInsert_Ink(".",a0,a1,a2) 00142 #define HC_DQRestart_Ink(a0) HC_QRestart_Ink(a0) 00143 #define HC_DRestart_Ink HC_Restart_Ink 00144 00145 00146 /* Lines */ 00147 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Line HC_PROTO (( 00148 const char *, double, double, double, double, double, double)); 00149 HC_EXTERNAL void HC_CDECL HC_DShow_Line HC_PROTO (( 00150 HC_KEY, double *, double *, double *, double *, double *, double *)); 00151 #define HC_DInsert_Line(a0,a1,a2,a3,a4,a5) ((void) HC_DQKInsert_Line(".",a0,a1,a2,a3,a4,a5)) 00152 #define HC_DQInsert_Line(a0,a1,a2,a3,a4,a5,a6) ((void) HC_DQKInsert_Line(a0,a1,a2,a3,a4,a5,a6)) 00153 #define HC_DKInsert_Line(a0,a1,a2,a3,a4,a5) HC_DQKInsert_Line(".",a0,a1,a2,a3,a4,a5) 00154 00155 /* Polygons */ 00156 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Polygon HC_PROTO (( 00157 const char *, int, const HCD_POINT *)); 00158 HC_EXTERNAL void HC_CDECL HC_DEdit_Polygon HC_PROTO (( 00159 HC_KEY, int, int, int, const HCD_POINT *)); 00160 HC_EXTERNAL void HC_CDECL HC_DShow_Polygon HC_PROTO (( 00161 HC_KEY, int *, HCD_POINT *)); 00162 #define HC_DInsert_Polygon(a0,a1) ((void)HC_DQKInsert_Polygon(".",a0,a1)) 00163 #define HC_DQInsert_Polygon(a0,a1,a2) ((void)HC_DQKInsert_Polygon(a0,a1,a2)) 00164 #define HC_DKInsert_Polygon(a0,a1) HC_DQKInsert_Polygon(".",a0,a1) 00165 00166 /* Markers */ 00167 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Marker HC_PROTO (( 00168 const char *, double, double, double)); 00169 HC_EXTERNAL void HC_CDECL HC_DShow_Marker HC_PROTO (( 00170 HC_KEY, double *, double *, double *)); 00171 #define HC_DInsert_Marker(a0,a1,a2) ((void)HC_DQKInsert_Marker(".",a0,a1,a2)) 00172 #define HC_DQInsert_Marker(a0,a1,a2,a3) ((void)HC_DQKInsert_Marker(a0,a1,a2,a3)) 00173 #define HC_DKInsert_Marker(a0,a1,a2) HC_DQKInsert_Marker(".",a0,a1,a2) 00174 00175 /* Cylinders */ 00176 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Cylinder HC_PROTO (( 00177 const char *, const HCD_POINT *, const HCD_POINT *, const double, const char *)); 00178 HC_EXTERNAL void HC_CDECL HC_DShow_Cylinder HC_PROTO (( 00179 HC_KEY, HCD_POINT *, HCD_POINT *, double *, char *)); 00180 #define HC_DInsert_Cylinder(a0,a1,a2,a3) ((void)HC_DQKInsert_Cylinder(".",a0,a1,a2,a3)) 00181 #define HC_DQInsert_Cylinder(a0,a1,a2,a3,a4) ((void)HC_DQKInsert_Cylinder(a0,a1,a2,a3,a4)) 00182 #define HC_DKInsert_Cylinder(a0,a1,a2,a3) HC_DQKInsert_Cylinder(".",a0,a1,a2,a3) 00183 00184 00185 /* Circles */ 00186 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Circle HC_PROTO (( 00187 const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *)); 00188 HC_EXTERNAL void HC_CDECL HC_DShow_Circle HC_PROTO (( 00189 HC_KEY, HCD_POINT *, HCD_POINT *, HCD_POINT *)); 00190 #define HC_DInsert_Circle(a0,a1,a2) ((void)HC_DQKInsert_Circle(".",a0,a1,a2)) 00191 #define HC_DQInsert_Circle(a0,a1,a2,a3) ((void)HC_DQKInsert_Circle(a0,a1,a2,a3)) 00192 #define HC_DKInsert_Circle(a0,a1,a2) HC_DQKInsert_Circle(".",a0,a1,a2) 00193 00194 00195 00196 /* Circular Arcs */ 00197 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Circular_Arc HC_PROTO (( 00198 const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *)); 00199 HC_EXTERNAL void HC_CDECL HC_DShow_Circular_Arc HC_PROTO (( 00200 HC_KEY, HCD_POINT *, HCD_POINT *, HCD_POINT *)); 00201 #define HC_DInsert_Circular_Arc(a0,a1,a2) ((void)HC_DQKInsert_Circular_Arc(".",a0,a1,a2)) 00202 #define HC_DQInsert_Circular_Arc(a0,a1,a2,a3) ((void)HC_DQKInsert_Circular_Arc(a0,a1,a2,a3)) 00203 #define HC_DKInsert_Circular_Arc(a0,a1,a2) HC_DQKInsert_Circular_Arc(".",a0,a1,a2) 00204 00205 /* Circular Chords */ 00206 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Circular_Chord HC_PROTO (( 00207 const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *)); 00208 HC_EXTERNAL void HC_CDECL HC_DShow_Circular_Chord HC_PROTO (( 00209 HC_KEY, HCD_POINT *, HCD_POINT *, HCD_POINT *)); 00210 #define HC_DInsert_Circular_Chord(a0,a1,a2) ((void)HC_DQKInsert_Circular_Chord(".",a0,a1,a2)) 00211 #define HC_DQInsert_Circular_Chord(a0,a1,a2,a3) ((void)HC_DQKInsert_Circular_Chord(a0,a1,a2,a3)) 00212 #define HC_DKInsert_Circular_Chord(a0,a1,a2) HC_DQKInsert_Circular_Chord(".",a0,a1,a2) 00213 00214 /* Circular Wedges */ 00215 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Circular_Wedge HC_PROTO (( 00216 const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *)); 00217 HC_EXTERNAL void HC_CDECL HC_DShow_Circular_Wedge HC_PROTO (( 00218 HC_KEY, HCD_POINT *, HCD_POINT *, HCD_POINT *)); 00219 #define HC_DInsert_Circular_Wedge(a0,a1,a2) ((void)HC_DQKInsert_Circular_Wedge(".",a0,a1,a2)) 00220 #define HC_DQInsert_Circular_Wedge(a0,a1,a2,a3) ((void)HC_DQKInsert_Circular_Wedge(a0,a1,a2,a3)) 00221 #define HC_DKInsert_Circular_Wedge(a0,a1,a2) HC_DQKInsert_Circular_Wedge(".",a0,a1,a2) 00222 00223 /* Ellipses */ 00224 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Ellipse HC_PROTO (( 00225 const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *)); 00226 HC_EXTERNAL void HC_CDECL HC_DShow_Ellipse HC_PROTO (( 00227 HC_KEY, HCD_POINT *, HCD_POINT *, HCD_POINT *)); 00228 #define HC_DInsert_Ellipse(a0,a1,a2) ((void)HC_DQKInsert_Ellipse(".",a0,a1,a2)) 00229 #define HC_DQInsert_Ellipse(a0,a1,a2,a3) ((void)HC_DQKInsert_Ellipse(a0,a1,a2,a3)) 00230 #define HC_DKInsert_Ellipse(a0,a1,a2) HC_DQKInsert_Ellipse(".",a0,a1,a2) 00231 00232 00233 /* Elliptical Arcs */ 00234 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Elliptical_Arc HC_PROTO (( 00235 const char *, const HCD_POINT *, const HCD_POINT *, const HCD_POINT *, double, double)); 00236 HC_EXTERNAL void HC_CDECL HC_DShow_Elliptical_Arc HC_PROTO (( 00237 HC_KEY, HCD_POINT *, HCD_POINT *, HCD_POINT *, double *, double *)); 00238 #define HC_DInsert_Elliptical_Arc(a0,a1,a2,a3,a4) ((void) HC_DQKInsert_Elliptical_Arc(".",a0,a1,a2,a3,a4)) 00239 #define HC_DQInsert_Elliptical_Arc(a0,a1,a2,a3,a4,a5) ((void) HC_DQKInsert_Elliptical_Arc(a0,a1,a2,a3,a4,a5)) 00240 #define HC_DKInsert_Elliptical_Arc(a0,a1,a2,a3,a4) HC_DQKInsert_Elliptical_Arc(".",a0,a1,a2,a3,a4) 00241 00242 00243 /* Cutting Planes */ 00244 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Cutting_Plane HC_PROTO (( 00245 const char *, double, double, double, double)); 00246 HC_EXTERNAL void HC_CDECL HC_DShow_Cutting_Plane HC_PROTO (( 00247 HC_KEY, double *, double *, double *, double *)); 00248 #define HC_DInsert_Cutting_Plane(a0,a1,a2,a3) ((void)HC_DQKInsert_Cutting_Plane(".",a0,a1,a2,a3)) 00249 #define HC_DQInsert_Cutting_Plane(a0,a1,a2,a3,a4) ((void)HC_DQKInsert_Cutting_Plane(a0,a1,a2,a3,a4)) 00250 #define HC_DKInsert_Cutting_Plane(a0,a1,a2,a3) HC_DQKInsert_Cutting_Plane(".",a0,a1,a2,a3) 00251 00252 /* Images */ 00253 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Image HC_PROTO (( 00254 const char *, double, double, double, const char *, int, int, const HC_PIXEL *)); 00255 HC_EXTERNAL void HC_CDECL HC_DMove_Image HC_PROTO (( 00256 HC_KEY, double, double, double)); 00257 HC_EXTERNAL void HC_CDECL HC_DShow_Image HC_PROTO (( 00258 HC_KEY, double *, double *, double *, char *, int *, int *, HC_PIXEL *)); 00259 #define HC_DInsert_Image(a0,a1,a2,a3,a4,a5,a6) ((void) HC_DQKInsert_Image(".",a0,a1,a2,a3,a4,a5,a6)) 00260 #define HC_DQInsert_Image(a0,a1,a2,a3,a4,a5,a6,a7) ((void) HC_DQKInsert_Image(a0,a1,a2,a3,a4,a5,a6,a7)) 00261 #define HC_DKInsert_Image(a0,a1,a2,a3,a4,a5,a6) HC_DQKInsert_Image(".",a0,a1,a2,a3,a4,a5,a6) 00262 00263 #define HC_DQKInsert_Image_By_Ref(a0,a1,a2,a3,a4,a5,a6,a7) not_supported 00264 #define HC_DInsert_Image_By_Ref(a0,a1,a2,a3,a4,a5,a6) ((void) HC_DQKInsert_Image_By_Ref(".",a0,a1,a2,a3,a4,a5,a6)) 00265 #define HC_DQInsert_Image_By_Ref(a0,a1,a2,a3,a4,a5,a6,a7) ((void) HC_DQKInsert_Image_By_Ref(a0,a1,a2,a3,a4,a5,a6,a7)) 00266 #define HC_DKInsert_Image_By_Ref(a0,a1,a2,a3,a4,a5,a6) HC_DQKInsert_Image_By_Ref(".",a0,a1,a2,a3,a4,a5,a6) 00267 00268 /* Local Lights */ 00269 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Local_Light HC_PROTO (( 00270 const char *, double, double, double)); 00271 HC_EXTERNAL void HC_CDECL HC_DShow_Local_Light HC_PROTO (( 00272 HC_KEY, double *, double *, double *)); 00273 #define HC_DInsert_Local_Light(a0,a1,a2) ((void)HC_DQKInsert_Local_Light(".",a0,a1,a2)) 00274 #define HC_DQInsert_Local_Light(a0,a1,a2,a3) ((void)HC_DQKInsert_Local_Light(a0,a1,a2,a3)) 00275 #define HC_DKInsert_Local_Light(a0,a1,a2) HC_DQKInsert_Local_Light(".",a0,a1,a2) 00276 00277 /* Spot Lights */ 00278 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Spot_Light HC_PROTO (( 00279 const char *, const HCD_POINT *, const HCD_POINT *, const char *)); 00280 HC_EXTERNAL void HC_CDECL HC_DShow_Spot_Light HC_PROTO (( 00281 HC_KEY, HCD_POINT *, HCD_POINT *, char *)); 00282 #define HC_DInsert_Spot_Light(a0,a1,a2) ((void)HC_DQKInsert_Spot_Light(".",a0,a1,a2)) 00283 #define HC_DQInsert_Spot_Light(a0,a1,a2,a3) ((void)HC_DQKInsert_Spot_Light(a0,a1,a2,a3)) 00284 #define HC_DKInsert_Spot_Light(a0,a1,a2) HC_DQKInsert_Spot_Light(".",a0,a1,a2) 00285 00286 /* Distant Lights */ 00287 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Distant_Light HC_PROTO (( 00288 const char *, double, double, double)); 00289 HC_EXTERNAL void HC_CDECL HC_DMove_Distant_Light HC_PROTO (( 00290 HC_KEY, double, double, double)); 00291 HC_EXTERNAL void HC_CDECL HC_DShow_Distant_Light HC_PROTO (( 00292 HC_KEY, double *, double *, double *)); 00293 #define HC_DInsert_Distant_Light(a0,a1,a2) ((void)HC_DQKInsert_Distant_Light(".",a0,a1,a2)) 00294 #define HC_DQInsert_Distant_Light(a0,a1,a2,a3) ((void)HC_DQKInsert_Distant_Light(a0,a1,a2,a3)) 00295 #define HC_DKInsert_Distant_Light(a0,a1,a2) HC_DQKInsert_Distant_Light(".",a0,a1,a2) 00296 00297 /* Area Lights */ 00298 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Area_Light HC_PROTO (( 00299 const char *, int, const HCD_POINT *, const char *)); 00300 HC_EXTERNAL void HC_CDECL HC_DShow_Area_Light HC_PROTO (( 00301 HC_KEY, int *, HCD_POINT *, char *)); 00302 #define HC_DInsert_Area_Light(a0,a1,a2) ((void)HC_DQKInsert_Area_Light(".",a0,a1,a2)) 00303 #define HC_DQInsert_Area_Light(a0,a1,a2,a3) ((void)HC_DQKInsert_Area_Light(a0,a1,a2,a3)) 00304 #define HC_DKInsert_Area_Light(a0,a1,a2) HC_DQKInsert_Area_Light(".",a0,a1,a2) 00305 00306 /* Text */ 00307 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Text HC_PROTO (( 00308 const char *, double, double, double, const char *)); 00309 HC_EXTERNAL void HC_CDECL HC_DShow_Text HC_PROTO (( 00310 HC_KEY, double *, double *, double *, char *)); 00311 #define HC_DInsert_Text(a0,a1,a2,a3) ((void)HC_DQKInsert_Text(".",a0,a1,a2,a3)) 00312 #define HC_DQInsert_Text(a0,a1,a2,a3,a4) ((void)HC_DQKInsert_Text(a0,a1,a2,a3,a4)) 00313 #define HC_DKInsert_Text(a0,a1,a2,a3) HC_DQKInsert_Text(".",a0,a1,a2,a3) 00314 00315 00316 HC_EXTERNAL HC_KEY HC_CDECL HC_DQKInsert_Text_With_Encoding HC_PROTO (( 00317 const char *, double, double, double, const char *, const char *)); 00318 HC_EXTERNAL void HC_CDECL HC_DShow_Text_With_Encoding HC_PROTO (( 00319 HC_KEY, double *, double *, double *, char *, char *)); 00320 #define HC_DInsert_Text_With_Encoding(a0,a1,a2,a3,a4) ((void)HC_DQKInsert_Text_With_Encoding(".",a0,a1,a2,a3,a4)) 00321 #define HC_DQInsert_Text_With_Encoding(a0,a1,a2,a3,a4,a5) ((void)HC_DQKInsert_Text_With_Encoding(a0,a1,a2,a3,a4,a5)) 00322 #define HC_DKInsert_Text_With_Encoding(a0,a1,a2,a3,a4) HC_DQKInsert_Text_With_Encoding(".",a0,a1,a2,a3,a4) 00323 00324 HC_EXTERNAL void HC_CDECL HC_DSet_Camera HC_PROTO (( 00325 const HCD_POINT *, const HCD_POINT *, const HCD_POINT *, double, double, const char * )); 00326 HC_EXTERNAL void HC_CDECL HC_DSet_Camera_Position HC_PROTO (( 00327 double, double, double )); 00328 HC_EXTERNAL void HC_CDECL HC_DSet_Camera_Target HC_PROTO (( 00329 double, double, double )); 00330 HC_EXTERNAL void HC_CDECL HC_DSet_Camera_Up_Vector HC_PROTO (( 00331 double, double, double )); 00332 HC_EXTERNAL void HC_CDECL HC_DSet_Camera_Field HC_PROTO (( 00333 double, double )); 00334 HC_EXTERNAL void HC_CDECL HC_DShow_Camera HC_PROTO (( 00335 HCD_POINT *, HCD_POINT *, HCD_POINT *, double *, double *, char * )); 00336 HC_EXTERNAL void HC_CDECL HC_DShow_Camera_Position HC_PROTO (( 00337 double *, double *, double * )); 00338 HC_EXTERNAL void HC_CDECL HC_DShow_Camera_Target HC_PROTO (( 00339 double *, double *, double * )); 00340 HC_EXTERNAL void HC_CDECL HC_DShow_Camera_Up_Vector HC_PROTO (( 00341 double *, double *, double * )); 00342 HC_EXTERNAL void HC_CDECL HC_DShow_Camera_Field HC_PROTO (( 00343 double *, double * )); 00344 HC_EXTERNAL HC_KEY HC_CDECL HC_DKCompute_Boolean_Shell HC_PROTO (( 00345 int, const HCD_POINT *, const HC_POINT *, int, const int *, int, const HCD_POINT *, const HC_POINT *, int, const int *, const char *, 00346 const HC_POINT *, const HC_POINT *, const unsigned short *, const unsigned short *)); 00347 00348 HC_EXTERNAL int HC_DShow_Existence_By_Key HC_PROTO (( 00349 HC_KEY )); 00350 00351 #endif /* HCD_DEFINED */