PeriDyno 1.0.0
Loading...
Searching...
No Matches
DeclarePort.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dyno
 This is an implementation of AdditiveCCD based on peridyno.
 

Macros

#define DEF_ARRAY_STATE(T, name, device, desc)
 Macro definitions for ArrayField.
 
#define DEF_ARRAY2D_STATE(T, name, device, desc)
 
#define DEF_ARRAY3D_STATE(T, name, device, desc)
 
#define DEF_ARRAYLIST_STATE(T, name, device, desc)
 
#define DEF_INSTANCE_STATE(T, name, desc)
 Macro definitions for instance.
 
#define DEF_NODE_PORT(T, name, desc)
 Macro definitions for node ports.
 
#define DEF_NODE_PORTS(T, name, desc)
 

Macro Definition Documentation

◆ DEF_ARRAY2D_STATE

#define DEF_ARRAY2D_STATE ( T,
name,
device,
desc )
Value:
private: \
FArray2D<T, device> state_##name = FArray2D<T, device>(std::string(#name), desc, FieldTypeEnum::State, this); \
public: \
inline FArray2D<T, device>* state##name() {return &state_##name;}

Definition at line 31 of file DeclarePort.h.

◆ DEF_ARRAY3D_STATE

#define DEF_ARRAY3D_STATE ( T,
name,
device,
desc )
Value:
private: \
FArray3D<T, device> state_##name = FArray3D<T, device>(std::string(#name), desc, FieldTypeEnum::State, this); \
public: \
inline FArray3D<T, device>* state##name() {return &state_##name;}

Definition at line 37 of file DeclarePort.h.

◆ DEF_ARRAY_STATE

#define DEF_ARRAY_STATE ( T,
name,
device,
desc )
Value:
private: \
FArray<T, device> state_##name = FArray<T, device>(std::string(#name), desc, FieldTypeEnum::State, this); \
public: \
inline FArray<T, device>* state##name() {return &state_##name;}

Macro definitions for ArrayField.

Definition at line 24 of file DeclarePort.h.

◆ DEF_ARRAYLIST_STATE

#define DEF_ARRAYLIST_STATE ( T,
name,
device,
desc )
Value:
private: \
FArrayList<T, device> state_##name = FArrayList<T, device>(std::string(#name), desc, FieldTypeEnum::State, this); \
public: \
inline FArrayList<T, device>* state##name() {return &state_##name;}

Definition at line 44 of file DeclarePort.h.

◆ DEF_INSTANCE_STATE

#define DEF_INSTANCE_STATE ( T,
name,
desc )
Value:
private: \
FInstance<T> state_##name = FInstance<T>(std::string(#name), desc, FieldTypeEnum::State, this); \
public: \
inline FInstance<T>* state##name() {return &state_##name;}

Macro definitions for instance.

Definition at line 53 of file DeclarePort.h.

◆ DEF_NODE_PORT

#define DEF_NODE_PORT ( T,
name,
desc )
Value:
private: \
SingleNodePort<T> single_##name = SingleNodePort<T>(std::string(#name), desc, this); \
public: \
inline T* get##name() { return single_##name.getDerivedNode(); } \
\
SingleNodePort<T>* import##name(){ return &single_##name; }
#define T(t)

Macro definitions for node ports.

Definition at line 63 of file DeclarePort.h.

◆ DEF_NODE_PORTS

#define DEF_NODE_PORTS ( T,
name,
desc )
Value:
private: \
MultipleNodePort<T> multiple_##name = MultipleNodePort<T>(std::string(#name)+std::string("(s)"), desc, this); \
public: \
inline MultipleNodePort<T>* import##name##s() { return &multiple_##name; } \
inline std::vector<T*>& get##name##s(){return multiple_##name.getDerivedNodes();} \
\
bool add##name(std::shared_ptr<T> c){ \
multiple_##name.addDerivedNode(c.get()); \
return true; \
} \
\
bool remove##name(std::shared_ptr<T> c) { \
multiple_##name.removeDerivedNode(c.get()); \
return true; \
}

Definition at line 72 of file DeclarePort.h.