![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cModelX.h>
Public Member Functions | |
DECLARE_HEAP_ALIGNED_ALLOC (cModelXFrame) | |
cModelXFrame (const ATOMCHAR_t *pszFrameName) | |
virtual | ~cModelXFrame () |
cModelXFrame * | get_FrameSibling () const |
cModelXFrame * | get_FrameChild0 () const |
cModelXMeshCont * | get_MeshCont0 () const |
DWORD | get_MeshContFaces (bool bChildFrames, bool bSiblings) const |
HRESULT | GetIndexedFaceFrame (DWORD dwFaceToFind, cTriangle3f &tri, const cMatrix4x4f **ppmTransform, bool bCheckSiblings) const |
DWORD | ComputeFrameBoundingBox (cBounds3f &bres, bool bSibsAndChildren) const |
DWORD | ComputeFrameBoundingSphere (cSphereWork &bsphere, bool bSibsAndChildren) const |
DWORD | ComputePointCloud (const cMatrix4x4f *pParentMatrix, cArrayStruct< cVector3f > &cloud) |
cModelXMeshCont * | FindMeshCont (const ATOMCHAR_t *pszMeshContName, bool bSiblings) const |
cModelXFrame * | FindFrame (const ATOMCHAR_t *pszFrameName, bool bSiblings) const |
bool | GetHitTest (float &fDistHit, const cVector3f &vo, const cVector3f &vd, const cMatrix4x4f &mWorldRoot) |
int | CountIntersections (const cVector3f &vStart, const cVector3f &vDir, ModelX_FrameMask_t uFrameMask) |
void | UpdateCombinedTransformationMatrixs (const cMatrix4x4f *pParentMatrix) |
ModelX_FrameMask_t | UpdateChildrenFlags () |
![]() | |
cHeapObject () | |
virtual | ~cHeapObject () |
bool | IsValidInsideN (INT_PTR index) const |
bool | IsValidInsidePtr (void const *pTest) const |
virtual size_t | GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const |
virtual bool | isValidCheck () const noexcept |
Public Attributes | |
cStringA | m_sName |
ModelX_FrameMask_t | m_uFrameFlags |
inside, outside,... flags for meshes in this frame More... | |
ModelX_FrameMask_t | m_uChildrenFlags |
all frame children flags concatenated. (NOT sibs) More... | |
cMatrix4x4f | m_mCombinedTransformation |
multiply up all my parent chains matrices. how to transform into full model coords. NOT valid if animated More... | |
cBounds3f | m_BBoxFrame |
combined model space bbox. NOT valid if animated. More... | |
cSpheref | m_BSphereFrame |
combined model space bsphere. NOT valid if animated. More... | |
CHEAPOBJECT_IMPL | |
![]() | |
char * | Name |
XMFLOAT4X4 | TransformationMatrix |
_D3DXMESHCONTAINER * | pMeshContainer |
struct _D3DXFRAME * | pFrameSibling |
struct _D3DXFRAME * | pFrameFirstChild |
Additional Inherited Members | |
![]() | |
const void * | get_HeapPtr () const noexcept override |
Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More... | |
A container for an array of cModelXMeshCont + child frames. Group of meshes can have a TransformationMatrix that they all share. Structure derived from D3DXFRAME so we can add some app-specific info that will be stored with each frame Private Wrapper for the exposed D3DXFRAME
Gray3D::cModelXFrame::cModelXFrame | ( | const ATOMCHAR_t * | pszFrameName | ) |
|
virtual |
DWORD Gray3D::cModelXFrame::ComputeFrameBoundingBox | ( | cBounds3f & | bres, |
bool | bSibsAndChildren | ||
) | const |
Compute a bounding box in model space.
DWORD Gray3D::cModelXFrame::ComputeFrameBoundingSphere | ( | cSphereWork & | bsphere, |
bool | bSibsAndChildren | ||
) | const |
Compute a sphere in model space. like D3DXFrameCalculateBoundingSphere
DWORD Gray3D::cModelXFrame::ComputePointCloud | ( | const cMatrix4x4f * | pParentMatrix, |
cArrayStruct< cVector3f > & | cloud | ||
) |
add all the transformed points to the point cloud (children + sibs) eqiv of ComputeFrameBoundingSphere() ??
int Gray3D::cModelXFrame::CountIntersections | ( | const cVector3f & | vStart, |
const cVector3f & | vDir, | ||
ModelX_FrameMask_t | uFrameMask | ||
) |
Gray3D::cModelXFrame::DECLARE_HEAP_ALIGNED_ALLOC | ( | cModelXFrame | ) |
cModelXFrame * Gray3D::cModelXFrame::FindFrame | ( | const ATOMCHAR_t * | pszFrameName, |
bool | bSiblings | ||
) | const |
cModelXMeshCont * Gray3D::cModelXFrame::FindMeshCont | ( | const ATOMCHAR_t * | pszMeshContName, |
bool | bSiblings | ||
) | const |
|
inline |
First frame child in a possible list. _D3DXFRAME
|
inline |
Next frame in a list. _D3DXFRAME
|
inline |
Get first mesh in a possible list. _D3DXFRAME
DWORD Gray3D::cModelXFrame::get_MeshContFaces | ( | bool | bChildFrames, |
bool | bSiblings | ||
) | const |
bool Gray3D::cModelXFrame::GetHitTest | ( | float & | fDistHit, |
const cVector3f & | vo, | ||
const cVector3f & | vd, | ||
const cMatrix4x4f & | mWorldRoot | ||
) |
HRESULT Gray3D::cModelXFrame::GetIndexedFaceFrame | ( | DWORD | dwFaceToFind, |
cTriangle3f & | tri, | ||
const cMatrix4x4f ** | ppmTransform, | ||
bool | bCheckSiblings | ||
) | const |
ModelX_FrameMask_t Gray3D::cModelXFrame::UpdateChildrenFlags | ( | ) |
void Gray3D::cModelXFrame::UpdateCombinedTransformationMatrixs | ( | const cMatrix4x4f * | pParentMatrix | ) |
Gray3D::cModelXFrame::CHEAPOBJECT_IMPL |
cBounds3f Gray3D::cModelXFrame::m_BBoxFrame |
combined model space bbox. NOT valid if animated.
cSpheref Gray3D::cModelXFrame::m_BSphereFrame |
combined model space bsphere. NOT valid if animated.
cMatrix4x4f Gray3D::cModelXFrame::m_mCombinedTransformation |
multiply up all my parent chains matrices. how to transform into full model coords. NOT valid if animated
cStringA Gray3D::cModelXFrame::m_sName |
ModelX_FrameMask_t Gray3D::cModelXFrame::m_uChildrenFlags |
all frame children flags concatenated. (NOT sibs)
ModelX_FrameMask_t Gray3D::cModelXFrame::m_uFrameFlags |
inside, outside,... flags for meshes in this frame