![]() |
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 () |
Public Member Functions inherited from Gray::cHeapObject | |
| 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 | |
Public Attributes inherited from _D3DXFRAME | |
| char * | Name |
| XMFLOAT4X4 | TransformationMatrix |
| _D3DXMESHCONTAINER * | pMeshContainer |
| struct _D3DXFRAME * | pFrameSibling |
| struct _D3DXFRAME * | pFrameFirstChild |
Additional Inherited Members | |
Protected Member Functions inherited from Gray::cHeapObject | |
| 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