CommonLibSSE (Parapets fork)
RE::hkpShape Class Referenceabstract

#include <hkpShape.h>

Inheritance diagram for RE::hkpShape:
RE::hkReferencedObject RE::hkBaseObject RE::hkpBvTreeShape RE::hkpShapeCollection RE::hkMoppBvTreeShapeBase RE::hkpListShape RE::hkpMoppBvTreeShape

Classes

struct  CalcSizeForSpuInput
 
struct  ShapeFuncs
 
struct  ShapeFuncs2
 

Public Types

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 Member Functions

 ~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 Attributes

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_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
 

Member Typedef Documentation

◆ CastRayBundleFunc

using RE::hkpShape::CastRayBundleFunc = hkVector4Comparison(const void* a_this, const hkpShapeRayBundleCastInput& a_input, hkpShapeRayBundleCastOutput& a_output, const hkVector4Comparison& a_mask)

◆ CastRayFunc

using RE::hkpShape::CastRayFunc = bool(const void* a_this, const hkpShapeRayCastInput& a_input, hkpShapeRayCastOutput& a_output)

◆ CastRayWithCollectorFunc

using RE::hkpShape::CastRayWithCollectorFunc = void(const void* a_this, const hkpShapeRayCastInput& a_input, const hkpCdBody& a_cdBody, hkpRayHitCollector& a_collector)

◆ ConvertVertexIdsToVerticesFunc

using RE::hkpShape::ConvertVertexIdsToVerticesFunc = void(const void* a_this, const hkpVertexID* a_ids, std::int32_t a_numIDs, class hkpCdVertex* a_verticesOut)

◆ GetAabbFunc

using RE::hkpShape::GetAabbFunc = void(const void* a_this, const hkTransform& a_localToWorld, float a_tolerance, hkAabb& a_out)

◆ GetCentreFunc

using RE::hkpShape::GetCentreFunc = void(const void* a_this, hkVector4& a_centreOut)

◆ GetChildShapeFunc

using RE::hkpShape::GetChildShapeFunc = const hkpShape*(const void* a_this, hkpShapeKey a_key, hkpShapeBuffer& a_buffer)

◆ GetCollisionFilterInfoFunc

using RE::hkpShape::GetCollisionFilterInfoFunc = std::uint32_t(const void* a_this, hkpShapeKey a_key)

◆ GetCollisionSpheresFunc

using RE::hkpShape::GetCollisionSpheresFunc = const hkSphere*(const void* a_this, hkSphere* a_sphereBuffer)

◆ GetNumCollisionSpheresFunc

using RE::hkpShape::GetNumCollisionSpheresFunc = std::int32_t(const void* a_this)

◆ GetSupportingVertexFunc

using RE::hkpShape::GetSupportingVertexFunc = void(const void* a_this, const hkVector4& a_direction, hkpCdVertex& a_supportVertex)

◆ RegsiterFunc

◆ WeldContactPointFunc

using RE::hkpShape::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)

Constructor & Destructor Documentation

◆ ~hkpShape()

RE::hkpShape::~hkpShape ( )
override

Member Function Documentation

◆ CalcSizeForSpu()

virtual std::int32_t RE::hkpShape::CalcSizeForSpu ( const CalcSizeForSpuInput a_input,
std::int32_t  a_spuBufferSizeLeft 
) const
virtual

Reimplemented in RE::hkpMoppBvTreeShape, and RE::hkpListShape.

◆ CastRayBundleImpl()

virtual hkVector4Comparison RE::hkpShape::CastRayBundleImpl ( const hkpShapeRayBundleCastInput &  a_input,
hkpShapeRayBundleCastOutput &  a_output,
const hkVector4Comparison a_mask 
) const
virtual

Reimplemented in RE::hkpMoppBvTreeShape.

◆ CastRayImpl()

virtual bool RE::hkpShape::CastRayImpl ( const hkpShapeRayCastInput &  a_input,
hkpShapeRayCastOutput a_output 
) const
pure virtual

◆ CastRayWithCollectorImpl()

virtual void RE::hkpShape::CastRayWithCollectorImpl ( const hkpShapeRayCastInput &  a_input,
const hkpCdBody a_cdBody,
hkpRayHitCollector &  a_collector 
) const
pure virtual

◆ GetAabbImpl()

virtual void RE::hkpShape::GetAabbImpl ( const hkTransform a_localToWorld,
float  a_tolerance,
hkAabb a_out 
) const
pure virtual

◆ GetContainer()

virtual const hkpShapeContainer* RE::hkpShape::GetContainer ( ) const
virtual

◆ GetMaximumProjection()

virtual float RE::hkpShape::GetMaximumProjection ( const hkVector4 a_direction) const
virtual

Reimplemented in RE::hkpShapeCollection.

◆ IsConvex()

virtual bool RE::hkpShape::IsConvex ( ) const
virtual

Member Data Documentation

◆ pad1C

std::uint32_t RE::hkpShape::pad1C

◆ RTTI

constexpr auto RE::hkpShape::RTTI = RTTI_hkpShape
inlinestaticconstexpr

◆ type

hkpShapeType RE::hkpShape::type

◆ userData

std::uint64_t RE::hkpShape::userData

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