#pragma once class Mesh { //IDirect3DDevice9* pd3dDevice; ID3DXMesh* pMesh; DWORD numMaterials; D3DXVECTOR3 originalSize; float originalDiameter; float preferredDiameter; D3DXVECTOR3 position; D3DXVECTOR3 containerSize; HRESULT hr; public: Mesh(float preferredDiameter); Mesh(LPCWSTR fileName, float preferredDiameter, D3DXVECTOR3 offset); ~Mesh(); void Move(D3DXVECTOR3 movement); void Load(LPCWSTR fileName); HRESULT Draw(); D3DXVECTOR3 GetMeshSize() { return GetMeshScale() * originalSize; } float GetMeshScale() { return preferredDiameter / originalDiameter; } D3DXVECTOR3 GetMeshOffset() { return position; } void SetContainerSize(D3DXVECTOR3 size) { containerSize = size; } void computeTangent(); protected: HRESULT CalculateMeshSize( ); };