CommonLibSSE NG
Loading...
Searching...
No Matches
RE::BSGeometry Class Reference

#include <BSGeometry.h>

Inheritance diagram for RE::BSGeometry:
RE::NiAVObject RE::NiObjectNET RE::NiObject RE::NiRefObject RE::BSTriShape RE::NiParticles RE::BSDynamicTriShape RE::BSInstanceTriShape RE::BSMultiIndexTriShape RE::NiParticleSystem RE::BSMultiStreamInstanceTriShape RE::NiMeshParticleSystem

Classes

struct  GEOMETRY_RUNTIME_DATA
 
struct  MODEL_DATA
 
struct  States
 

Public Types

enum class  Type {
  kGeometry = 0 , kParticles = 1 , kStripParticles = 2 , kTriShape = 3 ,
  kDynamicTriShape = 4 , kMeshLODTriShape = 5 , kLODMultiIndexTriShape = 6 , kMultiIndexTriShape = 7 ,
  kSubIndexTriShape = 8 , kSubIndexLandTriShape = 9 , kMultiStreamInstanceTriShape = 10 , kParticleShaderDynamicTriShape = 11 ,
  kLines = 12 , kDynamicLines = 13 , kInstanceGroup = 14
}
 
- Public Types inherited from RE::NiAVObject
enum class  Flag {
  kNone = 0 , kHidden = 1 << 0 , kSelectiveUpdate = 1 << 1 , kSelectiveUpdateTransforms = 1 << 2 ,
  kSelectiveUpdateController = 1 << 3 , kSelectiveUpdateRigid = 1 << 4 , kDisplayObject = 1 << 5 , kDisableSorting = 1 << 6 ,
  kSelectiveUpdateTransformsOverride = 1 << 7 , kSaveExternalGeometryData = 1 << 9 , kNoDecals = 1 << 10 , kAlwaysDraw = 1 << 11 ,
  kMeshLOD = 1 << 12 , kFixedBound = 1 << 13 , kTopFadeNode = 1 << 14 , kIgnoreFade = 1 << 15 ,
  kNoAnimSyncX = 1 << 16 , kNoAnimSyncY = 1 << 17 , kNoAnimSyncZ = 1 << 18 , kNoAnimSyncS = 1 << 19 ,
  kNoDismember = 1 << 20 , kNoDismemberValidity = 1 << 21 , kRenderUse = 1 << 22 , kMaterialsApplied = 1 << 23 ,
  kHighDetail = 1 << 24 , kForceUpdate = 1 << 25 , kPreProcessedNode = 1 << 26
}
 

Public Member Functions

 ~BSGeometry () override
 
const NiRTTIGetRTTI () const override
 
BSGeometryAsGeometry () override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
void PostLinkObject (NiStream &a_stream) override
 
void AttachProperty (NiAlphaProperty *a_property) override
 
void SetSelectiveUpdateFlags (bool &a_selectiveUpdate, bool a_selectiveUpdateTransforms, bool &a_rigid) override
 
void UpdateDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2) override
 
void UpdateSelectedDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2) override
 
void UpdateRigidDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2) override
 
void UpdateWorldBound () override
 
void OnVisible (NiCullingProcess &a_process) override
 
SKYRIM_REL_VR_VIRTUAL BSMultiIndexTriShapeAsMultiIndexTriShape ()
 
SKYRIM_REL_VR_VIRTUAL BSSkinnedDecalTriShape * AsSkinnedDecalTriShape ()
 
SKYRIM_REL_VR_VIRTUAL void Unk_37 (void)
 
MODEL_DATAGetModelData () noexcept
 
const MODEL_DATAGetModelData () const noexcept
 
GEOMETRY_RUNTIME_DATAGetGeometryRuntimeData () noexcept
 
const GEOMETRY_RUNTIME_DATAGetGeometryRuntimeData () const noexcept
 
stl::enumeration< Type, std::uint8_t > & GetType () noexcept
 
const stl::enumeration< Type, std::uint8_t > & GetType () const noexcept
 
- Public Member Functions inherited from RE::NiAVObject
 ~NiAVObject () override
 
const NiRTTIGetRTTI () const override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
virtual void UpdateControllers (NiUpdateData &a_data)
 
virtual void Unk_VRFunc (void)
 
SKYRIM_REL_VR_VIRTUAL void PerformOp (PerformOpFunc &a_func)
 
SKYRIM_REL_VR_VIRTUAL void AttachProperty (NiAlphaProperty *a_property)
 
SKYRIM_REL_VR_VIRTUAL void SetMaterialNeedsUpdate (bool a_needsUpdate)
 
SKYRIM_REL_VR_VIRTUAL void SetDefaultMaterialNeedsUpdateFlag (bool a_flag)
 
SKYRIM_REL_VR_VIRTUAL NiAVObjectGetObjectByName (const BSFixedString &a_name)
 
SKYRIM_REL_VR_VIRTUAL void SetSelectiveUpdateFlags (bool &a_selectiveUpdate, bool a_selectiveUpdateTransforms, bool &a_rigid)
 
SKYRIM_REL_VR_VIRTUAL void UpdateDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2)
 
SKYRIM_REL_VR_VIRTUAL void UpdateSelectedDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2)
 
SKYRIM_REL_VR_VIRTUAL void UpdateRigidDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2)
 
SKYRIM_REL_VR_VIRTUAL void UpdateWorldBound ()
 
SKYRIM_REL_VR_VIRTUAL void UpdateWorldData (NiUpdateData *a_data)
 
SKYRIM_REL_VR_VIRTUAL void UpdateTransformAndBounds (NiUpdateData &a_data)
 
SKYRIM_REL_VR_VIRTUAL void PreAttachUpdate (NiNode *a_parent, NiUpdateData &a_data)
 
SKYRIM_REL_VR_VIRTUAL void PostAttachUpdate ()
 
SKYRIM_REL_VR_VIRTUAL void OnVisible (NiCullingProcess &a_process)
 
NiAVObjectClone ()
 
void CullGeometry (bool a_cull)
 
void CullNode (bool a_cull)
 
bool GetAppCulled () const
 
bhkCollisionObjectGetCollisionObject () const
 
COL_LAYER GetCollisionLayer () const
 
BSGeometryGetFirstGeometryOfShaderType (BSShaderMaterial::Feature a_type)
 
TESObjectREFRGetUserData () const
 
void SetUserData (TESObjectREFR *a_ref) noexcept
 
bool HasAnimation () const
 
bool HasShaderType (BSShaderMaterial::Feature a_type)
 
void RemoveDecals ()
 
void SetAppCulled (bool a_cull)
 
void SetCollisionLayer (COL_LAYER a_collisionLayer)
 
void SetCollisionLayerAndGroup (COL_LAYER a_collisionLayer, std::uint32_t a_group)
 
bool SetMotionType (std::uint32_t a_motionType, bool a_arg2=true, bool a_arg3=false, bool a_allowActivate=true)
 
bool SetProjectedUVData (const NiColorA &a_projectedUVParams, const NiColor &a_projectedUVColor, bool a_isSnow)
 
void TintScenegraph (const NiColorA &a_color)
 
void Update (NiUpdateData &a_data)
 
void UpdateBodyTint (const NiColor &a_color)
 
void UpdateHairColor (const NiColor &a_color)
 
void UpdateMaterialAlpha (float a_alpha, bool a_doOnlySkin)
 
void UpdateRigidConstraints (bool a_enable, std::uint8_t a_arg2=1, std::uint32_t a_arg3=1)
 
stl::enumeration< Flag, std::uint32_t > & GetFlags () noexcept
 
const stl::enumeration< Flag, std::uint32_t > & GetFlags () const noexcept
 
- Public Member Functions inherited from RE::NiObjectNET
 ~NiObjectNET () override
 
const NiRTTIGetRTTI () const override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
void PostLinkObject (NiStream &a_stream) override
 
bool AddExtraData (const BSFixedString &a_key, NiExtraData *a_extra)
 
bool AddExtraData (NiExtraData *a_extra)
 
void DeleteExtraData (std::uint16_t a_extraDataIndex)
 
NiTimeControllerGetControllers () const
 
NiTimeControllerGetController (const NiRTTI *a_rtti) const
 
template<class T >
T * GetController () const
 
NiExtraDataGetExtraData (const BSFixedString &a_key) const
 
template<class T >
T * GetExtraData (const BSFixedString &a_key) const
 
NiExtraDataGetExtraDataAt (std::uint16_t a_extraDataIndex) const
 
std::uint16_t GetExtraDataSize () const
 
bool HasExtraData (const BSFixedString &a_key) const
 
bool InsertExtraData (NiExtraData *a_extra)
 
void RemoveAllExtraData ()
 
bool RemoveExtraData (const BSFixedString &a_key)
 
bool RemoveExtraDataAt (std::uint16_t a_extraDataIndex)
 
bool SetExtraDataSize (std::uint16_t a_size)
 
- Public Member Functions inherited from RE::NiObject
 ~NiObject () override=default
 
virtual const NiRTTIGetRTTI () const
 
virtual NiNodeAsNode ()
 
virtual NiSwitchNode * AsSwitchNode ()
 
virtual BSFadeNodeAsFadeNode ()
 
virtual BSMultiBoundNodeAsMultiBoundNode ()
 
virtual BSGeometryAsGeometry ()
 
virtual NiTriStrips * AsTriStrips ()
 
virtual BSTriShapeAsTriShape ()
 
virtual BSSegmentedTriShape * AsSegmentedTriShape ()
 
virtual BSSubIndexTriShape * AsSubIndexTriShape ()
 
virtual BSDynamicTriShapeAsDynamicTriShape ()
 
virtual NiGeometryAsNiGeometry ()
 
virtual NiTriBasedGeom * AsNiTriBasedGeom ()
 
virtual NiTriShape * AsNiTriShape ()
 
virtual NiParticlesAsParticlesGeom ()
 
virtual BSLines * AsLinesGeom ()
 
virtual bhkNiCollisionObjectAsBhkNiCollisionObject ()
 
virtual bhkBlendCollisionObject * AsBhkBlendCollisionObject ()
 
virtual bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject ()
 
virtual bhkRigidBodyAsBhkRigidBody ()
 
virtual bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint ()
 
virtual NiObjectCreateClone (NiCloningProcess &a_cloning)
 
virtual void LoadBinary (NiStream &a_stream)
 
virtual void LinkObject (NiStream &a_stream)
 
virtual bool RegisterStreamables (NiStream &a_stream)
 
virtual void SaveBinary (NiStream &a_stream)
 
virtual bool IsEqual (NiObject *a_object)
 
virtual void ProcessClone (NiCloningProcess &a_cloning)
 
virtual void PostLinkObject (NiStream &a_stream)
 
virtual bool StreamCanSkip ()
 
virtual const NiRTTIGetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroupGetGroup () const
 
virtual void SetGroup (NiObjectGroup *a_group)
 
virtual NiControllerManagerAsNiControllerManager ()
 
void CreateDeepCopy (NiPointer< NiObject > &a_object)
 
- Public Member Functions inherited from RE::NiRefObject
 NiRefObject ()
 
virtual ~NiRefObject ()
 
virtual void DeleteThis ()
 
void IncRefCount ()
 
void DecRefCount ()
 
constexpr std::uint32_t GetRefCount () const noexcept
 
 TES_HEAP_REDEFINE_NEW ()
 

Public Attributes

 MODEL_DATA_CONTENT
 
 RUNTIME_DATA_CONTENT
 
stl::enumeration< Type, std::uint8_t > type
 
std::uint8_t pad31
 
std::uint16_t pad32
 
std::uint32_t pad34
 
- Public Attributes inherited from RE::NiAVObject
NiNodeparent
 
std::uint32_t parentIndex
 
std::uint32_t unk03C
 
NiPointer< NiCollisionObjectcollisionObject
 
NiTransform local
 
NiTransform world
 
NiTransform previousWorld
 
NiBound worldBound
 
stl::enumeration< Flag, std::uint32_t > flags
 
TESObjectREFRuserData
 
float fadeAmount
 
std::uint32_t lastUpdatedFrameCounter
 
std::uint8_t unk108
 
std::uint8_t flags02
 
std::uint16_t unk10A
 
std::uint32_t pad10C
 
- Public Attributes inherited from RE::NiObjectNET
BSFixedString name
 
NiPointer< NiTimeControllercontrollers
 
NiExtraData ** extra
 
std::uint16_t extraDataSize
 
std::uint16_t maxSize
 
std::uint32_t pad2C
 
- Public Attributes inherited from RE::NiRefObject
volatile std::uint32_t _refCount { 0 }
 
std::uint32_t _pad0C { 0 }
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSGeometry
 
static auto Ni_RTTI = NiRTTI_BSGeometry
 
- Static Public Attributes inherited from RE::NiAVObject
static constexpr auto RTTI = RTTI_NiAVObject
 
static auto Ni_RTTI = NiRTTI_NiAVObject
 
- Static Public Attributes inherited from RE::NiObjectNET
static constexpr auto RTTI = RTTI_NiObjectNET
 
static auto Ni_RTTI = NiRTTI_NiObjectNET
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static auto Ni_RTTI = NiRTTI_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 

Additional Inherited Members

- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 

Member Enumeration Documentation

◆ Type

enum class RE::BSGeometry::Type
strong
Enumerator
kGeometry 
kParticles 
kStripParticles 
kTriShape 
kDynamicTriShape 
kMeshLODTriShape 
kLODMultiIndexTriShape 
kMultiIndexTriShape 
kSubIndexTriShape 
kSubIndexLandTriShape 
kMultiStreamInstanceTriShape 
kParticleShaderDynamicTriShape 
kLines 
kDynamicLines 
kInstanceGroup 

Constructor & Destructor Documentation

◆ ~BSGeometry()

RE::BSGeometry::~BSGeometry ( )
override

Member Function Documentation

◆ AsGeometry()

BSGeometry * RE::BSGeometry::AsGeometry ( )
overridevirtual

Reimplemented from RE::NiObject.

◆ AsMultiIndexTriShape()

SKYRIM_REL_VR_VIRTUAL BSMultiIndexTriShape * RE::BSGeometry::AsMultiIndexTriShape ( )

◆ AsSkinnedDecalTriShape()

SKYRIM_REL_VR_VIRTUAL BSSkinnedDecalTriShape * RE::BSGeometry::AsSkinnedDecalTriShape ( )

◆ AttachProperty()

void RE::BSGeometry::AttachProperty ( NiAlphaProperty a_property)
override

◆ GetGeometryRuntimeData() [1/2]

const GEOMETRY_RUNTIME_DATA & RE::BSGeometry::GetGeometryRuntimeData ( ) const
inlinenoexcept

◆ GetGeometryRuntimeData() [2/2]

GEOMETRY_RUNTIME_DATA & RE::BSGeometry::GetGeometryRuntimeData ( )
inlinenoexcept

◆ GetModelData() [1/2]

const MODEL_DATA & RE::BSGeometry::GetModelData ( ) const
inlinenoexcept

◆ GetModelData() [2/2]

MODEL_DATA & RE::BSGeometry::GetModelData ( )
inlinenoexcept

◆ GetRTTI()

const NiRTTI * RE::BSGeometry::GetRTTI ( ) const
overridevirtual

◆ GetType() [1/2]

const stl::enumeration< Type, std::uint8_t > & RE::BSGeometry::GetType ( ) const
inlinenoexcept

◆ GetType() [2/2]

stl::enumeration< Type, std::uint8_t > & RE::BSGeometry::GetType ( )
inlinenoexcept

◆ IsEqual()

bool RE::BSGeometry::IsEqual ( NiObject a_object)
overridevirtual

◆ LinkObject()

void RE::BSGeometry::LinkObject ( NiStream a_stream)
overridevirtual

◆ LoadBinary()

void RE::BSGeometry::LoadBinary ( NiStream a_stream)
overridevirtual

◆ OnVisible()

void RE::BSGeometry::OnVisible ( NiCullingProcess a_process)
override

◆ PostLinkObject()

void RE::BSGeometry::PostLinkObject ( NiStream a_stream)
overridevirtual

Reimplemented from RE::NiObject.

◆ ProcessClone()

void RE::BSGeometry::ProcessClone ( NiCloningProcess a_cloning)
overridevirtual

Reimplemented from RE::NiObject.

Reimplemented in RE::NiParticleSystem.

◆ RegisterStreamables()

bool RE::BSGeometry::RegisterStreamables ( NiStream a_stream)
overridevirtual

◆ SaveBinary()

void RE::BSGeometry::SaveBinary ( NiStream a_stream)
overridevirtual

◆ SetSelectiveUpdateFlags()

void RE::BSGeometry::SetSelectiveUpdateFlags ( bool &  a_selectiveUpdate,
bool  a_selectiveUpdateTransforms,
bool &  a_rigid 
)
override

◆ Unk_37()

SKYRIM_REL_VR_VIRTUAL void RE::BSGeometry::Unk_37 ( void  )

◆ UpdateDownwardPass()

void RE::BSGeometry::UpdateDownwardPass ( NiUpdateData a_data,
std::uint32_t  a_arg2 
)
override

◆ UpdateRigidDownwardPass()

void RE::BSGeometry::UpdateRigidDownwardPass ( NiUpdateData a_data,
std::uint32_t  a_arg2 
)
override

◆ UpdateSelectedDownwardPass()

void RE::BSGeometry::UpdateSelectedDownwardPass ( NiUpdateData a_data,
std::uint32_t  a_arg2 
)
override

◆ UpdateWorldBound()

void RE::BSGeometry::UpdateWorldBound ( )
override

Member Data Documentation

◆ MODEL_DATA_CONTENT

RE::BSGeometry::MODEL_DATA_CONTENT

◆ Ni_RTTI

auto RE::BSGeometry::Ni_RTTI = NiRTTI_BSGeometry
inlinestatic

◆ pad31

std::uint8_t RE::BSGeometry::pad31

◆ pad32

std::uint16_t RE::BSGeometry::pad32

◆ pad34

std::uint32_t RE::BSGeometry::pad34

◆ RTTI

constexpr auto RE::BSGeometry::RTTI = RTTI_BSGeometry
inlinestaticconstexpr

◆ RUNTIME_DATA_CONTENT

RE::BSGeometry::RUNTIME_DATA_CONTENT

◆ type

stl::enumeration<Type, std::uint8_t> RE::BSGeometry::type

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