CommonLibSSE (powerof3)
RE::ShadowSceneNode Class Reference

#include <ShadowSceneNode.h>

Inheritance diagram for RE::ShadowSceneNode:
RE::NiNode RE::NiAVObject RE::NiObjectNET RE::NiObject RE::NiRefObject

Classes

struct  LIGHT_CREATE_PARAMS
 

Public Member Functions

 ~ShadowSceneNode () override
 
const NiRTTIGetRTTI () const override
 
void OnVisible (NiCullingProcess &a_process) override
 
BSLightAddLight (NiLight *a_light, const LIGHT_CREATE_PARAMS &a_params)
 
void AddLight (BSLight *a_light)
 
BSLightGetLight (NiLight *a_light)
 
BSLightGetPointLight (NiLight *a_light)
 
BSLightGetShadowLight (NiLight *a_light)
 
void RemoveLight (NiLight *a_light)
 
void RemoveLight (const NiPointer< BSLight > &a_light)
 
- Public Member Functions inherited from RE::NiNode
 ~NiNode () override
 
NiNodeAsNode () override
 
NiObjectCreateClone (NiCloningProcess &a_cloning) 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 UpdateControllers (NiUpdateData &a_data) override
 
void PerformOp (PerformOpFunc &a_func) override
 
void AttachProperty (NiAlphaProperty *a_property) override
 
NiAVObjectGetObjectByName (const BSFixedString &a_name) 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 UpdateTransformAndBounds (NiUpdateData &a_data) override
 
virtual void AttachChild (NiAVObject *a_child, bool a_firstAvail=false)
 
virtual void InsertChildAt (std::uint32_t a_idx, NiAVObject *a_child)
 
virtual void DetachChild1 (NiAVObject *a_child, NiPointer< NiAVObject > &a_childOut)
 
virtual void DetachChild2 (NiAVObject *a_child)
 
virtual void DetachChildAt1 (std::uint32_t a_idx, NiPointer< NiAVObject > &a_childOut)
 
virtual void DetachChildAt2 (std::uint32_t a_idx)
 
virtual void SetAt1 (std::uint32_t a_idx, NiAVObject *a_child, NiPointer< NiAVObject > &a_childOut)
 
virtual void SetAt2 (std::uint32_t a_idx, NiAVObject *a_child)
 
virtual void UpdateUpwardPass (NiUpdateData &a_data)
 
void DetachChild (NiAVObject *a_child)
 
void DetachChild (NiAVObject *a_child, NiPointer< NiAVObject > &a_childOut)
 
void DetachChildAt (std::uint32_t a_idx)
 
void DetachChildAt (std::uint32_t a_idx, NiPointer< NiAVObject > &a_childOut)
 
void SetAt (std::uint32_t a_idx, NiAVObject *a_child)
 
void SetAt (std::uint32_t a_idx, NiAVObject *a_child, NiPointer< NiAVObject > &a_childOut)
 
- Public Member Functions inherited from RE::NiAVObject
 ~NiAVObject () override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
virtual void SetMaterialNeedsUpdate (bool a_needsUpdate)
 
virtual void SetDefaultMaterialNeedsUpdateFlag (bool a_flag)
 
virtual void UpdateWorldData (NiUpdateData *a_data)
 
virtual void PreAttachUpdate (NiNode *a_parent, NiUpdateData &a_data)
 
virtual void PostAttachUpdate ()
 
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)
 
- Public Member Functions inherited from RE::NiObjectNET
 ~NiObjectNET () 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 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

std::uint64_t unk128
 
BSTArray< NiPointer< BSLight > > activeLights
 
BSTArray< NiPointer< BSLight > > activeShadowLights
 
BSTArray< NiPointer< BSLight > > lightQueueAdd
 
BSTArray< NiPointer< BSLight > > lightQueueRemove
 
BSTArray< NiPointer< BSLight > > unk190
 
BSSpinLock lightQueueLock
 
BSTArray< NiPointer< NiAVObject > > litGeometry
 
BSTArray< NiPointer< NiAVObject > > objectList1
 
BSTArray< NiPointer< NiAVObject > > objectList2
 
BSSpinLock objectListLock
 
BSLightsunLight
 
BSLightcloudLight
 
BSShadowDirectionalLight * shadowDirLight
 
std::uint8_t sceneGraphIndex
 
bool disableLightUpdate
 
bool wireframe
 
bool opaqueWireframe
 
std::uint32_t pad21C
 
NiPointer< BSFogProperty > fogProperty
 
BSPortalGraphportalGraph
 
BSTArray< BSShadowLight * > shadowLightsAccum
 
std::uint32_t firstPersonShadowMask
 
std::uint32_t unk24C
 
std::uint64_t unk250
 
std::uint64_t unk258
 
std::uint64_t unk260
 
std::uint64_t unk268
 
std::uint64_t unk270
 
std::uint64_t unk278
 
std::uint64_t unk280
 
std::uint64_t unk288
 
std::uint64_t unk290
 
std::uint64_t unk298
 
std::uint64_t unk2A0
 
std::uint64_t unk2A8
 
std::uint64_t unk2B0
 
std::uint64_t unk2B8
 
std::uint64_t unk2C0
 
std::uint64_t unk2C8
 
std::uint64_t unk2D0
 
std::uint64_t unk2D8
 
std::uint64_t unk2E0
 
NiPoint3 lightingOffset
 
NiPoint3 cameraPos
 
bool allowLightRemoveQueues
 
std::uint8_t pad301
 
std::uint16_t pad302
 
float windMagnitude
 
- Public Attributes inherited from RE::NiNode
NiTObjectArray< NiPointer< NiAVObject > > children
 
- 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
 
REX::EnumSet< 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_ShadowSceneNode
 
static constexpr auto Ni_RTTI = NiRTTI_ShadowSceneNode
 
static constexpr auto VTABLE = VTABLE_ShadowSceneNode
 
- Static Public Attributes inherited from RE::NiNode
static constexpr auto RTTI = RTTI_NiNode
 
static constexpr auto Ni_RTTI = NiRTTI_NiNode
 
static constexpr auto VTABLE = VTABLE_NiNode
 
- Static Public Attributes inherited from RE::NiAVObject
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

- 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
}
 
- Static Public Member Functions inherited from RE::NiNode
static NiNodeCreate (std::uint16_t a_arrBufLen=0)
 
- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 
- Protected Member Functions inherited from RE::NiNode
NiNodeCtor (std::uint16_t a_arrBufLen)
 

Constructor & Destructor Documentation

◆ ~ShadowSceneNode()

RE::ShadowSceneNode::~ShadowSceneNode ( )
override

Member Function Documentation

◆ AddLight() [1/2]

void RE::ShadowSceneNode::AddLight ( BSLight a_light)

◆ AddLight() [2/2]

BSLight* RE::ShadowSceneNode::AddLight ( NiLight a_light,
const LIGHT_CREATE_PARAMS a_params 
)

◆ GetLight()

BSLight* RE::ShadowSceneNode::GetLight ( NiLight a_light)

◆ GetPointLight()

BSLight* RE::ShadowSceneNode::GetPointLight ( NiLight a_light)

◆ GetRTTI()

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

Reimplemented from RE::NiNode.

◆ GetShadowLight()

BSLight* RE::ShadowSceneNode::GetShadowLight ( NiLight a_light)

◆ OnVisible()

void RE::ShadowSceneNode::OnVisible ( NiCullingProcess a_process)
overridevirtual

Reimplemented from RE::NiNode.

◆ RemoveLight() [1/2]

void RE::ShadowSceneNode::RemoveLight ( const NiPointer< BSLight > &  a_light)

◆ RemoveLight() [2/2]

void RE::ShadowSceneNode::RemoveLight ( NiLight a_light)

Member Data Documentation

◆ activeLights

BSTArray<NiPointer<BSLight> > RE::ShadowSceneNode::activeLights

◆ activeShadowLights

BSTArray<NiPointer<BSLight> > RE::ShadowSceneNode::activeShadowLights

◆ allowLightRemoveQueues

bool RE::ShadowSceneNode::allowLightRemoveQueues

◆ cameraPos

NiPoint3 RE::ShadowSceneNode::cameraPos

◆ cloudLight

BSLight* RE::ShadowSceneNode::cloudLight

◆ disableLightUpdate

bool RE::ShadowSceneNode::disableLightUpdate

◆ firstPersonShadowMask

std::uint32_t RE::ShadowSceneNode::firstPersonShadowMask

◆ fogProperty

NiPointer<BSFogProperty> RE::ShadowSceneNode::fogProperty

◆ lightingOffset

NiPoint3 RE::ShadowSceneNode::lightingOffset

◆ lightQueueAdd

BSTArray<NiPointer<BSLight> > RE::ShadowSceneNode::lightQueueAdd

◆ lightQueueLock

BSSpinLock RE::ShadowSceneNode::lightQueueLock
mutable

◆ lightQueueRemove

BSTArray<NiPointer<BSLight> > RE::ShadowSceneNode::lightQueueRemove

◆ litGeometry

BSTArray<NiPointer<NiAVObject> > RE::ShadowSceneNode::litGeometry

◆ Ni_RTTI

constexpr auto RE::ShadowSceneNode::Ni_RTTI = NiRTTI_ShadowSceneNode
inlinestaticconstexpr

◆ objectList1

BSTArray<NiPointer<NiAVObject> > RE::ShadowSceneNode::objectList1

◆ objectList2

BSTArray<NiPointer<NiAVObject> > RE::ShadowSceneNode::objectList2

◆ objectListLock

BSSpinLock RE::ShadowSceneNode::objectListLock
mutable

◆ opaqueWireframe

bool RE::ShadowSceneNode::opaqueWireframe

◆ pad21C

std::uint32_t RE::ShadowSceneNode::pad21C

◆ pad301

std::uint8_t RE::ShadowSceneNode::pad301

◆ pad302

std::uint16_t RE::ShadowSceneNode::pad302

◆ portalGraph

BSPortalGraph* RE::ShadowSceneNode::portalGraph

◆ RTTI

constexpr auto RE::ShadowSceneNode::RTTI = RTTI_ShadowSceneNode
inlinestaticconstexpr

◆ sceneGraphIndex

std::uint8_t RE::ShadowSceneNode::sceneGraphIndex

◆ shadowDirLight

BSShadowDirectionalLight* RE::ShadowSceneNode::shadowDirLight

◆ shadowLightsAccum

BSTArray<BSShadowLight*> RE::ShadowSceneNode::shadowLightsAccum

◆ sunLight

BSLight* RE::ShadowSceneNode::sunLight

◆ unk128

std::uint64_t RE::ShadowSceneNode::unk128

◆ unk190

BSTArray<NiPointer<BSLight> > RE::ShadowSceneNode::unk190

◆ unk24C

std::uint32_t RE::ShadowSceneNode::unk24C

◆ unk250

std::uint64_t RE::ShadowSceneNode::unk250

◆ unk258

std::uint64_t RE::ShadowSceneNode::unk258

◆ unk260

std::uint64_t RE::ShadowSceneNode::unk260

◆ unk268

std::uint64_t RE::ShadowSceneNode::unk268

◆ unk270

std::uint64_t RE::ShadowSceneNode::unk270

◆ unk278

std::uint64_t RE::ShadowSceneNode::unk278

◆ unk280

std::uint64_t RE::ShadowSceneNode::unk280

◆ unk288

std::uint64_t RE::ShadowSceneNode::unk288

◆ unk290

std::uint64_t RE::ShadowSceneNode::unk290

◆ unk298

std::uint64_t RE::ShadowSceneNode::unk298

◆ unk2A0

std::uint64_t RE::ShadowSceneNode::unk2A0

◆ unk2A8

std::uint64_t RE::ShadowSceneNode::unk2A8

◆ unk2B0

std::uint64_t RE::ShadowSceneNode::unk2B0

◆ unk2B8

std::uint64_t RE::ShadowSceneNode::unk2B8

◆ unk2C0

std::uint64_t RE::ShadowSceneNode::unk2C0

◆ unk2C8

std::uint64_t RE::ShadowSceneNode::unk2C8

◆ unk2D0

std::uint64_t RE::ShadowSceneNode::unk2D0

◆ unk2D8

std::uint64_t RE::ShadowSceneNode::unk2D8

◆ unk2E0

std::uint64_t RE::ShadowSceneNode::unk2E0

◆ VTABLE

constexpr auto RE::ShadowSceneNode::VTABLE = VTABLE_ShadowSceneNode
inlinestaticconstexpr

◆ windMagnitude

float RE::ShadowSceneNode::windMagnitude

◆ wireframe

bool RE::ShadowSceneNode::wireframe

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