22 #include <ThirdPartyWarningsDisable.h>
23 #include <Inventor/fields/SoSubField.h>
24 #include <Inventor/SbLinear.h>
26 #include <ThirdPartyWarningsRestore.h>
56 virtual void setValue(ML_NAMESPACE::Base* mlBasePtr);
79 std::vector<const ML_NAMESPACE::RuntimeType*>
getAllowedTypes()
const {
return _allowedTypes; }
#define INVENTORWRAPPER_API
Library initialization and export macros for platform independecy of project.
The SoSFMLBase field is the interface used by Inventor Nodes to output ML Base objects to the outside...
virtual ml::Base * getValue() const
void addAllowedType()
Same as above, with template parameter where the Base type can be specified directly.
std::vector< const ml::RuntimeType * > getAllowedTypes() const
Get list of allowed Base types for this field.
void writeValue(SoOutput *out) const override
Type getTypedValue()
Get a Base pointer of given Type, returns NULL is the base object is not derived from Type.
bool hasUnallowedType() const
return true if the last call of setBaseValue had an unallowed type as argument, getBaseValue will ret...
ml::Base * _value
pointer to the stored base object
void addAllowedType(const ml::RuntimeType *allowedType)
Add type to list of allowed types.
SbBool readValue(SoInput *in) override
bool _unallowedType
remember if an unallowed type was assigned to this field
static void initClass()
Initializes field class, setting up runtime type info.
std::vector< const ml::RuntimeType * > _allowedTypes
List of allowed Base types. If empty, any type is allowed.
virtual void setValue(ml::Base *mlBasePtr)
Field access implementation.