41 return std::string(
"FInstance");
66 std::shared_ptr<T> data = std::static_pointer_cast<T>(ins->
objectPointer());
75 std::shared_ptr<T> data = std::static_pointer_cast<T>(ins->
objectPointer());
89 if (
mData ==
nullptr) {
90 mData = std::make_shared<T>();
104 if (dstIns ==
nullptr) {
118 if (dstIns ==
nullptr) {
127 assert(dataPtr !=
nullptr);
136 return std::dynamic_pointer_cast<Object>(
mData);
140 return std::make_shared<T>();
144 auto dPtr = std::dynamic_pointer_cast<T>(op);
153 std::shared_ptr<Object> dataPtr = ins->standardObjectPointer();
154 auto dPtr = std::dynamic_pointer_cast<T>(dataPtr);
156 return dPtr ==
nullptr ? false :
true;
185 std::shared_ptr<T> data = std::static_pointer_cast<T>(ins->
objectPointer());
214 return std::make_shared<T>();
220 std::shared_ptr<Object> dataPtr = ins->standardObjectPointer();
222 auto dPtr = std::dynamic_pointer_cast<T>(dataPtr);
224 return dPtr ==
nullptr ? false :
true;
FInputPolicy
Field with a policy of FInputPolicy::Many is not allowed to be connected to FInputPolicy::One Field w...
bool disconnectField(FBase *dst)
bool connectField(FBase *dst)
std::vector< FBase * > & getSources()
std::shared_ptr< T > getDataPtr()
std::shared_ptr< T > constDataPtr()
void setObjectPointer(std::shared_ptr< Object > op) final
bool canBeConnectedBy(InstanceBase *ins) final
bool connect(FBase *dst) override
std::shared_ptr< T > allocate()
FInstance(std::string name, std::string description, FieldTypeEnum fieldType, OBase *parent)
void setDataPtr(std::shared_ptr< T > sPtr)
std::shared_ptr< Object > standardObjectPointer() final
bool disconnect(FBase *dst) override
std::shared_ptr< Object > objectPointer() final
std::shared_ptr< T > mData
const std::string getTemplateName() override
const std::string getClassName() final
std::shared_ptr< T > constDataPtr(const uint i)
bool disconnect(FBase *dst) override
bool connect(FBase *dst) override
FInstances cannot be connected to other fields.
FInstances< T > FieldType
const std::string getTemplateName() override
bool canBeConnectedBy(InstanceBase *ins) final
FInputPolicy inputPolicy() override
const std::string getClassName() final
std::shared_ptr< Object > objectPointer() override
FInstances(std::string name, std::string description, FieldTypeEnum fieldType, OBase *parent)
void setObjectPointer(std::shared_ptr< Object > op) override
std::shared_ptr< Object > standardObjectPointer() final
virtual std::shared_ptr< Object > standardObjectPointer()=0
virtual void setObjectPointer(std::shared_ptr< Object > op)=0
virtual bool canBeConnectedBy(InstanceBase *ins)=0
static const std::string className()
virtual std::shared_ptr< Object > objectPointer()=0
InstanceBase(std::string name, std::string description, FieldTypeEnum fieldType, OBase *parent)
This is an implementation of AdditiveCCD based on peridyno.