![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
#include <SceneNode.h>
Public Member Functions | |
SceneNode (const ResourceDescriptorBase &descriptor, SceneNodeType type, U32 requiredComponentMask) | |
virtual | ~SceneNode () override |
virtual void | prepareRender (SceneGraphNode *sgn, RenderingComponent &rComp, RenderPackage &pkg, GFX::MemoryBarrierCommand &postDrawMemCmd, RenderStagePass renderStagePass, const CameraSnapshot &cameraSnapshot, bool refreshData) |
virtual void | buildDrawCommands (SceneGraphNode *sgn, GenericDrawCommandContainer &cmdsOut) |
bool | load (PlatformContext &context) override |
Loading and unloading interface. | |
bool | postLoad () override |
bool | unload () override |
virtual void | setMaterialTpl (Handle< Material > material) |
Handle< Material > | getMaterialTpl () const |
SceneNodeRenderState & | renderState () noexcept |
const SceneNodeRenderState & | renderState () const noexcept |
const BoundingBox & | getBounds () const noexcept |
const vec3< F32 > & | getWorldOffset () const noexcept |
U32 | requiredComponentMask () const noexcept |
virtual bool | saveCache (ByteBuffer &outputBuffer) const |
virtual bool | loadCache (ByteBuffer &inputBuffer) |
virtual void | saveToXML (boost::property_tree::ptree &pt) const |
virtual void | loadFromXML (const boost::property_tree::ptree &pt) |
EditorComponent * | editorComponent () const noexcept |
![]() | |
CachedResource (const ResourceDescriptorBase &descriptor, std::string_view typeName) | |
virtual bool | load (PlatformContext &context) |
Loading and unloading interface. | |
virtual bool | postLoad () |
virtual bool | unload () |
void | setState (ResourceState currentState) final |
![]() | |
Resource (std::string_view resourceName, std::string_view typeName) | |
ResourceState | getState () const noexcept |
PROPERTY_R (Str< 32 >, typeName) | |
PROPERTY_R (Str< 256 >, resourceName) | |
![]() | |
GUIDWrapper () noexcept | |
GUIDWrapper (const GUIDWrapper &old) noexcept | |
GUIDWrapper (GUIDWrapper &&old) noexcept | |
virtual | ~GUIDWrapper ()=default |
FORCE_INLINE I64 | getGUID () const noexcept |
GUIDWrapper & | operator= (const GUIDWrapper &old)=delete |
GUIDWrapper & | operator= (GUIDWrapper &&other)=delete |
Protected Member Functions | |
virtual void | sceneUpdate (U64 deltaTimeUS, SceneGraphNode *sgn, SceneState &sceneState) |
Called from SceneGraph "sceneUpdate". | |
virtual void | postLoad (SceneGraphNode *sgn) |
void | setBounds (const BoundingBox &aabb, const vec3< F32 > &worldOffset={}) |
void | registerEditorComponent (PlatformContext &context) |
PROPERTY_R (SceneNodeType, type, SceneNodeType::COUNT) | |
PROPERTY_RW (bool, rebuildDrawCommands, false) | |
virtual void | onNetworkSend (SceneGraphNode *sgn, WorldPacket &dataOut) const |
virtual void | onNetworkReceive (SceneGraphNode *sgn, WorldPacket &dataIn) const |
![]() | |
PROPERTY_RW (ResourcePath, assetLocation) | |
PROPERTY_RW (Str< 256 >, assetName) | |
PROPERTY_R (size_t, descriptorHash) | |
virtual void | setState (ResourceState currentState) |
Protected Attributes | |
std::unique_ptr< EditorComponent > | _editorComponent |
Handle< Material > | _materialTemplate = INVALID_HANDLE<Material> |
SceneNodeRenderState | _renderState |
The various states needed for rendering. | |
BoundingBox | _boundingBox {} |
The initial bounding box as it was at object's creation (i.e. no transforms applied) | |
vec3< F32 > | _worldOffset {} |
bool | _boundsChanged = false |
![]() | |
Mutex | _callbackLock {} |
![]() | |
std::atomic< ResourceState > | _resourceState |
![]() | |
const I64 | _guid |
Private Attributes | |
U32 | _requiredComponentMask = to_U32(ComponentType::TRANSFORM) |
Friends | |
class | Attorney::SceneNodePlayer |
class | Attorney::SceneNodeSceneGraph |
class | Attorney::SceneNodeLightComponent |
class | Attorney::SceneNodeBoundsSystem |
class | Attorney::SceneNodeNetworkComponent |
Additional Inherited Members | |
![]() | |
static I64 | generateGUID () noexcept |
Definition at line 86 of file SceneNode.h.
|
explicit |
Definition at line 27 of file SceneNode.cpp.
|
overridevirtual |
Definition at line 34 of file SceneNode.cpp.
|
virtual |
Definition at line 115 of file SceneNode.cpp.
|
inlinenoexcept |
Definition at line 131 of file SceneNode.h.
|
inlinenoexcept |
Definition at line 120 of file SceneNode.h.
Definition at line 73 of file SceneNode.cpp.
Definition at line 121 of file SceneNode.h.
|
overridevirtual |
Loading and unloading interface.
Reimplemented from Divide::CachedResource.
Definition at line 98 of file SceneNode.cpp.
|
virtual |
Definition at line 139 of file SceneNode.cpp.
|
virtual |
Definition at line 164 of file SceneNode.cpp.
|
protectedvirtual |
Definition at line 124 of file SceneNode.cpp.
|
protectedvirtual |
Definition at line 120 of file SceneNode.cpp.
|
overridevirtual |
Reimplemented from Divide::CachedResource.
Definition at line 103 of file SceneNode.cpp.
|
protectedvirtual |
Definition at line 61 of file SceneNode.cpp.
|
virtual |
Perform any pre-draw operations POST-command build If the node isn't ready for rendering and should be skipped this frame, the return value is false
Definition at line 50 of file SceneNode.cpp.
|
protected |
|
protected |
|
protected |
Definition at line 39 of file SceneNode.cpp.
|
inlinenoexcept |
Definition at line 118 of file SceneNode.h.
|
inlinenoexcept |
Definition at line 117 of file SceneNode.h.
|
inlinenoexcept |
Definition at line 123 of file SceneNode.h.
|
virtual |
Definition at line 128 of file SceneNode.cpp.
|
virtual |
Definition at line 156 of file SceneNode.cpp.
|
protectedvirtual |
Called from SceneGraph "sceneUpdate".
Definition at line 44 of file SceneNode.cpp.
|
protected |
Definition at line 66 of file SceneNode.cpp.
Definition at line 78 of file SceneNode.cpp.
|
overridevirtual |
Reimplemented from Divide::CachedResource.
Definition at line 108 of file SceneNode.cpp.
|
friend |
Definition at line 91 of file SceneNode.h.
|
friend |
Definition at line 90 of file SceneNode.h.
|
friend |
Definition at line 92 of file SceneNode.h.
|
friend |
Definition at line 88 of file SceneNode.h.
|
friend |
Definition at line 89 of file SceneNode.h.
|
protected |
The initial bounding box as it was at object's creation (i.e. no transforms applied)
Definition at line 159 of file SceneNode.h.
|
protected |
Definition at line 161 of file SceneNode.h.
|
protected |
Definition at line 152 of file SceneNode.h.
|
protected |
Definition at line 153 of file SceneNode.h.
|
protected |
The various states needed for rendering.
Definition at line 156 of file SceneNode.h.
|
private |
Definition at line 164 of file SceneNode.h.
Definition at line 160 of file SceneNode.h.