22#include <ThirdPartyWarningsDisable.h>
23#include <Inventor/fields/SoSubField.h>
24#include <Inventor/SbLinear.h>
26#include <ThirdPartyWarningsRestore.h>
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...
std::vector< const ml::RuntimeType * > getAllowedTypes() const
Returns a list of allowed Base types for this field.
void addAllowedType()
Same as above, with template parameter where the Base type can be specified directly.
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.
virtual ml::Base * getValue() const
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.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.