HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_FileFormatH9.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GA_FileFormatH9.h ( GA Library, C++)
7  *
8  * COMMENTS: Collection of classes to aid in loading ./geo/.bgeo files
9  */
10 
11 #ifndef __GA_FileFormatH9__
12 #define __GA_FileFormatH9__
13 
14 #include "GA_API.h"
15 
17 
18 namespace GA_FileFormatH9
19 {
20 
21 /// An abstract class for mapping primitive definitions to an appropriate H9
22 /// primitive type or vice versa.
24 {
25 public:
26  virtual ~PrimTypeXlate() {}
27 
28  /// Map the given GA_PrimitiveDefinition to the appropriate H9 primitive
29  /// type, if any. Returns 0 when no appropriate H9 type exists.
30  virtual unsigned getTypeH9(const GA_PrimitiveDefinition &) const = 0;
31 
32  /// Map the given GA_PrimitiveDefinition to the appropriate H9 primitive
33  /// type token, if any. Returns 0 when no appropriate H9 type exists.
34  virtual const char *getTokenH9(const GA_PrimitiveDefinition &) const = 0;
35 
36  /// Get the primitive definition to use when loading the specified H9
37  /// primitive type, specified either by type id or type token.
38  virtual const GA_PrimitiveDefinition *getFactoryDefinition(
39  unsigned h9_primtype) const = 0;
40  virtual const GA_PrimitiveDefinition *getFactoryDefinition(
41  const char *h9_primtype_token) const = 0;
42 };
43 
44 }
45 
46 #endif
#define GA_API
Definition: GA_API.h:14
Definition of a geometric primitive.