CommonLibSSE NG
RE::NiAVObject Class Reference

#include <NiAVObject.h>

Inheritance diagram for RE::NiAVObject:
RE::NiObjectNET RE::NiObject RE::NiRefObject RE::BSGeometry RE::NiCamera RE::NiGeometry RE::NiLight RE::NiNode RE::BSTriShape RE::NiParticles RE::NiPointLight RE::BGSDecalNode RE::BSFaceGenNiNode RE::BSFadeNode RE::BSMasterParticleSystem RE::BSNiNode RE::BSSceneGraph RE::ShadowSceneNode

Public Types

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

 ~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 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 ([[maybe_unused]] NiCloningProcess &a_cloning)
 
virtual void LoadBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void LinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual void SaveBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void PostLinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual bool StreamCanSkip ()
 
virtual const NiRTTIGetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroupGetGroup () const
 
virtual void SetGroup ([[maybe_unused]] 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

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

◆ Flag

enum RE::NiAVObject::Flag
strong
Enumerator
kNone 
kHidden 
kSelectiveUpdate 
kSelectiveUpdateTransforms 
kSelectiveUpdateController 
kSelectiveUpdateRigid 
kDisplayObject 
kDisableSorting 
kSelectiveUpdateTransformsOverride 
kSaveExternalGeometryData 
kNoDecals 
kAlwaysDraw 
kMeshLOD 
kFixedBound 
kTopFadeNode 
kIgnoreFade 
kNoAnimSyncX 
kNoAnimSyncY 
kNoAnimSyncZ 
kNoAnimSyncS 
kNoDismember 
kNoDismemberValidity 
kRenderUse 
kMaterialsApplied 
kHighDetail 
kForceUpdate 
kPreProcessedNode 

Constructor & Destructor Documentation

◆ ~NiAVObject()

RE::NiAVObject::~NiAVObject ( )
override

Member Function Documentation

◆ AttachProperty()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::AttachProperty ( NiAlphaProperty a_property)

◆ Clone()

NiAVObject* RE::NiAVObject::Clone ( )

◆ CullGeometry()

void RE::NiAVObject::CullGeometry ( bool  a_cull)

◆ CullNode()

void RE::NiAVObject::CullNode ( bool  a_cull)

◆ GetAppCulled()

bool RE::NiAVObject::GetAppCulled ( ) const

◆ GetCollisionLayer()

COL_LAYER RE::NiAVObject::GetCollisionLayer ( ) const

◆ GetCollisionObject()

bhkCollisionObject* RE::NiAVObject::GetCollisionObject ( ) const

◆ GetFirstGeometryOfShaderType()

BSGeometry* RE::NiAVObject::GetFirstGeometryOfShaderType ( BSShaderMaterial::Feature  a_type)

◆ GetFlags() [1/2]

const stl::enumeration<Flag, std::uint32_t>& RE::NiAVObject::GetFlags ( ) const
inlinenoexcept

◆ GetFlags() [2/2]

stl::enumeration<Flag, std::uint32_t>& RE::NiAVObject::GetFlags ( )
inlinenoexcept

◆ GetObjectByName()

SKYRIM_REL_VR_VIRTUAL NiAVObject* RE::NiAVObject::GetObjectByName ( const BSFixedString a_name)

◆ GetRTTI()

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

◆ GetUserData()

TESObjectREFR* RE::NiAVObject::GetUserData ( ) const

◆ HasAnimation()

bool RE::NiAVObject::HasAnimation ( ) const

◆ HasShaderType()

bool RE::NiAVObject::HasShaderType ( BSShaderMaterial::Feature  a_type)

◆ IsEqual()

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

◆ LinkObject()

void RE::NiAVObject::LinkObject ( NiStream a_stream)
override

◆ LoadBinary()

void RE::NiAVObject::LoadBinary ( NiStream a_stream)
override

◆ OnVisible()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::OnVisible ( NiCullingProcess a_process)

◆ PerformOp()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::PerformOp ( PerformOpFunc a_func)

◆ PostAttachUpdate()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::PostAttachUpdate ( )

◆ PreAttachUpdate()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::PreAttachUpdate ( NiNode a_parent,
NiUpdateData a_data 
)

◆ ProcessClone()

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

Reimplemented from RE::NiObject.

Reimplemented in RE::NiParticleSystem, and RE::NiNode.

◆ RegisterStreamables()

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

◆ RemoveDecals()

void RE::NiAVObject::RemoveDecals ( )

◆ SaveBinary()

void RE::NiAVObject::SaveBinary ( NiStream a_stream)
override

◆ SetAppCulled()

void RE::NiAVObject::SetAppCulled ( bool  a_cull)

◆ SetCollisionLayer()

void RE::NiAVObject::SetCollisionLayer ( COL_LAYER  a_collisionLayer)

◆ SetCollisionLayerAndGroup()

void RE::NiAVObject::SetCollisionLayerAndGroup ( COL_LAYER  a_collisionLayer,
std::uint32_t  a_group 
)

◆ SetDefaultMaterialNeedsUpdateFlag()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::SetDefaultMaterialNeedsUpdateFlag ( bool  a_flag)

◆ SetMaterialNeedsUpdate()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::SetMaterialNeedsUpdate ( bool  a_needsUpdate)

◆ SetMotionType()

bool RE::NiAVObject::SetMotionType ( std::uint32_t  a_motionType,
bool  a_arg2 = true,
bool  a_arg3 = false,
bool  a_allowActivate = true 
)

◆ SetProjectedUVData()

bool RE::NiAVObject::SetProjectedUVData ( const NiColorA a_projectedUVParams,
const NiColor a_projectedUVColor,
bool  a_isSnow 
)

◆ SetSelectiveUpdateFlags()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::SetSelectiveUpdateFlags ( bool &  a_selectiveUpdate,
bool  a_selectiveUpdateTransforms,
bool &  a_rigid 
)

◆ SetUserData()

void RE::NiAVObject::SetUserData ( TESObjectREFR a_ref)
noexcept

◆ TintScenegraph()

void RE::NiAVObject::TintScenegraph ( const NiColorA a_color)

◆ Unk_VRFunc()

virtual void RE::NiAVObject::Unk_VRFunc ( void  )
virtual

◆ Update()

void RE::NiAVObject::Update ( NiUpdateData a_data)

◆ UpdateBodyTint()

void RE::NiAVObject::UpdateBodyTint ( const NiColor a_color)

◆ UpdateControllers()

virtual void RE::NiAVObject::UpdateControllers ( NiUpdateData a_data)
virtual

Reimplemented in RE::NiNode.

◆ UpdateDownwardPass()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::UpdateDownwardPass ( NiUpdateData a_data,
std::uint32_t  a_arg2 
)

◆ UpdateHairColor()

void RE::NiAVObject::UpdateHairColor ( const NiColor a_color)

◆ UpdateMaterialAlpha()

void RE::NiAVObject::UpdateMaterialAlpha ( float  a_alpha,
bool  a_doOnlySkin 
)

◆ UpdateRigidConstraints()

void RE::NiAVObject::UpdateRigidConstraints ( bool  a_enable,
std::uint8_t  a_arg2 = 1,
std::uint32_t  a_arg3 = 1 
)

◆ UpdateRigidDownwardPass()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::UpdateRigidDownwardPass ( NiUpdateData a_data,
std::uint32_t  a_arg2 
)

◆ UpdateSelectedDownwardPass()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::UpdateSelectedDownwardPass ( NiUpdateData a_data,
std::uint32_t  a_arg2 
)

◆ UpdateTransformAndBounds()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::UpdateTransformAndBounds ( NiUpdateData a_data)

◆ UpdateWorldBound()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::UpdateWorldBound ( )

◆ UpdateWorldData()

SKYRIM_REL_VR_VIRTUAL void RE::NiAVObject::UpdateWorldData ( NiUpdateData a_data)

Member Data Documentation

◆ collisionObject

NiPointer<NiCollisionObject> RE::NiAVObject::collisionObject

◆ fadeAmount

float RE::NiAVObject::fadeAmount

◆ flags

stl::enumeration<Flag, std::uint32_t> RE::NiAVObject::flags

◆ flags02

std::uint8_t RE::NiAVObject::flags02

◆ lastUpdatedFrameCounter

std::uint32_t RE::NiAVObject::lastUpdatedFrameCounter

◆ local

NiTransform RE::NiAVObject::local

◆ Ni_RTTI

auto RE::NiAVObject::Ni_RTTI = NiRTTI_NiAVObject
inlinestatic

◆ pad10C

std::uint32_t RE::NiAVObject::pad10C

◆ parent

NiNode* RE::NiAVObject::parent

◆ parentIndex

std::uint32_t RE::NiAVObject::parentIndex

◆ previousWorld

NiTransform RE::NiAVObject::previousWorld

◆ RTTI

constexpr auto RE::NiAVObject::RTTI = RTTI_NiAVObject
inlinestaticconstexpr

◆ unk03C

std::uint32_t RE::NiAVObject::unk03C

◆ unk108

std::uint8_t RE::NiAVObject::unk108

◆ unk10A

std::uint16_t RE::NiAVObject::unk10A

◆ userData

TESObjectREFR* RE::NiAVObject::userData

◆ world

NiTransform RE::NiAVObject::world

◆ worldBound

NiBound RE::NiAVObject::worldBound

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