Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cMultiDefBase.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_CMultiDefBase_H
7 #define _INC_CMultiDefBase_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "GrayMapData.h"
16 
17 namespace GrayMapData
18 {
19  class CMultiDefBase;
20 
22  {
26  public:
27  CMultiDefElement(cXObjDef* pMultiDef);
29 
30  HRESULT v_SetElement(const cVariant& vArgs);
31  void v_GetElement(cVariant& vArgs) const;
32 
33  float get_Scale1() const
34  {
35  return m_mr.get_Scale1();
36  }
37 
38  public:
39  cXObjDefPtr m_pMultiDef; // my parent MUST be CMultiDefBase based
40  cStringA m_strModelName; // Model name. cSceneObjectDef name
41  cMatrixDecomp4 m_mr; // relative offset from parent, scale, rotation.
42  };
43 
45 
47  {
53 
54  public:
55  CSCRIPT_CLASS_DEF0(MultiDefBase);
56  enum P_TYPE_
57  {
58 #define CMultiDefBaseProp(a,b,c) P_##a,
59 #include "CMultiDefBaseProps.tbl"
60 #undef CMultiDefBaseProp
62  };
63  static cScriptableProp sm_Props[P_QTY + 1];
64 
65  cArrayRef<CMultiDefElement> m_MultiElements; // A list of entities making up this Multi
67  bool m_bBoxDirty;
68 
69  public:
70  CMultiDefBase();
71  ~CMultiDefBase();
72 
73  STDMETHOD(s_PropPut)(const cScriptableProp* pProp, const cVariant& vVal);
74  STDMETHOD(s_PropGet)(const cScriptableProp* pProp, OUT cVariant& vValRet);
75  };
76 };
77 #endif // _INC_CMultiDefBase_H
#define GRAYMAPDATA_LINK
Definition: GrayMapData.h:13
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cMatrix.h:811
Definition: cScriptableObj.h:26
Definition: cScriptableInterface.h:97
Definition: cVariant.h:26
Definition: cXObjDef.h:17
Definition: cMultiDefBase.h:47
bool m_bSnapToGround
snap (relative) these to the ground. (by default)
Definition: cMultiDefBase.h:66
CSCRIPT_CLASS_DEF0(MultiDefBase)
cArrayRef< CMultiDefElement > m_MultiElements
Definition: cMultiDefBase.h:65
P_TYPE_
Definition: cMultiDefBase.h:57
@ P_QTY
Definition: cMultiDefBase.h:61
bool m_bBoxDirty
must be recalc from an instance.
Definition: cMultiDefBase.h:67
Definition: cMultiDefBase.h:22
float get_Scale1() const
Definition: cMultiDefBase.h:33
cStringA m_strModelName
Definition: cMultiDefBase.h:40
cMatrixDecomp4 m_mr
Definition: cMultiDefBase.h:41
cXObjDefPtr m_pMultiDef
Definition: cMultiDefBase.h:39
Definition: cArrayRef.h:21
Definition: cRefPtr.h:22
Definition: GrayMapData.cpp:12
cRefPtr< CMultiDefElement > CMultiDefElementPtr
Definition: cMultiDefBase.h:44