Ocean
Ocean::SceneDescription::Field0D< T > Class Template Reference

This class implements all 0D fields (fields holding a single value only). More...

Inheritance diagram for Ocean::SceneDescription::Field0D< T >:

Public Member Functions

 Field0D ()=default
 Creates a new single value field with an undefined value. More...
 
 Field0D (const T &value)
 Creates a new single value field by a given initialization value. More...
 
 Field0D (const T &value, const Timestamp timestamp)
 Creates a new single value field by a given initialization value and an explicit timestamp. More...
 
Type type () const override
 Returns the type of this field. More...
 
unsigned int dimension () const override
 Returns the dimension of this field. More...
 
const T & value () const
 Returns the value of this field. More...
 
void setValue (const T &value)
 Sets the value of this field and changes the modification timestamp to the current time. More...
 
void setValue (const T &value, const Timestamp timestamp)
 Sets the value of this field and defines an explicit modification timestamp. More...
 
bool assign (const Field &field) override
 Assigns a field to this field if both field have the identical field type. More...
 
- Public Member Functions inherited from Ocean::SceneDescription::Field
virtual ~Field ()
 Destructs a field object. More...
 
Timestamp timestamp () const
 Returns the most recent field modification timestamp. More...
 
bool is0D () const
 Returns whether this field is a 0D field. More...
 
bool is1D () const
 Returns whether this field is a 1D field. More...
 
bool isType (const Type type) const
 Returns whether this field has a given type. More...
 
bool isType (const Type type, const unsigned int dimension) const
 Returns whether this field has a given type and dimension. More...
 
void setTimestamp (const Timestamp timestamp)
 Sets the field timestamp explicitly. More...
 
Fieldoperator= (const Field &field)
 Assigns a field to this field. More...
 

Static Public Attributes

static constexpr Type fieldType = TypeMapper<T>::type()
 Scalar type of this single field. More...
 
static constexpr unsigned int fieldDimension = 0u
 Dimension of this single field. More...
 

Protected Member Functions

Fieldcopy () const override
 Returns a new instance of this field. More...
 
- Protected Member Functions inherited from Ocean::SceneDescription::Field
 Field ()=default
 Creates a new field. More...
 
 Field (const Field &field)=delete
 Disabled copy constructor. More...
 
 Field (const Timestamp timestamp)
 Creates a new field with an explicit modification timestamp. More...
 

Protected Attributes

value_
 Field (single) value. More...
 
- Protected Attributes inherited from Ocean::SceneDescription::Field
Timestamp timestamp_
 Field timestamp. More...
 

Additional Inherited Members

- Public Types inherited from Ocean::SceneDescription::Field
enum  Type : uint32_t {
  TYPE_INVALID = 0u , TYPE_BOOLEAN , TYPE_COLOR , TYPE_FLOAT ,
  TYPE_INT , TYPE_MATRIX3 , TYPE_MATRIX4 , TYPE_NODE ,
  TYPE_ROTATION , TYPE_STRING , TYPE_TIME , TYPE_VECTOR2 ,
  TYPE_VECTOR3 , TYPE_VECTOR4
}
 Definition of scalar field types. More...
 
- Static Public Member Functions inherited from Ocean::SceneDescription::Field
template<typename T >
static const T & cast (const Field &field)
 Casts an unspecific field object to the real field object. More...
 

Detailed Description

template<typename T>
class Ocean::SceneDescription::Field0D< T >

This class implements all 0D fields (fields holding a single value only).

Constructor & Destructor Documentation

◆ Field0D() [1/3]

template<typename T >
Ocean::SceneDescription::Field0D< T >::Field0D ( )
default

Creates a new single value field with an undefined value.

◆ Field0D() [2/3]

template<typename T >
Ocean::SceneDescription::Field0D< T >::Field0D ( const T &  value)
inline

Creates a new single value field by a given initialization value.

The modification timestamp will be set to zero.

Parameters
valueInitialization value

◆ Field0D() [3/3]

template<typename T >
Ocean::SceneDescription::Field0D< T >::Field0D ( const T &  value,
const Timestamp  timestamp 
)
inline

Creates a new single value field by a given initialization value and an explicit timestamp.

Parameters
valueInitialization value
timestampExplicit field timestamp

Member Function Documentation

◆ assign()

template<typename T >
bool Ocean::SceneDescription::Field0D< T >::assign ( const Field field)
overridevirtual

Assigns a field to this field if both field have the identical field type.

See also
Field::assignField().

Implements Ocean::SceneDescription::Field.

◆ copy()

template<typename T >
Field * Ocean::SceneDescription::Field0D< T >::copy
overrideprotectedvirtual

Returns a new instance of this field.

See also
Field::copy().

Implements Ocean::SceneDescription::Field.

◆ dimension()

template<typename T >
unsigned int Ocean::SceneDescription::Field0D< T >::dimension
overridevirtual

Returns the dimension of this field.

See also
Field::dimension().

Implements Ocean::SceneDescription::Field.

◆ setValue() [1/2]

template<typename T >
void Ocean::SceneDescription::Field0D< T >::setValue ( const T &  value)
inline

Sets the value of this field and changes the modification timestamp to the current time.

Parameters
valueValue to set

◆ setValue() [2/2]

template<typename T >
void Ocean::SceneDescription::Field0D< T >::setValue ( const T &  value,
const Timestamp  timestamp 
)
inline

Sets the value of this field and defines an explicit modification timestamp.

Parameters
valueValue to set
timestampExplicit modification timestamp

◆ type()

template<typename T >
Field::Type Ocean::SceneDescription::Field0D< T >::type
overridevirtual

Returns the type of this field.

See also
Field::type().

Implements Ocean::SceneDescription::Field.

◆ value()

template<typename T >
const T & Ocean::SceneDescription::Field0D< T >::value
inline

Returns the value of this field.

Returns
Field value

Field Documentation

◆ fieldDimension

template<typename T >
constexpr unsigned int Ocean::SceneDescription::Field0D< T >::fieldDimension = 0u
staticconstexpr

Dimension of this single field.

◆ fieldType

template<typename T >
constexpr Type Ocean::SceneDescription::Field0D< T >::fieldType = TypeMapper<T>::type()
staticconstexpr

Scalar type of this single field.

◆ value_

template<typename T >
T Ocean::SceneDescription::Field0D< T >::value_
protected

Field (single) value.


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