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 NiRTTI * GetRTTI () 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 NiAVObject * GetObjectByName (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)
 
NiAVObject * Clone ()
 
void CullGeometry (bool a_cull)
 
void CullNode (bool a_cull)
 
bool GetAppCulled () const
 
bhkCollisionObject * GetCollisionObject () const
 
COL_LAYER GetCollisionLayer () const
 
BSGeometry * GetFirstGeometryOfShaderType (BSShaderMaterial::Feature a_type)
 
TESObjectREFR * GetUserData () 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 NiRTTI * GetRTTI () 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)
 
NiTimeController * GetControllers () const
 
NiTimeController * GetController (const NiRTTI *a_rtti) const
 
template<class T >
T * GetController () const
 
NiExtraData * GetExtraData (const BSFixedString &a_key) const
 
template<class T >
T * GetExtraData (const BSFixedString &a_key) const
 
NiExtraData * GetExtraDataAt (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 NiNode * AsNode ()
 
virtual NiSwitchNode * AsSwitchNode ()
 
virtual BSFadeNode * AsFadeNode ()
 
virtual BSMultiBoundNode * AsMultiBoundNode ()
 
virtual BSGeometry * AsGeometry ()
 
virtual NiTriStrips * AsTriStrips ()
 
virtual BSTriShape * AsTriShape ()
 
virtual BSSegmentedTriShape * AsSegmentedTriShape ()
 
virtual BSSubIndexTriShape * AsSubIndexTriShape ()
 
virtual BSDynamicTriShape * AsDynamicTriShape ()
 
virtual NiGeometry * AsNiGeometry ()
 
virtual NiTriBasedGeom * AsNiTriBasedGeom ()
 
virtual NiTriShape * AsNiTriShape ()
 
virtual NiParticles * AsParticlesGeom ()
 
virtual BSLines * AsLinesGeom ()
 
virtual bhkNiCollisionObject * AsBhkNiCollisionObject ()
 
virtual bhkBlendCollisionObject * AsBhkBlendCollisionObject ()
 
virtual bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject ()
 
virtual bhkRigidBody * AsBhkRigidBody ()
 
virtual bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint ()
 
virtual NiObject * CreateClone ([[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 NiRTTI * GetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroup * GetGroup () const
 
virtual void SetGroup ([[maybe_unused]] NiObjectGroup *a_group)
 
virtual NiControllerManager * AsNiControllerManager ()
 
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

NiNode * parent
 
std::uint32_t parentIndex
 
std::uint32_t unk03C
 
NiPointer< NiCollisionObject > collisionObject
 
NiTransform local
 
NiTransform world
 
NiTransform previousWorld
 
NiBound worldBound
 
stl::enumeration< Flag, std::uint32_t > flags
 
TESObjectREFR * userData
 
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< NiTimeController > controllers
 
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: