DI-Guy SDK Documentation  13.2
diguyGraphicsFile.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2019 VT MAK
4  ** All rights reserved.
5  *********************************************************************/
6 
7 /*********************************************************************/
14 #ifndef __diguyGraphicsFile_H
15 #define __diguyGraphicsFile_H
16 
17 #ifdef SWIG
18 %module diguyGraphicsFile
19 #else
20 #define CPLUSPLUS_ONLY
21 #endif
22 
23 #ifdef CPLUSPLUS_ONLY
24 #include <diguy_constants.h>
25 
26 class diguyGraphicsFile;
27 class bdiGeometryFile;
28 
29 /****************************************************************************/
30 
31 #endif
32 
33 #include <declspec_diguy.h>
34 
35 /****************************************************************************/
36 class BDI_DECLSPEC_diguy diguyGraphicsFile
37 {
38 
39 public:
40 
41 /*****************************************************************************/
55  /*l
56  *b Description:
57  **
58  ** Returns the filename of the graphics file. This is the filename
59  ** that was passed to load(). The filename may be NULL if load() has
60  ** not been called.
61  **
62  *b Returns:
63  **
64  ** filename of the graphics file
65  */
66  const char* get_filename();
67 
68 
69 /*****************************************************************************/
81 #ifdef CPLUSPLUS_ONLY
82 
83  /*l
84  *b Description:
85  **
86  ** This function is called when the contents of a geometry file need
87  ** to be loaded.
88  **
89  *i DI-Guy Loader:
90  **
91  ** Implementations using the DI-Guy Loader usually do not override
92  ** this function.
93  **
94  *i External Loader:
95  **
96  ** Implementations using an External Loader must override this
97  ** function.
98  **
99  *b Arguments:
100  **
101  *a filename - the name of the geometry file that needs to
102  *a be loaded
103  *a extension - the extension (usually 3 characters) of the file;
104  *a can help quickly choose an appropriate external
105  *a loader
106  **
107  ** The filename argument includes the full path to the file to
108  ** be loaded.
109  **
110  *b Callable From:
111  **
112  *- - N/A (automatically called by DI-Guy Graphics API during
113  *- the Build Stage)
114  */
115  virtual int load(const char* filename, const char* extension);
116 
117  /*l
118  *b Description:
119  **
120  ** This function does anything necessary to unload assets created
121  ** during the load() call. It will be called after all meshes,
122  ** states, etc., that were extracted from the file have been
123  ** unloaded.
124  **
125  *i DI-Guy Loader:
126  **
127  ** Implementations using the DI-Guy Loader usually do not override
128  ** this function.
129  **
130  *i External Loader:
131  **
132  ** Implementations using an External Loader must override this
133  ** function.
134  **
135  *b Callable From:
136  **
137  *- - N/A (automatically called by DI-Guy Graphics API during
138  *- the Unbuild Stage)
139  */
140  virtual int unload();
141 
142  /*l
143  *b Description:
144  **
145  ** This function needs to find and return an object representing a
146  ** shape in the data loaded during the load() call. Typically this
147  ** is a group-type node above the meshes containing the geometry of
148  ** the shape.
149  **
150  ** The returned object is not used directly by DI-Guy. Instead, it
151  ** will be used in later calls to
152  ** diguyGraphicsShape::get_diguy_graphics_file_part(), during the
153  ** Build Stage.
154  **
155  *b Arguments:
156  **
157  *a part_name - the name of the part that needs to be found
158  **
159  *i DI-Guy Loader:
160  **
161  ** Implementations using the DI-Guy Loader usually do not override
162  ** this function.
163  **
164  *i External Loader:
165  **
166  ** Implementations using an External Loader must override this
167  ** function.
168  **
169  *b Callable From:
170  **
171  *- - N/A (automatically called by DI-Guy Graphics API during
172  *- the Build Stage)
173  */
174  virtual void* find_part(const char* part_name);
175 
176 #endif
177 
178 
179 /****************************************************************************/
180 /****************************************************************************/
181 
186 #ifdef CPLUSPLUS_ONLY
187 
188  bdiGeometryFile* get_scripted_object() {return m_scripted_object;}
189 
190 protected:
191 
192  /*l
193  ** A protected constructor. Constructors are called automatically
194  ** by DI-Guy.
195  */
196  diguyGraphicsFile(void* internal_data);
197 
198  /*l
199  ** A protected destructor. Destructors are called automatically
200  ** by DI-Guy.
201  */
202  virtual ~diguyGraphicsFile();
204 private:
205 
206  /*l
207  ** A pointer to internal data.
208  */
209  bdiGeometryFile* m_scripted_object;
210 
211  friend class bdiGeometryFactory;
212  friend class bdiGeometryFile;
213 
214 #endif
215 
216 };
217 
218 
219 #endif /* __diguyGraphicsFile_H */
220 
Definition: diguyGraphicsFile.h:35