|
| MeshNode (const std::string &sNodeName) |
|
void | setMaterial (std::unique_ptr< Material > pMaterial, size_t iMaterialSlot=0) |
|
void | setMeshData (const MeshData &meshData) |
|
void | setMeshData (MeshData &&meshData) |
|
void | onMeshDataChanged () |
|
void | setIsVisible (bool bVisible) |
|
Material * | getMaterial (size_t iMaterialSlot=0) |
|
size_t | getAvailableMaterialSlotCount () |
|
std::pair< std::recursive_mutex *, MeshData * > | getMeshData () |
|
std::pair< std::recursive_mutex, GpuResources > * | getMeshGpuResources () |
|
std::pair< std::recursive_mutex, MeshShaderConstants > * | getMeshShaderConstants () |
|
AABB * | getAABB () |
|
bool | isVisible () const |
|
| SpatialNode (const std::string &sNodeName) |
|
void | setRelativeLocation (const glm::vec3 &location) |
|
void | setRelativeRotation (const glm::vec3 &rotation) |
|
void | setRelativeScale (const glm::vec3 &scale) |
|
void | setWorldLocation (const glm::vec3 &location) |
|
void | setWorldRotation (const glm::vec3 &rotation) |
|
void | setWorldScale (const glm::vec3 &scale) |
|
glm::vec3 | getRelativeLocation () const |
|
glm::vec3 | getRelativeRotation () const |
|
glm::vec3 | getRelativeScale () const |
|
glm::mat4x4 | getRelativeRotationMatrix () |
|
glm::vec3 | getWorldLocation () |
|
glm::vec3 | getWorldRotation () |
|
glm::quat | getWorldRotationQuaternion () |
|
glm::vec3 | getWorldScale () |
|
glm::vec3 | getWorldForwardDirection () |
|
glm::vec3 | getWorldRightDirection () |
|
glm::vec3 | getWorldUpDirection () |
|
glm::mat4x4 | getWorldMatrix () |
|
std::pair< std::recursive_mutex, sgc::GcPtr< SpatialNode > > * | getClosestSpatialParent () |
|
| Node () |
|
| Node (const std::string &sName) |
|
| Node (const Node &)=delete |
|
Node & | operator= (const Node &)=delete |
|
| Node (Node &&)=delete |
|
Node & | operator= (Node &&)=delete |
|
virtual | ~Node () override |
|
void | setNodeName (const std::string &sName) |
|
void | detachFromParentAndDespawn () |
|
void | addChildNode (const sgc::GcPtr< Node > &pNode, AttachmentRule locationRule=AttachmentRule::KEEP_WORLD, AttachmentRule rotationRule=AttachmentRule::KEEP_WORLD, AttachmentRule scaleRule=AttachmentRule::KEEP_WORLD) |
|
void | setSerialize (bool bSerialize) |
|
std::optional< Error > | serializeNodeTree (const std::filesystem::path &pathToFile, bool bEnableBackup) |
|
std::string | getNodeName () const |
|
sgc::GcPtr< Node > | getWorldRootNode () |
|
std::pair< std::recursive_mutex, sgc::GcPtr< Node > > * | getParentNode () |
|
std::pair< std::recursive_mutex, sgc::GcVector< sgc::GcPtr< Node > > > * | getChildNodes () |
|
template<typename NodeType >
requires std::derived_from<NodeType, Node> |
sgc::GcPtr< NodeType > | getParentNodeOfType (const std::string &sParentNodeName="") |
|
template<typename NodeType >
requires std::derived_from<NodeType, Node> |
sgc::GcPtr< NodeType > | getChildNodeOfType (const std::string &sChildNodeName="") |
|
TickGroup | getTickGroup () const |
|
std::optional< size_t > | getNodeId () const |
|
bool | isCalledEveryFrame () |
|
bool | isReceivingInput () |
|
bool | isSpawned () |
|
bool | isParentOf (Node *pNode) |
|
bool | isChildOf (Node *pNode) |
|
bool | isSerialized () const |
|
std::optional< Error > | serialize (std::filesystem::path pathToFile, bool bEnableBackup, const std::unordered_map< std::string, std::string > &customAttributes={}) |
|
std::variant< std::string, Error > | serialize (toml::value &tomlData, const std::string &sEntityId="", const std::unordered_map< std::string, std::string > &customAttributes={}, const std::optional< std::filesystem::path > &optionalPathToFile={}, bool bEnableBackup=false) |
|
std::variant< std::string, Error > | serialize (toml::value &tomlData, Serializable *pOriginalObject, std::string sEntityId="", const std::unordered_map< std::string, std::string > &customAttributes={}, const std::optional< std::filesystem::path > &optionalPathToFile={}, bool bEnableBackup=false) |
|
std::optional< std::pair< std::string, std::string > > | getPathDeserializedFromRelativeToRes () const |
|
|
static const char * | getMeshShaderConstantBufferName () |
|
static size_t | getAliveNodeCount () |
|
static std::variant< sgc::GcPtr< Node >, Error > | deserializeNodeTree (const std::filesystem::path &pathToFile) |
|
static GameInstance * | getGameInstance () |
|
static std::variant< std::pair< std::set< std::string >, toml::value >, Error > | getIdsFromFile (std::filesystem::path pathToFile) |
|
static std::optional< Error > | serializeMultiple (std::filesystem::path pathToFile, std::vector< SerializableObjectInformation > vObjects, bool bEnableBackup) |
|
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type>
requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) |
static std::variant< SmartPointer, Error > | deserialize (const std::filesystem::path &pathToFile) |
|
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type>
requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) |
static std::variant< SmartPointer, Error > | deserialize (const std::filesystem::path &pathToFile, std::unordered_map< std::string, std::string > &customAttributes) |
|
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type>
requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) |
static std::variant< SmartPointer, Error > | deserialize (std::filesystem::path pathToFile, std::unordered_map< std::string, std::string > &customAttributes, const std::string &sEntityId) |
|
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type>
requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) |
static std::variant< SmartPointer, Error > | deserialize (const std::filesystem::path &pathToFile, const std::string &sEntityId) |
|
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type>
requires std::same_as<SmartPointer, sgc::GcPtr<Serializable>> || std::same_as<SmartPointer, std::unique_ptr<Serializable>> |
static std::variant< std::vector< DeserializedObjectInformation< SmartPointer > >, Error > | deserializeMultiple (std::filesystem::path pathToFile) |
|
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type>
requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) |
static std::variant< SmartPointer, Error > | deserialize (const toml::value &tomlData, std::unordered_map< std::string, std::string > &customAttributes, std::string sEntityId="", const std::optional< std::filesystem::path > &optionalPathToFile={}) |
|
|
virtual void | onAfterDeserialized () override |
|
virtual void | onSpawning () override |
|
virtual void | onDespawning () override |
|
virtual void | onWorldLocationRotationScaleChanged () override |
|
void | setShaderCpuWriteResourceBinding (const std::string &sShaderResourceName, size_t iResourceSizeInBytes, const std::function< void *()> &onStartedUpdatingResource, const std::function< void()> &onFinishedUpdatingResource) |
|
void | setShaderTextureResourceBinding (const std::string &sShaderResourceName, const std::string &sPathToTextureResourceRelativeRes) |
|
void | markShaderCpuWriteResourceToBeCopiedToGpu (const std::string &sShaderResourceName) |
|
virtual void | onAfterDeserialized () override |
|
virtual void | onSpawning () override |
|
virtual void | onAfterAttachedToNewParent (bool bThisNodeBeingAttached) override |
|
virtual void | onWorldLocationRotationScaleChanged () |
|
void | setIsCalledEveryFrame (bool bEnable) |
|
void | setTickGroup (TickGroup tickGroup) |
|
void | setIsReceivingInput (bool bEnable) |
|
Timer * | createTimer (const std::string &sTimerName) |
|
template<typename FunctionType > |
NodeNotificationBroadcaster< FunctionType > * | createNotificationBroadcaster () |
|
std::pair< std::recursive_mutex, std::unordered_map< unsigned int, std::function< void(KeyboardModifiers, bool)> > > * | getActionEventBindings () |
|
std::pair< std::recursive_mutex, std::unordered_map< unsigned int, std::function< void(KeyboardModifiers, float)> > > * | getAxisEventBindings () |
|
std::recursive_mutex * | getSpawnDespawnMutex () |
|
virtual void | onMouseMove (double xOffset, double yOffset) |
|
virtual void | onMouseScrollMove (int iOffset) |
|
virtual void | onBeforeNewFrame (float timeSincePrevFrameInSec) |
|
virtual void | onSpawning () |
|
virtual void | onChildNodesSpawned () |
|
virtual void | onDespawning () |
|
virtual void | onBeforeDetachedFromParent (bool bThisNodeBeingDetached) |
|
virtual void | onAfterAttachedToNewParent (bool bThisNodeBeingAttached) |
|
virtual void | onAfterDeserialized () |
|
Represents a node that can have 3D geometry to display (mesh).