Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HBaseModel.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: a31a56c5d92f91a0548cf98f5ed340845f66edeb $
13 //
14 
15 #ifndef _HBASEMODEL_H
16 #define _HBASEMODEL_H
17 
18 #ifdef H_PACK_8
19 #pragma pack(push)
20 #pragma pack(8)
21 #endif
22 
23 #include "HTools.h"
24 
25 
26 class HDB;
27 class HBaseView;
28 class HModelInfo;
29 class HStreamFileToolkit;
30 class HShellVertexData;
32 class HEventManager;
33 class HOutputHandlerOptions;
36 class HBhvSegmentTracker;
37 #ifndef SWIG
38 class TK_Dispatch_XML;
39 #endif
40 
42 
52 class MVO_API HBaseModel
53 {
54 
55 public:
56 
58  HBaseModel(char const * model = 0);
59 
61  virtual ~HBaseModel();
62 
64  virtual void Init();
65 
67  virtual void Flush();
68 
70  bool GetFileLoadComplete() const {return m_bFileLoadComplete;};
72  void SetFileLoadComplete(bool value, HBaseView * pHView=0);
73 
75  bool GetObjectCheck() const {return m_bObjectCheck;};
77  void SetObjectCheck(bool value) {m_bObjectCheck=value;};
78 
80  void SetStaticModel(bool value);
82  bool GetStaticModel() const;
84  bool GetStaticModelOn() const;
85 
87  void SetLMVModel(bool value);
89  bool GetLMVModel() const;
90 
92  bool GetFirstFitComplete() const {return m_bFirstFitComplete;};
94  void SetFirstFitComplete(bool value) {m_bFirstFitComplete=value;};
95 
96 
97 
98 
111  virtual HFileInputResult Read(const __wchar_t * FileName, HBaseView * pHView=0, bool clean_include=true, HInputHandlerOptions * options = 0);
112 #ifdef H_USHORT_OVERLOAD
113  virtual HFileInputResult Read(const unsigned short * FileName, HBaseView * pHView=0, bool clean_include=true, HInputHandlerOptions * options = 0){
114  H_UTF16 utf16;
115  utf16.encodedText((utf16_char*)FileName);
116  return Read((__wchar_t*)H_WCS(utf16).encodedText(), pHView, clean_include, options);
117  }
118 #endif
119  virtual HFileInputResult Read(const char * FileName, HBaseView * pHView=0, bool clean_include=true, HInputHandlerOptions * options = 0){
120  return Read((__wchar_t*)H_WCS(FileName).encodedText(), pHView, clean_include, options);
121  }
122 
134  virtual HFileOutputResult WriteWithOptions(const __wchar_t * FileName, HBaseView * pHView=0, HOutputHandlerOptions * options = 0);
135 #ifdef H_USHORT_OVERLOAD
136  virtual HFileOutputResult WriteWithOptions(const unsigned short * FileName, HBaseView * pHView=0, HOutputHandlerOptions * options = 0){
137  return WriteWithOptions((__wchar_t*)H_WCS(FileName).encodedText(), pHView, options);
138  }
139 #endif
140  virtual HFileOutputResult WriteWithOptions(const char * FileName, HBaseView * pHView=0, HOutputHandlerOptions * options = 0){
141  return WriteWithOptions((__wchar_t*)H_WCS(FileName).encodedText(), pHView, options);
142  }
143 
157  virtual HFileOutputResult Write(const __wchar_t * FileName, HBaseView * pHView=0, float width = 0, float height = 0);
158 #ifdef H_USHORT_OVERLOAD
159  virtual HFileOutputResult Write(const unsigned short * FileName, HBaseView * pHView=0, float width = 0, float height = 0){
160  return Write((__wchar_t*)H_WCS(FileName).encodedText(), pHView, width, height);
161  }
162 #endif
163  virtual HFileOutputResult Write(const char * FileName, HBaseView * pHView=0, float width = 0, float height = 0){
164  return Write((__wchar_t*)H_WCS(FileName).encodedText(), pHView, width, height);
165  }
166 
168  HModelInfo * GetHModelInfo() const;
169 
171  virtual HStreamFileToolkit *GetStreamFileTK() const { return m_pHFile; }
172 
174  virtual HC_KEY GetModelKey() const { return m_ModelKey; }
175 
177  virtual HC_KEY GetModelIncludeKey() const { return m_ModelIncludeKey; }
178 
180  virtual HC_KEY GetBBoxKey() const { return m_BBoxKey; }
181 
188  virtual bool IsBRepGeometry() const {return m_bBRepGeometry;};
190  virtual void SetBRepGeometry(bool brep){m_bBRepGeometry = brep;};
191 
193  virtual bool IsFEAGeometry() const {return m_bFEAGeometry;};
195  virtual void SetFEAGeometry(bool fea){m_bFEAGeometry = fea;};
196 
198  virtual bool IsVectorGeometry() const {return m_bVectorGeometry;};
200  virtual void SetVectorGeometry(bool vector){m_bVectorGeometry = vector;};
201 
203  virtual void CleanIncludes();
204 
206  virtual void DeleteIncludedSegments();
207 
209  virtual HBhvBehaviorManager * GetBhvBehaviorManager();
210 
212  void SetBhvBehaviorManager( HBhvBehaviorManager* BehaviorManager );
213 
215  HEventManager *GetEventManager();
216 
221  void Update(bool antialias = false, bool forceUpdate = false);
222 
223  void MakeAnimationSnapshot(int tick);
224  virtual HFileOutputResult WriteWithAnimation(const __wchar_t * FileName, HBaseView * pHView=0, float width = 0, float height = 0);
225 #ifdef H_USHORT_OVERLOAD
226  virtual HFileOutputResult WriteWithAnimation(const unsigned short * FileName, HBaseView * pHView=0, float width = 0, float height = 0){
227  return WriteWithAnimation((__wchar_t*)H_WCS(FileName).encodedText(), pHView, width, height);
228  }
229 #endif
230  virtual HFileOutputResult WriteWithAnimation(const char * FileName, HBaseView * pHView=0, float width = 0, float height = 0){
231  return WriteWithAnimation((__wchar_t*)H_WCS(FileName).encodedText(), pHView, width, height);
232  }
233 
234  virtual void CreateIncludeSegment();
235 
237  TK_Dispatch_XML * GetDispatchXML();
238 
239 protected:
240 
247  HStreamFileToolkit * m_pHFile;
248 
251 
260 
263 
264 
268 
271 
274 
275 #ifndef SWIG
276 
278 #endif
279 
280  HBhvKeyframeGenerator *m_pKeyframeGenerator;
281  HBhvSegmentTracker *m_pSegmentTracker;
282 };
283 
284 
285 #ifdef H_PACK_8
286 #pragma pack(pop)
287 #endif
288 
289 #endif
void SetFirstFitComplete(bool value)
Definition: HBaseModel.h:94
virtual HC_KEY GetBBoxKey() const
Definition: HBaseModel.h:180
HC_KEY m_ModelIncludeKey
Definition: HBaseModel.h:242
void SetObjectCheck(bool value)
Definition: HBaseModel.h:77
Definition: HBhvUtility.h:1053
Definition: HBhvUtility.h:1065
The HBhvBehaviorManager class stores and manages all animation related data.
Definition: HBhvBehaviorManager.h:241
bool GetFileLoadComplete() const
Definition: HBaseModel.h:70
#define HC_KEY
The TK_Dispatch_XML class stores a list of XML Handlers.
Definition: HDispatchXML.h:34
bool GetFirstFitComplete() const
Definition: HBaseModel.h:92
bool m_bBRepGeometry
Definition: HBaseModel.h:252
HEventManager * m_pEventManager
Definition: HBaseModel.h:273
The HModelInfo class computes and stores model information.
Definition: HModelInfo.h:30
The HEventManager class dispatches arbitrary events.
Definition: HEventManager.h:50
TK_Dispatch_XML * m_pDispatchXML
Definition: HBaseModel.h:277
bool m_bNeedsStencilBuffer
Definition: HBaseModel.h:255
virtual void SetVectorGeometry(bool vector)
Definition: HBaseModel.h:200
The HDB class serves as a wrapper/utility class to manage an instance of the HOOPS/3dGS scene-graph...
Definition: HDB.h:38
The HShellVertexData class encapsulates colormap index information associated with the vertices of a ...
Definition: HUtility.h:624
The HBaseModel class is used to store and manage model information.
Definition: HBaseModel.h:52
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
virtual void SetBRepGeometry(bool brep)
Definition: HBaseModel.h:190
virtual HStreamFileToolkit * GetStreamFileTK() const
Definition: HBaseModel.h:171
bool GetObjectCheck() const
Definition: HBaseModel.h:75
HStreamFileToolkit * m_pHFile
Definition: HBaseModel.h:247
virtual void SetFEAGeometry(bool fea)
Definition: HBaseModel.h:195
virtual bool IsVectorGeometry() const
Definition: HBaseModel.h:198
virtual HC_KEY GetModelKey() const
Definition: HBaseModel.h:174
Definition: HIOManager.h:247
HBhvBehaviorManager * m_pBhvBehaviorManager
Definition: HBaseModel.h:270
virtual bool IsBRepGeometry() const
Definition: HBaseModel.h:188
HModelInfo * m_pModelInfo
Definition: HBaseModel.h:250
bool m_bVectorGeometry
Definition: HBaseModel.h:254
HC_KEY m_BBoxKey
Definition: HBaseModel.h:243
bool m_bFirstFitComplete
Definition: HBaseModel.h:267
bool m_bFileLoadComplete
Definition: HBaseModel.h:259
HC_KEY m_ModelKey
Definition: HBaseModel.h:241
bool m_bObjectCheck
Definition: HBaseModel.h:262
bool m_bFEAGeometry
Definition: HBaseModel.h:253
virtual bool IsFEAGeometry() const
Definition: HBaseModel.h:193
virtual HC_KEY GetModelIncludeKey() const
Definition: HBaseModel.h:177