MeVisLab Toolbox Reference
ml::TypedBaseField< T > Class Template Reference

#include <mlFields.h>

Inheritance diagram for ml::TypedBaseField< T >:
ml::BaseField ml::Field

Public Member Functions

 TypedBaseField (const std::string &name)
 Constructor; creates a field with a name to manage a typed Base pointer. Default value is NULL.
void setValue (T *basePointerValue)
 Sets the value of the field to basePointerValue.
void setValue (const ::boost::intrusive_ptr< T > &value)
 Sets the value from intrusive pointer.
TgetValue () const
 Returns the current field value.
Public Member Functions inherited from ml::BaseField
 BaseField ()=default
 Implements the runtime type system interface for this class.
 BaseField (const std::string &name)
 ~BaseField () override
 Destructor.
void setStringValue (const std::string &stringValue) override
 Sets pointer value from string stringValue. If string cannot be parsed successfully, a NULL pointer is set.
void setBaseValue (Base *basePointerValue)
 Sets the value of the field to basePointerValue.
void setBaseValue (const RefCountedBasePtr &value)
 Sets the value from intrusive pointer.
std::string getStringValue () const override
Base * getBaseValue () const
 Returns current field value.
virtual void touchSourceFields ()
 Touches the source fields.
void addAllowedType (const RuntimeType *allowedType)
template<typename T>
void addAllowedType ()
 Same as above, with template parameter where the Base type can be specified directly.
template<typename T>
void setBaseValueAndAddAllowedType (T *value)
template<typename T>
void setBaseValueAndAddAllowedType (const ::boost::intrusive_ptr< T > &value)
std::vector< const RuntimeType * > getAllowedTypes () const
 Returns a list of allowed Base types for this field.
bool hasUnallowedType () const
void setValue (Base *basePointerValue)
 Same as setBaseValue(Base*).
void setValue (const RefCountedBasePtr &value)
 Same as setBaseValue(const RefCountedBasePtr&).
Base * getValue () const
 Same as getBaseValue().
template<class Type>
Type getTypedValue () const
 Returns the typed value if the contained base object is derived from the given Type.
template<class Type>
Type getTypedBaseValue () const
 Returns the typed value if the contained base object is derived from the given Type.
Public Member Functions inherited from ml::Field
 Field (const std::string &name=std::string())
 Constructor: Creates a field with name.
virtual ~Field ()
 Destructor: Destroys a field and removes all connection to fields and sensors.
FieldContainergetFieldContainer () const
 Returns the field container of the field (which may be NULL).
const std::string & getName () const
 Returns the name of field.
void setName (const std::string &name)
 Sets the name of field. Should be called only once after or while construction.
std::string getFullName () const
bool isOutputOnly () const
 Returns whether this field is marked as a pure output field.
void setOutputOnly (bool outputOnly=true)
 Marks this field as a pure output field that is only changed by its module.
virtual MLint isValidValue ()
void copyCStringValue (char *valueBuffer, MLint bufferSize)
MLint getCStringValueSize ()
 Returns the length of the character string of the string value of the field.
void attachFieldSensor (FieldSensor *sensor)
 Attaches a field sensor sensor of this class instance in both directions.
void detachFieldSensor (FieldSensor *sensor)
 Detaches the field sensor sensor of this class instance in both directions.
void detachFieldSensors ()
 Detaches all field sensors of this class instance in both directions.
void attachField (OutputConnectorField *targetField)
void attachField (BaseField *targetField)
void attachField (SoNodeField *targetField)
void attachField (NotifyField *targetField)
void attachField (Field *targetField, bool propagateValueOnConnect)
void detachField (Field *targetField)
 Disconnects connections between the target field targetField and this instance.
void detachSourceFields ()
 Disconnects all source fields of this instance in both directions.
void detachDestinationFields ()
 Disconnects all target fields of this instance in both directions.
void detachAllFields ()
 Disconnects all source and target fields of this instance in both directions.
size_t getNumDestinationFields ()
 Returns the number of destination fields that could receive notifications or value sets.
FieldgetDestinationField (size_t index)
 Returns the destination field at index. Returns NULL if index is out of range.
size_t getNumSourceFields ()
 Returns the number of source fields that could send notifications or value sets.
FieldgetSourceField (size_t index)
 Returns the source field at index. Returns NULL if index is out of range.
virtual void touch (FieldSensor::Strength strength=FieldSensor::CHANGED)
void enableNotifications (bool flag)
bool areNotificationsEnabled ()

Additional Inherited Members

static void enableNotificationsGlobally (bool flag)
static bool areNotificationsEnabledGlobally ()
static MLintenableNotificationsCounterState ()
Protected Member Functions inherited from ml::BaseField
void setValueFromField (const Field &field) override
 Reimplementation from Field that copies the field value more efficiently.
Protected Member Functions inherited from ml::Field
void attachSourceField (Field *field)
void detachSourceField (Field *field)
 Removes a source field from this instance. If not found, then this call does nothing.
void detachFieldInternal (Field *field)
 Only removes the given field from the destination list.
Protected Attributes inherited from ml::Field
std::string _name
 The name of this field.
std::vector< FieldSensor * > _sensors
 List of field sensors.
std::vector< Field * > _destinationFields
std::vector< Field * > _sourceFields
FieldContainer_fieldContainer
 The owning field container.
Flags _flags
Static Protected Attributes inherited from ml::Field
static MLint _enableNotifications
 Flag that disables the notification process of field (-sensors) globally.

Detailed Description

template<class T>
class ml::TypedBaseField< T >

Templated version of BaseField that only stores the template type as pointer.

Definition at line 834 of file mlFields.h.

Constructor & Destructor Documentation

◆ TypedBaseField()

template<class T>
ml::TypedBaseField< T >::TypedBaseField ( const std::string & name)
inlineexplicit

Constructor; creates a field with a name to manage a typed Base pointer. Default value is NULL.

Definition at line 838 of file mlFields.h.

References ml::BaseField::addAllowedType(), and ml::BaseField::BaseField().

Member Function Documentation

◆ getValue()

template<class T>
T * ml::TypedBaseField< T >::getValue ( ) const
inline

Returns the current field value.

Definition at line 847 of file mlFields.h.

References ml::BaseField::getTypedValue(), and T.

◆ setValue() [1/2]

template<class T>
void ml::TypedBaseField< T >::setValue ( const ::boost::intrusive_ptr< T > & value)
inline

Sets the value from intrusive pointer.

Definition at line 844 of file mlFields.h.

References setValue().

Referenced by setValue().

◆ setValue() [2/2]

template<class T>
void ml::TypedBaseField< T >::setValue ( T * basePointerValue)
inline

Sets the value of the field to basePointerValue.

Definition at line 841 of file mlFields.h.

References ml::BaseField::setBaseValue(), and T.

Referenced by ml::FieldContainer::addTypedBase(), and ml::FieldContainer::addTypedBase().


The documentation for this class was generated from the following file: