8 class BSDynamicTriShape;
11 class bhkAttachmentCollisionObject;
12 class bhkBlendCollisionObject;
13 class bhkLimitedHingeConstraint;
14 class bhkNiCollisionObject;
17 class BSMultiBoundNode;
18 class BSSegmentedTriShape;
19 class BSSubIndexTriShape;
21 class NiCloningProcess;
22 class NiControllerManager;
77 [[nodiscard]]
virtual NiObjectGroup*
GetGroup()
const {
return nullptr; }
78 virtual void SetGroup([[maybe_unused]] NiObjectGroup* a_group) {
return; }
83 static_assert(
sizeof(
NiObject) == 0x10);
#define NiSmartPointer(className)
Definition: NiSmartPointer.h:251
Definition: BSFadeNode.h:11
Definition: BSGeometry.h:14
Definition: BSMultiBoundNode.h:14
Definition: BSTriShape.h:8
Definition: NiControllerManager.h:17
Definition: NiObject.h:37
virtual bhkRigidBody * AsBhkRigidBody()
Definition: NiObject.h:64
virtual bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint()
Definition: NiObject.h:65
virtual void LoadBinary(NiStream &a_stream)
Definition: NiObject.h:67
virtual NiObject * CreateClone(NiCloningProcess &a_cloning)
Definition: NiObject.h:66
virtual void ProcessClone(NiCloningProcess &a_cloning)
virtual BSDynamicTriShape * AsDynamicTriShape()
Definition: NiObject.h:55
virtual BSSegmentedTriShape * AsSegmentedTriShape()
Definition: NiObject.h:53
virtual BSSubIndexTriShape * AsSubIndexTriShape()
Definition: NiObject.h:54
~NiObject() override=default
virtual bool IsEqual(NiObject *a_object)
virtual NiTriStrips * AsTriStrips()
Definition: NiObject.h:51
virtual void LinkObject(NiStream &a_stream)
Definition: NiObject.h:68
virtual bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject()
Definition: NiObject.h:63
virtual NiSwitchNode * AsSwitchNode()
Definition: NiObject.h:47
virtual void PostLinkObject(NiStream &a_stream)
Definition: NiObject.h:73
virtual NiTriShape * AsNiTriShape()
Definition: NiObject.h:58
void CreateDeepCopy(NiPointer< NiObject > &a_object)
virtual std::uint32_t GetBlockAllocationSize() const
Definition: NiObject.h:76
virtual NiParticles * AsParticlesGeom()
Definition: NiObject.h:59
static constexpr auto RTTI
Definition: NiObject.h:39
static constexpr auto Ni_RTTI
Definition: NiObject.h:40
virtual bool StreamCanSkip()
Definition: NiObject.h:74
virtual const NiRTTI * GetStreamableRTTI() const
Definition: NiObject.h:75
virtual NiObjectGroup * GetGroup() const
Definition: NiObject.h:77
virtual NiNode * AsNode()
Definition: NiObject.h:46
virtual BSMultiBoundNode * AsMultiBoundNode()
Definition: NiObject.h:49
virtual bhkNiCollisionObject * AsBhkNiCollisionObject()
Definition: NiObject.h:61
virtual BSFadeNode * AsFadeNode()
Definition: NiObject.h:48
virtual BSGeometry * AsGeometry()
Definition: NiObject.h:50
virtual const NiRTTI * GetRTTI() const
virtual void SaveBinary(NiStream &a_stream)
Definition: NiObject.h:70
virtual NiTriBasedGeom * AsNiTriBasedGeom()
Definition: NiObject.h:57
virtual NiControllerManager * AsNiControllerManager()
Definition: NiObject.h:79
virtual bhkBlendCollisionObject * AsBhkBlendCollisionObject()
Definition: NiObject.h:62
virtual bool RegisterStreamables(NiStream &a_stream)
virtual BSTriShape * AsTriShape()
Definition: NiObject.h:52
virtual NiGeometry * AsNiGeometry()
Definition: NiObject.h:56
virtual void SetGroup(NiObjectGroup *a_group)
Definition: NiObject.h:78
virtual BSLines * AsLinesGeom()
Definition: NiObject.h:60
Definition: NiSmartPointer.h:9
Definition: NiRefObject.h:8
Definition: bhkNiCollisionObject.h:11
Definition: bhkRigidBody.h:9
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_NiObject
Definition: Offsets_RTTI.h:5393
constexpr REL::ID NiRTTI_NiObject
Definition: Offsets_NiRTTI.h:216