3 #include "AssetEntity.h" 4 #include "ParameterBlock.h" 5 #include "CadModelNode.h" 6 #include "CadContentLoader.h" 15 static const D3DVERTEXELEMENT9 g_VertexDesc[3];
26 static const D3DVERTEXELEMENT9 g_VertexDesc[2];
42 CadModelPart(
CadModel *m_pParent,IDirect3DVertexBuffer9* vb,IDirect3DIndexBuffer9* ib,IDirect3DVertexDeclaration9* layout,
43 bool sharedBuffer,D3DPRIMITIVETYPE primitiveType,uint16_t vertexStride,uint32_t vertexOfs,
44 uint32_t indexOfs,uint32_t primitiveCount,uint32_t vertexCount);
48 const LinearColor& GetDiffuseColor(){
return m_diffuseColor;}
49 int32 GetEffectPassId(){
return m_effectPassId;}
50 void SubmitGeometry(IDirect3DDevice9* pDevice);
56 bool m_useSharedBuffer;
57 uint16_t m_paramBlockIndex;
58 uint16_t m_vertexStride;
59 uint32_t m_vertexOffset;
60 uint32_t m_indexOffset;
61 uint32_t m_primitiveCount;
62 uint32_t m_vertexCount;
65 int m_nTechniqueHandle;
69 D3DPRIMITIVETYPE m_primitiveType;
70 IDirect3DVertexDeclaration9* m_pVertexLayout;
71 IDirect3DVertexBuffer9* m_pVertexBuffer;
72 IDirect3DIndexBuffer9* m_pIndexBuffer;
83 :
AssetEntity(key),m_pVertexLayout(NULL),m_pSharedIndexBuffer(NULL),m_pSharedVertexBuffer(NULL)
90 void Refresh(
const char* fileName=NULL,
bool loayLoad=
false);
92 virtual bool IsLoaded();
94 const std::string& GetFileName();
98 virtual HRESULT InitDeviceObjects();
99 virtual HRESULT RestoreDeviceObjects();
100 virtual HRESULT InvalidateDeviceObjects();
101 virtual HRESULT DeleteDeviceObjects();
102 virtual void Cleanup();
103 void Init(
const char* fileName=NULL);
106 HRESULT CreateFromFile_Async(
void* pContext, IDirect3DDevice9* pDev=NULL,
const char* sFileName=NULL);
108 CadModelPart* CreateCadModelPart(IDirect3DVertexBuffer9* sharedVB,IDirect3DIndexBuffer9* sharedIB,IDirect3DVertexDeclaration9* sharedLayout,
109 D3DPRIMITIVETYPE primitiveType,uint16_t vertexStride,uint32_t vertexOfs,uint32_t indexOfs,uint32_t primitiveCount,uint32_t vertexCount);
111 int GetPrimaryTechniqueHandle(){
return m_nTechniqueHandle;}
113 void SetPrimaryTechniqueHandle(
int nHandle){m_nTechniqueHandle = nHandle;}
117 static bool IsStepFile(
const char* fileName);
118 static bool IsIgesFile(
const char* fileName);
121 std::vector<CadModelPart*> m_modelParts;
122 std::vector<CParameterBlock> m_paramBlocks;
123 IDirect3DVertexDeclaration9* m_pVertexLayout;
124 IDirect3DIndexBuffer9* m_pSharedIndexBuffer;
125 IDirect3DVertexBuffer9* m_pSharedVertexBuffer;
126 int m_nTechniqueHandle;
Definition: CadModel.h:22
AssetType
each asset type has a unique asset type number
Definition: AssetEntity.h:82
different physics engine has different winding order.
Definition: EventBinding.h:32
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
static const std::string g_gridModelName
CadModel.
Definition: CadModel.h:115
Definition: CadContentLoader.h:34
Definition: CadModel.h:37
Definition: CadModelNode.h:10
std::string AssetKey
the unique key object for asset entity.
Definition: AssetEntity.h:13
Definition: CadModel.h:10
A linear, 32-bit/component floating point RGBA color.
Definition: ParaColor.h:12
Base class for managed asset entity in ParaEngine.
Definition: AssetEntity.h:25
Definition: CadModel.h:77
a list of CParameter{name, value} pairs of anything.
Definition: ParameterBlock.h:108