CommonLibVR
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::NiTriBasedGeometry RE::NiPointLight RE::BGSDecalNode RE::BSFaceGenNiNode RE::BSFadeNode RE::BSMasterParticleSystem RE::BSNiNode RE::BSSceneGraph RE::NiBillboardNode 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 PerformOp (PerformOpFunc &a_func)
 
virtual void AttachProperty (NiAlphaProperty *a_property)
 
virtual void SetMaterialNeedsUpdate (bool a_needsUpdate)
 
virtual void SetDefaultMaterialNeedsUpdateFlag (bool a_flag)
 
virtual NiAVObjectGetObjectByName (const BSFixedString &a_name)
 
virtual void SetSelectiveUpdateFlags (bool &a_selectiveUpdate, bool a_selectiveUpdateTransforms, bool &a_rigid)
 
virtual void UpdateDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2)
 
virtual void UpdateSelectedDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2)
 
virtual void UpdateRigidDownwardPass (NiUpdateData &a_data, std::uint32_t a_arg2)
 
virtual void UpdateWorldBound ()
 
virtual void UpdateWorldData (NiUpdateData *a_data)
 
virtual void UpdateTransformAndBounds (NiUpdateData &a_data)
 
virtual void PreAttachUpdate (NiNode *a_parent, NiUpdateData &a_data)
 
virtual void PostAttachUpdate ()
 
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)
 
float GetMass ()
 
TESObjectREFRGetUserData () const
 
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 (hkpMotion::MotionType a_motionType, bool a_recurse=true, bool a_force=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)
 
BSLightingShaderPropertytemp_nicast (BSGeometry *a_geometry)
 
- 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 RemoveExtraData (NiExtraData *a_extra)
 
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 NiTriShapeAsNiTriShape ()
 
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 constexpr auto Ni_RTTI = NiRTTI_NiAVObject
 
static constexpr auto VTABLE = VTABLE_NiAVObject
 
- Static Public Attributes inherited from RE::NiObjectNET
static constexpr auto RTTI = RTTI_NiObjectNET
 
static constexpr auto Ni_RTTI = NiRTTI_NiObjectNET
 
static constexpr auto VTABLE = VTABLE_NiObjectNET
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static constexpr auto Ni_RTTI = NiRTTI_NiObject
 
static constexpr auto VTABLE = VTABLE_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 
static constexpr auto VTABLE = VTABLE_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()

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

Reimplemented in RE::NiNode, RE::NiGeometry, and RE::BSGeometry.

◆ 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)

◆ GetMass()

float RE::NiAVObject::GetMass ( )

◆ GetObjectByName()

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

Reimplemented in RE::NiNode.

◆ GetRTTI()

◆ GetUserData()

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

◆ HasAnimation()

bool RE::NiAVObject::HasAnimation ( ) const

◆ HasShaderType()

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

◆ IsEqual()

◆ LinkObject()

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

◆ LoadBinary()

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

◆ OnVisible()

◆ PerformOp()

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

Reimplemented in RE::NiNode.

◆ PostAttachUpdate()

virtual void RE::NiAVObject::PostAttachUpdate ( )
virtual

◆ PreAttachUpdate()

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

◆ ProcessClone()

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

Reimplemented from RE::NiObject.

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

◆ 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()

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

◆ SetMaterialNeedsUpdate()

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

◆ SetMotionType()

bool RE::NiAVObject::SetMotionType ( hkpMotion::MotionType  a_motionType,
bool  a_recurse = true,
bool  a_force = false,
bool  a_allowActivate = true 
)

◆ SetProjectedUVData()

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

◆ SetSelectiveUpdateFlags()

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

◆ temp_nicast()

BSLightingShaderProperty* RE::NiAVObject::temp_nicast ( BSGeometry a_geometry)

◆ TintScenegraph()

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

◆ 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()

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

◆ 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()

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

◆ UpdateSelectedDownwardPass()

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

◆ UpdateTransformAndBounds()

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

Reimplemented in RE::NiNode.

◆ UpdateWorldBound()

virtual void RE::NiAVObject::UpdateWorldBound ( )
virtual

◆ UpdateWorldData()

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

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

constexpr auto RE::NiAVObject::Ni_RTTI = NiRTTI_NiAVObject
inlinestaticconstexpr

◆ 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

◆ VTABLE

constexpr auto RE::NiAVObject::VTABLE = VTABLE_NiAVObject
inlinestaticconstexpr

◆ world

NiTransform RE::NiAVObject::world

◆ worldBound

NiBound RE::NiAVObject::worldBound

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