CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
RE::hkpListShape Class Reference

#include <hkpListShape.h>

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

Classes

struct  ChildInfo
 

Public Types

enum  { kMaxChildrenForSPUMidPhase = 252 , kMaxDisabledChildren = 256 }
 
enum class  ListShapeFlags { kNone = 0 , kDisableSPUCacheForListChildInfo = 1 << 0 }
 
- 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

 ~hkpListShape () 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
 
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
 
std::int32_t GetNumChildShapes () const override
 
hkpShapeKey GetFirstKey () const override
 
hkpShapeKey GetNextKey (hkpShapeKey a_oldKey) const override
 
std::uint32_t GetCollisionFilterInfo (hkpShapeKey a_key) const override
 
const hkpShapeGetChildShape (hkpShapeKey a_key, hkpShapeBuffer &a_buffer) const 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
 
virtual void InitWeldingInfo (hkpWeldingUtility::WeldingType a_weldingType)
 
virtual void SetWeldingInfo (hkpShapeKey a_key, std::int16_t a_weldingInfo)
 
- Public Member Functions inherited from RE::hkpShape
 ~hkpShape () override
 
virtual float GetMaximumProjection (const hkVector4 &a_direction) const
 
virtual const hkpShapeContainerGetContainer () const
 
virtual bool IsConvex () const
 
virtual std::int32_t CalcSizeForSpu (const CalcSizeForSpuInput &a_input, std::int32_t a_spuBufferSizeLeft) const
 
virtual void GetAabbImpl (const hkTransform &a_localToWorld, float a_tolerance, hkAabb &a_out) const =0
 
virtual bool CastRayImpl (const hkpShapeRayCastInput &a_input, hkpShapeRayCastOutput &a_output) const =0
 
virtual void CastRayWithCollectorImpl (const hkpShapeRayCastInput &a_input, const hkpCdBody &a_cdBody, hkpRayHitCollector &a_collector) const =0
 
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
 
virtual void CalcContentStatistics (hkStatisticsCollector *a_collector, const hkClass *a_class) 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
 
virtual bool IsWeldingEnabled () const
 

Public Attributes

hkArray< ChildInfochildInfo
 
std::uint16_t flags
 
std::uint16_t numDisabledChildren
 
std::uint32_t pad44
 
hkVector4 aabbHalfExtents
 
hkVector4 aabbCenter
 
std::uint32_t enabledChildren [8]
 
- 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
std::uint64_t userData
 
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_hkpListShape
 
- Static Public Attributes inherited from RE::hkpShapeCollection
static constexpr auto RTTI = RTTI_hkpShapeCollection
 
- Static Public Attributes inherited from RE::hkpShape
static constexpr auto RTTI = RTTI_hkpShape
 
- Static Public Attributes inherited from RE::hkReferencedObject
static constexpr auto RTTI = RTTI_hkReferencedObject
 
- Static Public Attributes inherited from RE::hkBaseObject
static constexpr auto RTTI = RTTI_hkBaseObject
 
- Static Public Attributes inherited from RE::hkpShapeContainer
static constexpr auto RTTI = RTTI_hkpShapeContainer
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kMaxChildrenForSPUMidPhase 
kMaxDisabledChildren 

◆ ListShapeFlags

Enumerator
kNone 
kDisableSPUCacheForListChildInfo 

Constructor & Destructor Documentation

◆ ~hkpListShape()

RE::hkpListShape::~hkpListShape ( )
override

Member Function Documentation

◆ CalcContentStatistics()

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

Reimplemented from RE::hkReferencedObject.

◆ CalcSizeForSpu()

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

Reimplemented from RE::hkpShape.

◆ CastRayImpl()

bool RE::hkpListShape::CastRayImpl ( const hkpShapeRayCastInput &  a_input,
hkpShapeRayCastOutput a_output 
) const
overridevirtual

Implements RE::hkpShape.

◆ CastRayWithCollectorImpl()

void RE::hkpListShape::CastRayWithCollectorImpl ( const hkpShapeRayCastInput &  a_input,
const hkpCdBody a_cdBody,
hkpRayHitCollector &  a_collector 
) const
overridevirtual

Implements RE::hkpShape.

◆ GetAabbImpl()

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

Implements RE::hkpShape.

◆ GetChildShape()

const hkpShape * RE::hkpListShape::GetChildShape ( hkpShapeKey  a_key,
hkpShapeBuffer a_buffer 
) const
overridevirtual

Implements RE::hkpShapeContainer.

◆ GetCollisionFilterInfo()

std::uint32_t RE::hkpListShape::GetCollisionFilterInfo ( hkpShapeKey  a_key) const
overridevirtual

Reimplemented from RE::hkpShapeContainer.

◆ GetFirstKey()

hkpShapeKey RE::hkpListShape::GetFirstKey ( ) const
overridevirtual

Implements RE::hkpShapeContainer.

◆ GetNextKey()

hkpShapeKey RE::hkpListShape::GetNextKey ( hkpShapeKey  a_oldKey) const
overridevirtual

Implements RE::hkpShapeContainer.

◆ GetNumChildShapes()

std::int32_t RE::hkpListShape::GetNumChildShapes ( ) const
overridevirtual

Reimplemented from RE::hkpShapeContainer.

Member Data Documentation

◆ aabbCenter

hkVector4 RE::hkpListShape::aabbCenter

◆ aabbHalfExtents

hkVector4 RE::hkpListShape::aabbHalfExtents

◆ childInfo

hkArray<ChildInfo> RE::hkpListShape::childInfo

◆ enabledChildren

std::uint32_t RE::hkpListShape::enabledChildren[8]

◆ flags

std::uint16_t RE::hkpListShape::flags

◆ numDisabledChildren

std::uint16_t RE::hkpListShape::numDisabledChildren

◆ pad44

std::uint32_t RE::hkpListShape::pad44

◆ RTTI

constexpr auto RE::hkpListShape::RTTI = RTTI_hkpListShape
inlinestaticconstexpr

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