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
Returns a list of allowed Base types for this field.
void writeValue(SoOutput *out) const override
Type getTypedValue()
Returns a Base pointer of given Type, returns NULL if the base object is not derived from Type.
bool hasUnallowedType() const
Returns true if the last call of setBaseValue had an unallowed type as argument, getBaseValue will re...
ml::Base * _value
Pointer to the stored base object.
void addAllowedType(const ml::RuntimeType *allowedType)
Adds 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.