Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
SGNComponent.h File Reference

Go to the source code of this file.

Classes

struct  ECS::CustomEvent
 
struct  ECS::CustomEvent::DataPair
 
struct  Divide::Factory< Base, Args >
 
struct  Divide::Factory< Base, Args >::Registrar< T, C >
 
struct  Divide::Factory< Base, Args >::Key
 
class  Divide::SGNComponent
 

Namespaces

namespace  Divide
 Handle console commands that start with a forward slash.
 
namespace  ECS
 

Macros

#define DVD_SGN_COMPONENT_H_
 
#define INIT_COMPONENT(X)   static bool X##_registered = X::s_registered
 
#define DVD_COMPONENT_SIGNATURE(Name, Enum)   class Name##Component final : public BaseComponentType<Name##Component, Enum>
 
#define DVD_COMPONENT_PARENT(Name, Enum)
 
#define BEGIN_COMPONENT(Name, Enum)
 
#define BEGIN_COMPONENT_EXT1(Name, Enum, Base1)
 
#define END_COMPONENT(Name)
 

Typedefs

template<typename T , ComponentType C>
using Divide::BaseComponentType = SGNComponent::Registrar< T, C >
 

Functions

template<class T , typename... Args>
void Divide::AddSGNComponent (SceneGraphNode *node, Args... args)
 
template<class T >
void Divide::RemoveSGNComponent (SceneGraphNode *node)
 

Macro Definition Documentation

◆ BEGIN_COMPONENT

#define BEGIN_COMPONENT (   Name,
  Enum 
)
Value:
DVD_COMPONENT_SIGNATURE(Name, Enum) { \
DVD_COMPONENT_PARENT(Name, Enum)
#define DVD_COMPONENT_SIGNATURE(Name, Enum)
Definition: SGNComponent.h:211

Definition at line 215 of file SGNComponent.h.

◆ BEGIN_COMPONENT_EXT1

#define BEGIN_COMPONENT_EXT1 (   Name,
  Enum,
  Base1 
)
Value:
DVD_COMPONENT_SIGNATURE(Name, Enum) , public Base1 { \
DVD_COMPONENT_PARENT(Name, Enum)

Definition at line 219 of file SGNComponent.h.

◆ DVD_COMPONENT_PARENT

#define DVD_COMPONENT_PARENT (   Name,
  Enum 
)
Value:
using Parent = BaseComponentType<Name##Component, Enum>; \
friend class Name##System;

Definition at line 213 of file SGNComponent.h.

◆ DVD_COMPONENT_SIGNATURE

#define DVD_COMPONENT_SIGNATURE (   Name,
  Enum 
)    class Name##Component final : public BaseComponentType<Name##Component, Enum>

Definition at line 211 of file SGNComponent.h.

◆ DVD_SGN_COMPONENT_H_

#define DVD_SGN_COMPONENT_H_

Definition at line 33 of file SGNComponent.h.

◆ END_COMPONENT

#define END_COMPONENT (   Name)
Value:
}; \
INIT_COMPONENT(Name##Component);

Definition at line 223 of file SGNComponent.h.

◆ INIT_COMPONENT

#define INIT_COMPONENT (   X)    static bool X##_registered = X::s_registered

Definition at line 209 of file SGNComponent.h.