22 #include "HOpcodeShell.h" 23 #include "HPolyPoly.h" 26 #define OVERLOAD_INTERPRET_INT(base_class__name__abc) \ 27 TK_Status Interpret (BStreamFileToolkit & tk, HC_KEY key, int variant = 0) \ 29 TK_Status status = base_class__name__abc::Interpret(tk,key,variant); \ 33 #define OVERLOAD_INTERPRET_CHAR(base_class__name__abc) \ 34 TK_Status Interpret (BStreamFileToolkit & tk, HC_KEY key, char const * name) \ 36 TK_Status status = base_class__name__abc::Interpret(tk,key,name); \ 41 #define OVERLOAD_WRITE(base_class__name__abc) \ 42 TK_Status Write(BStreamFileToolkit & tk) \ 44 TK_Status status = base_class__name__abc::Write(tk); \ 45 m_pPersIdent->AssociateKey(m_key); \ 49 #define OVERLOAD_EXECUTE(base_class___name__abc) \ 50 TK_Status Execute (BStreamFileToolkit &tk) \ 52 TK_Status status = base_class___name__abc::Execute(tk); \ 53 m_pPersIdent->AssociateKey(last_key (tk)); \ 57 #define OVERLOAD_WRITE_POLY(base_class__name__abc) \ 58 TK_Status Write(BStreamFileToolkit & tk) \ 60 TK_Status status = base_class__name__abc::Write(tk); \ 61 for (int i = 0; i < m_primitive_count; i++) \ 62 m_pPersIdent->AssociateKey(m_keys[i]); \ 66 #define OVERLOAD_EXECUTE_POLY(base_class___name__abc) \ 67 TK_Status Execute (BStreamFileToolkit & tk) \ 69 TK_Status status = base_class___name__abc::Execute(tk); \ 70 for (int i = 0; i < m_primitive_count; i++) \ 71 m_pPersIdent->AssociateKey(m_keys[i]); \ 87 delete_vhash(m_pKeyIdentHashTable);
88 delete_vhash(m_pIdentKeyHashTable);
95 long AssociateKey(HC_KEY key);
101 bool DisAssociateKey(HC_KEY key);
106 void AssociateKeysInSegment(
const char *seg = 0);
111 void DisAssociateKeysInSegment(
const char *seg = 0);
117 HC_KEY GetKeyFromIdent(
long ident);
123 long GetIdentFromKey(HC_KEY ident);
128 void SetupStreamToolkit(HStreamFileToolkit *tk);
135 unsigned int m_PersCounter;
136 vhash_t *m_pKeyIdentHashTable;
137 vhash_t *m_pIdentKeyHashTable;
149 m_pPersIdent = persIdent;
151 OVERLOAD_INTERPRET_INT(HTK_Shell)
152 OVERLOAD_WRITE(HTK_Shell)
153 OVERLOAD_EXECUTE(HTK_Shell)
160 virtual TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
175 m_pPersIdent = persIdent;
178 OVERLOAD_INTERPRET_CHAR(HTK_Open_Segment)
179 OVERLOAD_WRITE(HTK_Open_Segment)
180 OVERLOAD_EXECUTE(HTK_Open_Segment)
187 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
203 m_pPersIdent = persIdent;
205 OVERLOAD_INTERPRET_INT(HTK_Circle)
206 OVERLOAD_WRITE(HTK_Circle)
207 OVERLOAD_EXECUTE(HTK_Circle)
214 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
230 m_pPersIdent = persIdent;
232 OVERLOAD_INTERPRET_INT(HTK_Ellipse)
233 OVERLOAD_WRITE(HTK_Ellipse)
234 OVERLOAD_EXECUTE(HTK_Ellipse)
241 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
259 m_pPersIdent = persIdent;
261 OVERLOAD_INTERPRET_INT(HTK_Grid)
262 OVERLOAD_WRITE(HTK_Grid)
263 OVERLOAD_EXECUTE(HTK_Grid)
270 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
286 m_pPersIdent = persIdent;
288 OVERLOAD_INTERPRET_INT(HTK_Image)
289 OVERLOAD_WRITE(HTK_Image)
290 OVERLOAD_EXECUTE(HTK_Image)
297 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **)
const;
314 m_pPersIdent = persIdent;
316 OVERLOAD_INTERPRET_INT(HTK_Line)
317 OVERLOAD_WRITE(HTK_Line)
318 OVERLOAD_EXECUTE(HTK_Line)
325 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
342 m_pPersIdent = persIdent;
344 OVERLOAD_INTERPRET_INT(HTK_Polypoint)
345 OVERLOAD_WRITE(HTK_Polypoint)
346 OVERLOAD_EXECUTE(HTK_Polypoint)
353 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
370 m_pPersIdent = persIdent;
372 OVERLOAD_WRITE_POLY(HTK_PolyPolypoint)
373 OVERLOAD_EXECUTE_POLY(HTK_PolyPolypoint)
380 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
395 m_pPersIdent = persIdent;
397 OVERLOAD_INTERPRET_INT(HTK_Point)
398 OVERLOAD_WRITE(HTK_Point)
399 OVERLOAD_EXECUTE(HTK_Point)
406 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
423 m_pPersIdent = persIdent;
425 OVERLOAD_INTERPRET_INT(HTK_Spot_Light)
426 OVERLOAD_WRITE(HTK_Spot_Light)
427 OVERLOAD_EXECUTE(HTK_Spot_Light)
434 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
451 m_pPersIdent = persIdent;
453 OVERLOAD_INTERPRET_INT(HTK_Area_Light)
454 OVERLOAD_WRITE(HTK_Area_Light)
455 OVERLOAD_EXECUTE(HTK_Area_Light)
462 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
479 m_pPersIdent = persIdent;
481 OVERLOAD_INTERPRET_INT(HTK_Mesh)
482 OVERLOAD_WRITE(HTK_Mesh)
483 OVERLOAD_EXECUTE(HTK_Mesh)
490 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
507 m_pPersIdent = persIdent;
509 OVERLOAD_INTERPRET_INT(HTK_NURBS_Curve)
510 OVERLOAD_WRITE(HTK_NURBS_Curve)
511 OVERLOAD_EXECUTE(HTK_NURBS_Curve)
518 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
535 m_pPersIdent = persIdent;
537 OVERLOAD_INTERPRET_INT(HTK_Cutting_Plane)
538 OVERLOAD_WRITE(HTK_Cutting_Plane)
539 OVERLOAD_EXECUTE(HTK_Cutting_Plane)
546 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
563 m_pPersIdent = persIdent;
565 OVERLOAD_INTERPRET_INT(HTK_Text)
566 OVERLOAD_WRITE(HTK_Text)
567 OVERLOAD_EXECUTE(HTK_Text)
574 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
591 m_pPersIdent = persIdent;
593 OVERLOAD_INTERPRET_INT(HTK_Referenced_Segment)
594 OVERLOAD_WRITE(HTK_Referenced_Segment)
595 OVERLOAD_EXECUTE(HTK_Referenced_Segment)
602 TK_Status
Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler)
const;
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_PIReferenced_Segment(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:589
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HSharedKey.h:556
TK_PIImage(HSharedKey *persIdent)
Definition: HSharedKey.h:284
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_PIText(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:561
Definition: HSharedKey.h:363
Definition: HSharedKey.h:196
TK_PICutting_Plane(HSharedKey *persIdent)
Definition: HSharedKey.h:533
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_PIMesh(HSharedKey *persIdent)
Definition: HSharedKey.h:477
Definition: HSharedKey.h:168
Definition: HSharedKey.h:500
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HSharedKey.h:416
Definition: HSharedKey.h:388
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HSharedKey.h:279
Definition: HSharedKey.h:528
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_PIPoint(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:393
TK_PIEllipse(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:228
TK_PICircle(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:201
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HSharedKey.h:307
Definition: HSharedKey.h:252
Definition: HSharedKey.h:335
TK_PILine(HSharedKey *persIdent)
Definition: HSharedKey.h:312
TK_PIOpen_Segment(HSharedKey *persIdent)
Definition: HSharedKey.h:173
TK_PIShell(HSharedKey *persIdent)
Definition: HSharedKey.h:147
TK_PISpot_Light(HSharedKey *persIdent)
Definition: HSharedKey.h:421
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HSharedKey.h:444
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_PIGrid(HSharedKey *persIdent)
Definition: HSharedKey.h:257
TK_PIPolypoint(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:340
Definition: HSharedKey.h:223
Definition: HSharedKey.h:142
Definition: HSharedKey.h:472
TK_PIArea_Light(HSharedKey *persIdent)
Definition: HSharedKey.h:449
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **) const
TK_PINURBS_Curve(HSharedKey *persIdent)
Definition: HSharedKey.h:505
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_PIPolyPolypoint(unsigned char opcode, HSharedKey *persIdent)
Definition: HSharedKey.h:368
Definition: HSharedKey.h:584
Definition: HSharedKey.h:80
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const