Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/N/NiCullingProcess.h
T
2026-05-30 18:33:24 +12:00

58 lines
3.8 KiB
C++

#pragma once
#include "RE/N/NiVisibleArray.h"
namespace RE
{
class __declspec(novtable) NiCullingProcess
{
public:
static constexpr auto RTTI{ RTTI::NiCullingProcess };
static constexpr auto VTABLE{ VTABLE::NiCullingProcess };
static constexpr auto Ni_RTTI{ Ni_RTTI::NiCullingProcess };
// add
virtual const NiRTTI* GetRTTI() const; // 00
virtual const NiNode* IsNode() const; // 01
virtual NiNode* IsNode(); // 02
virtual NiSwitchNode* IsSwitchNode(); // 03
virtual BSFadeNode* IsFadeNode(); // 04
virtual BSMultiBoundNode* IsMultiBoundNode(); // 05
virtual BSGeometry* IsGeometry(); // 06
virtual NiTriStrips* IsTriStrips(); // 07
virtual BSTriShape* IsTriShape(); // 08
virtual BSDynamicTriShape* IsDynamicTriShape(); // 09
virtual BSSegmentedTriShape* IsSegmentedTriShape(); // 0A
virtual BSSubIndexTriShape* IsSubIndexTriShape(); // 0B
virtual NiGeometry* IsNiGeometry(); // 0C
virtual NiTriBasedGeom* IsNiTriBasedGeom(); // 0D
virtual NiTriShape* IsNiTriShape(); // 0E
virtual NiParticles* IsParticlesGeom(); // 0F
virtual NiParticleSystem* IsParticleSystem(); // 10
virtual BSLines* IsLinesGeom(); // 11
virtual NiLight* IsLight(); // 12
virtual bhkNiCollisionObject* IsBhkNiCollisionObject(); // 13
virtual bhkBlendCollisionObject IsBhkBlendCollisionObject(); // 14
virtual bhkRigidBody IsBhkRigidBody(); // 15
virtual bhkLimitedHingeConstraint IsBhkLimitedHingeConstraint(); // 16
virtual bhkNPCollisionObject IsbhkNPCollisionObject(); // 17
virtual ~NiCullingProcess(); // 18
virtual void Process(NiAVObject* a_object); // 19
virtual void Process(const NiCamera* a_camera, NiAVObject* a_scene, NiVisibleArray* a_visibleSet); // 1A
virtual void AppendVirtual(BSGeometry* a_visible); // 1B
// members
bool useVirtualAppend; // 08
NiVisibleArray* visibleSet; // 10
NiCamera* camera; // 18
NiFrustum frustum; // 20
NiFrustumPlanes planes; // 3C
NiFrustumPlanes customCullPlanes; // AC
bool cameraRelatedUpdates; // 11C
bool updateAccumulateFlag; // 11D
bool ignorePreprocess; // 11E
bool bCustomCullPlanes; // 11F
};
static_assert(sizeof(NiCullingProcess) == 0x120);
}