CommonLibSSE NG
RE::hkpCompressedMeshShape Class Reference

#include <hkpCompressedMeshShape.h>

Inheritance diagram for RE::hkpCompressedMeshShape:
RE::hkpShapeCollection RE::hkpShape RE::hkpShapeContainer RE::hkReferencedObject RE::hkBaseObject

Classes

class  BigTriangle
 
class  Chunk
 
class  ConvexPiece
 

Public Types

enum class  MaterialType {
  MATERIAL_NONE , MATERIAL_SINGLE_VALUE_PER_CHUNK , MATERIAL_ONE_BYTE_PER_TRIANGLE , MATERIAL_TWO_BYTES_PER_TRIANGLE ,
  MATERIAL_FOUR_BYTES_PER_TRIANGLE
}
 
- Public Types inherited from RE::hkpShapeCollection
enum class  CollectionType {
  kList , kExtendedMesh , kTrisampledHeightfield , kUser ,
  kSimpleMesh , kMeshShape , kCompressedMesh , kTotal
}
 
- Public Types inherited from RE::hkpShape
using GetSupportingVertexFunc = void(const void *a_this, const hkVector4 &a_direction, hkpCdVertex &a_supportVertex)
 
using ConvertVertexIdsToVerticesFunc = void(const void *a_this, const hkpVertexID *a_ids, std::int32_t a_numIDs, class hkpCdVertex *a_verticesOut)
 
using WeldContactPointFunc = std::int32_t(const void *a_this, hkpVertexID *a_featurePoints, std::uint8_t &a_numFeaturePoints, hkVector4 &a_contactPointWs, const hkTransform *a_thisTransform, const hkpConvexShape *a_collidingShape, const hkTransform *a_collidingTransform, hkVector4 &a_separatingNormalInOut)
 
using GetCentreFunc = void(const void *a_this, hkVector4 &a_centreOut)
 
using GetNumCollisionSpheresFunc = std::int32_t(const void *a_this)
 
using GetCollisionSpheresFunc = const hkSphere *(const void *a_this, hkSphere *a_sphereBuffer)
 
using GetAabbFunc = void(const void *a_this, const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out)
 
using CastRayFunc = bool(const void *a_this, const hkpShapeRayCastInput &a_input, hkpShapeRayCastOutput &a_output)
 
using CastRayWithCollectorFunc = void(const void *a_this, const hkpShapeRayCastInput &a_input, const hkpCdBody &a_cdBody, hkpRayHitCollector &a_collector)
 
using CastRayBundleFunc = hkVector4Comparison(const void *a_this, const hkpShapeRayBundleCastInput &a_input, hkpShapeRayBundleCastOutput &a_output, const hkVector4Comparison &a_mask)
 
using GetChildShapeFunc = const hkpShape *(const void *a_this, hkpShapeKey a_key, hkpShapeBuffer &a_buffer)
 
using GetCollisionFilterInfoFunc = std::uint32_t(const void *a_this, hkpShapeKey a_key)
 
using RegsiterFunc = void(ShapeFuncs &a_sf)
 
- Public Types inherited from RE::hkReferencedObject
enum class  LockMode { kNone = 0 , kAuto , kManual }
 
enum  { kMemSize = 0x7FFF }
 
- Public Types inherited from RE::hkpShapeContainer
enum class  ReferencePolicy { kIgnore , kIncrement }
 

Public Member Functions

 ~hkpCompressedMeshShape () override
 
void CalcContentStatistics (hkStatisticsCollector *a_collector, const hkClass *a_class) const override
 
std::int32_t CalcSizeForSpu (const CalcSizeForSpuInput &a_input, std::int32_t a_spuBufferSizeLeft) const override
 
void GetAabbImpl (const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out) const override
 
void InitWeldingInfo (hkpWeldingUtility::WeldingType a_weldingType) override
 
void SetWeldingInfo (hkpShapeKey a_key, std::int16_t a_weldingInfo) override
 
- Public Member Functions inherited from RE::hkpShapeCollection
 ~hkpShapeCollection () override
 
void CalcContentStatistics (hkStatisticsCollector *a_collector, const hkClass *a_class) const override
 
float GetMaximumProjection (const hkVector4 &a_direction) const override
 
const hkpShapeContainerGetContainer () const override
 
void GetAabbImpl (const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out) const override
 
bool CastRayImpl (const hkpShapeRayCastInput &a_input, hkpShapeRayCastOutput &a_output) const override
 
void CastRayWithCollectorImpl (const hkpShapeRayCastInput &a_input, const hkpCdBody &a_cdBody, hkpRayHitCollector &a_collector) const override
 
bool IsWeldingEnabled () const override
 
- Public Member Functions inherited from RE::hkpShape
 ~hkpShape () override
 
virtual bool IsConvex () const
 
virtual hkVector4Comparison CastRayBundleImpl (const hkpShapeRayBundleCastInput &a_input, hkpShapeRayBundleCastOutput &a_output, const hkVector4Comparison &a_mask) const
 
- Public Member Functions inherited from RE::hkReferencedObject
 hkReferencedObject ()
 
 ~hkReferencedObject () override=default
 
virtual const hkClass * GetClassType () const
 
void AddReference () const
 
std::int32_t GetAllocatedSize () const
 
std::int32_t GetReferenceCount () const
 
void RemoveReference () const
 
- Public Member Functions inherited from RE::hkBaseObject
virtual ~hkBaseObject ()=default
 
- Public Member Functions inherited from RE::hkpShapeContainer
virtual ~hkpShapeContainer ()
 
virtual std::int32_t GetNumChildShapes () const
 
virtual hkpShapeKey GetFirstKey () const =0
 
virtual hkpShapeKey GetNextKey (hkpShapeKey a_oldKey) const =0
 
virtual std::uint32_t GetCollisionFilterInfo (hkpShapeKey a_key) const
 
virtual const hkpShapeGetChildShape (hkpShapeKey a_key, hkpShapeBuffer &a_buffer) const =0
 

Public Attributes

std::int32_t bitsPerIndex
 
std::int32_t bitsPerWIndex
 
std::int32_t wIndexMask
 
std::int32_t indexMask
 
float radius
 
stl::enumeration< hkpWeldingUtility::WeldingType, std::uint8_t > weldingType
 
stl::enumeration< MaterialType, std::uint8_t > materialType
 
std::uint16_t pad46
 
hkArray< std::uint32_t > materials
 
hkArray< std::uint16_t > materials16
 
hkArray< std::uint8_t > materials8
 
hkArray< hkQsTransformtransforms
 
hkArray< hkVector4bigVertices
 
hkArray< BigTrianglebigTriangles
 
hkArray< Chunkchunks
 
hkArray< ConvexPiececonvexPieces
 
float error
 
std::uint32_t padCC
 
hkAabb bounds
 
std::uint32_t defaultCollisionFilterInfo
 
std::uint32_t padF4
 
hkpMeshMaterialmeshMaterials
 
std::uint16_t materialStriding
 
std::uint16_t numMaterials
 
std::uint32_t pad104
 
hkArray< hkpNamedMeshMaterial > namedMaterials
 
std::uint64_t pad118
 
- Public Attributes inherited from RE::hkpShapeCollection
bool disableWelding
 
stl::enumeration< CollectionType, std::uint8_t > collectionType
 
std::uint16_t pad2A
 
std::uint32_t pad2C
 
- Public Attributes inherited from RE::hkpShape
bhkShapeuserData
 
hkpShapeType type
 
std::uint32_t pad1C
 
- Public Attributes inherited from RE::hkReferencedObject
std::uint16_t memSizeAndFlags
 
volatile std::int16_t referenceCount
 
std::uint32_t pad0C
 

Static Public Attributes

static constexpr auto RTTI = RTTI_hkpCompressedMeshShape
 
static constexpr auto VTABLE = VTABLE_hkpCompressedMeshShape
 
- Static Public Attributes inherited from RE::hkpShapeCollection
static constexpr auto RTTI = RTTI_hkpShapeCollection
 
static constexpr auto VTABLE = VTABLE_hkpShapeCollection
 
- Static Public Attributes inherited from RE::hkpShape
static constexpr auto RTTI = RTTI_hkpShape
 
static constexpr auto VTABLE = VTABLE_hkpShape
 
- Static Public Attributes inherited from RE::hkReferencedObject
static constexpr auto RTTI = RTTI_hkReferencedObject
 
static constexpr auto VTABLE = VTABLE_hkReferencedObject
 
- Static Public Attributes inherited from RE::hkBaseObject
static constexpr auto RTTI = RTTI_hkBaseObject
 
static constexpr auto VTABLE = VTABLE_hkBaseObject
 
- Static Public Attributes inherited from RE::hkpShapeContainer
static constexpr auto RTTI = RTTI_hkpShapeContainer
 
static constexpr auto VTABLE = VTABLE_hkpShapeContainer
 

Member Enumeration Documentation

◆ MaterialType

Enumerator
MATERIAL_NONE 
MATERIAL_SINGLE_VALUE_PER_CHUNK 
MATERIAL_ONE_BYTE_PER_TRIANGLE 
MATERIAL_TWO_BYTES_PER_TRIANGLE 
MATERIAL_FOUR_BYTES_PER_TRIANGLE 

Constructor & Destructor Documentation

◆ ~hkpCompressedMeshShape()

RE::hkpCompressedMeshShape::~hkpCompressedMeshShape ( )
override

Member Function Documentation

◆ CalcContentStatistics()

void RE::hkpCompressedMeshShape::CalcContentStatistics ( hkStatisticsCollector *  a_collector,
const hkClass *  a_class 
) const
overridevirtual

Reimplemented from RE::hkReferencedObject.

◆ CalcSizeForSpu()

std::int32_t RE::hkpCompressedMeshShape::CalcSizeForSpu ( const CalcSizeForSpuInput a_input,
std::int32_t  a_spuBufferSizeLeft 
) const
overridevirtual

Reimplemented from RE::hkpShape.

◆ GetAabbImpl()

void RE::hkpCompressedMeshShape::GetAabbImpl ( const hkTransform a_localToWorld,
float  a_tolerance,
hkAabb a_out 
) const
overridevirtual

Implements RE::hkpShape.

◆ InitWeldingInfo()

void RE::hkpCompressedMeshShape::InitWeldingInfo ( hkpWeldingUtility::WeldingType  a_weldingType)
overridevirtual

Reimplemented from RE::hkpShapeCollection.

◆ SetWeldingInfo()

void RE::hkpCompressedMeshShape::SetWeldingInfo ( hkpShapeKey  a_key,
std::int16_t  a_weldingInfo 
)
overridevirtual

Reimplemented from RE::hkpShapeCollection.

Member Data Documentation

◆ bigTriangles

hkArray<BigTriangle> RE::hkpCompressedMeshShape::bigTriangles

◆ bigVertices

hkArray<hkVector4> RE::hkpCompressedMeshShape::bigVertices

◆ bitsPerIndex

std::int32_t RE::hkpCompressedMeshShape::bitsPerIndex

◆ bitsPerWIndex

std::int32_t RE::hkpCompressedMeshShape::bitsPerWIndex

◆ bounds

hkAabb RE::hkpCompressedMeshShape::bounds

◆ chunks

hkArray<Chunk> RE::hkpCompressedMeshShape::chunks

◆ convexPieces

hkArray<ConvexPiece> RE::hkpCompressedMeshShape::convexPieces

◆ defaultCollisionFilterInfo

std::uint32_t RE::hkpCompressedMeshShape::defaultCollisionFilterInfo

◆ error

float RE::hkpCompressedMeshShape::error

◆ indexMask

std::int32_t RE::hkpCompressedMeshShape::indexMask

◆ materials

hkArray<std::uint32_t> RE::hkpCompressedMeshShape::materials

◆ materials16

hkArray<std::uint16_t> RE::hkpCompressedMeshShape::materials16

◆ materials8

hkArray<std::uint8_t> RE::hkpCompressedMeshShape::materials8

◆ materialStriding

std::uint16_t RE::hkpCompressedMeshShape::materialStriding

◆ materialType

stl::enumeration<MaterialType, std::uint8_t> RE::hkpCompressedMeshShape::materialType

◆ meshMaterials

hkpMeshMaterial* RE::hkpCompressedMeshShape::meshMaterials

◆ namedMaterials

hkArray<hkpNamedMeshMaterial> RE::hkpCompressedMeshShape::namedMaterials

◆ numMaterials

std::uint16_t RE::hkpCompressedMeshShape::numMaterials

◆ pad104

std::uint32_t RE::hkpCompressedMeshShape::pad104

◆ pad118

std::uint64_t RE::hkpCompressedMeshShape::pad118

◆ pad46

std::uint16_t RE::hkpCompressedMeshShape::pad46

◆ padCC

std::uint32_t RE::hkpCompressedMeshShape::padCC

◆ padF4

std::uint32_t RE::hkpCompressedMeshShape::padF4

◆ radius

float RE::hkpCompressedMeshShape::radius

◆ RTTI

constexpr auto RE::hkpCompressedMeshShape::RTTI = RTTI_hkpCompressedMeshShape
inlinestaticconstexpr

◆ transforms

hkArray<hkQsTransform> RE::hkpCompressedMeshShape::transforms

◆ VTABLE

constexpr auto RE::hkpCompressedMeshShape::VTABLE = VTABLE_hkpCompressedMeshShape
inlinestaticconstexpr

◆ weldingType

stl::enumeration<hkpWeldingUtility::WeldingType, std::uint8_t> RE::hkpCompressedMeshShape::weldingType

◆ wIndexMask

std::int32_t RE::hkpCompressedMeshShape::wIndexMask

The documentation for this class was generated from the following file: