45 typedef std::map<ProgramID, std::shared_ptr<VkProgram>> ProgramMap;
46 typedef std::map<ProgramID, std::shared_ptr<VkMultiProgram>> MultiProgramMap;
139 virtual bool attachField(
FBase* field, std::string name, std::string desc,
bool autoDestroy =
true);
147 return dynamic_cast<T*
>(iter->second);
188 std::shared_ptr<VkProgram> addKernel(
ProgramID programId, std::shared_ptr<VkProgram> prog);
190 std::shared_ptr<VkProgram> kernel(
ProgramID programId);
198 MultiProgramMap MultiKernels;
std::vector< FieldID > getFieldAlias(FBase *data)
bool findOutputField(FBase *field)
bool removeParameter(FBase *field)
bool removeFieldAlias(const FieldID name)
Remove a field by its name.
virtual bool attachField(FBase *field, std::string name, std::string desc, bool autoDestroy=true)
Attach a field to Base.
std::vector< FBase * > & getAllFields()
bool findFieldAlias(const FieldID name)
Find a field by its name.
std::vector< FBase * > fields_param
std::vector< FBase * > FieldVector
std::vector< FBase * > & getParameters()
virtual bool captionVisible()
Whether to hide the caption in the GUI.
bool removeInputField(FBase *field)
bool addField(FBase *data)
Add a field to Base FieldID will be set to the name of Field by default.
virtual std::string caption()
Return the caption.
bool addParameter(FBase *field)
std::vector< FBase * > & getOutputFields()
bool addFieldAlias(FieldID name, FBase *data)
int getFieldAliasCount(FBase *data)
bool removeOutputField(FBase *field)
virtual std::string getName()
FBase * getField(const FieldID name)
Return a field by its name.
void setBlockCoord(float x, float y)
bool findField(FBase *data)
Find a field by its pointer.
std::vector< FBase * > & getInputFields()
std::vector< FBase * > fields_output
bool findParameter(FBase *field)
std::map< FieldID, FBase * > FieldMap
virtual std::string description()
Return a description for the node or module, override this function to support user-defined descripti...
std::vector< FBase * > fields_input
bool addOutputField(FBase *field)
T * getField(FieldID name)
bool findInputField(FBase *field)
bool removeFromOutput(FBase *field)
bool addInputField(FBase *field)
bool isAllFieldsReady()
Check the completeness of all required fields.
bool removeField(FBase *data)
Remove a field by its pointer.
bool addToOutput(FBase *field)
This is an implementation of AdditiveCCD based on peridyno.
std::string FieldID
Base class for modules.