Main Page   Namespace List   Class Hierarchy   Compound List   Namespace Members   Compound Members   Related Pages  

MFRotation Class Reference

Encapsulates an MFRotation. More...

Inheritance diagram for MFRotation:

FieldValue List of all members.

Public Methods

 MFRotation (size_t length=0, SFRotation::ConstArrayPointer values=0) throw (std::bad_alloc)
 Construct from an array of rotation values.

 MFRotation (const MFRotation &mfrotation) throw (std::bad_alloc)
 Copy constructor.

virtual ~MFRotation () throw ()
 Destructor.

MFRotation & operator= (const MFRotation &mfrotation) throw (std::bad_alloc)
 Assignment operator.

SFRotation::ConstArrayReference getElement (size_t index) const throw ()
 Get element.

void setElement (size_t index, SFRotation::ConstArrayReference value) throw ()
 Set element.

size_t getLength () const throw ()
 Get the length.

void setLength (size_t length) throw (std::bad_alloc)
 Set the length.

void addElement (SFRotation::ConstArrayReference value) throw (std::bad_alloc)
 Add an element to the end of the sequence.

void insertElement (size_t index, SFRotation::ConstArrayReference value) throw (std::bad_alloc)
 Insert an element into the sequence.

void removeElement (size_t index) throw ()
 Remove an element from the sequence.

virtual std::auto_ptr< FieldValueclone () const throw (std::bad_alloc)
 Virtual copy constructor.

virtual FieldValueassign (const FieldValue &value) throw (std::bad_cast, std::bad_alloc)
 Virtual assignment.

virtual Type type () const throw ()
 Get the FieldValue::Type associated with this class.


Private Methods

virtual void print (std::ostream &) const
 Print to an output stream.


Private Attributes

void * values
 Internal representation.


Detailed Description

Encapsulates an MFRotation.


Constructor & Destructor Documentation

MFRotation size_t    length = 0,
SFRotation::ConstArrayPointer    values = 0
throw (std::bad_alloc) [explicit]
 

Construct from an array of rotation values.

Parameters:
length the number of rotation values in the passed array.
values a pointer to an array of 4-element arrays comprising rotation values to initialize the MFRotation.

MFRotation const MFRotation &    mfrotation throw (std::bad_alloc)
 

Copy constructor.

Parameters:
mfrotation the object to copy

~MFRotation   throw () [virtual]
 

Destructor.


Member Function Documentation

void addElement SFRotation::ConstArrayReference    value throw (std::bad_alloc)
 

Add an element to the end of the sequence.

Parameters:
value the value to add.
Exceptions:
std::bad_alloc if memory allocation fails.

FieldValue & assign const FieldValue   value throw (std::bad_cast, std::bad_alloc) [virtual]
 

Virtual assignment.

Returns:
a reference to the object.
Exceptions:
std::bad_cast if value is not an MFRotation object.
std::bad_alloc if memory allocation fails.

Implements FieldValue.

std::auto_ptr< FieldValue > clone   const throw (std::bad_alloc) [virtual]
 

Virtual copy constructor.

Returns:
a pointer to a copy of the object.
Exceptions:
std::bad_alloc if memory allocation fails.

Implements FieldValue.

SFRotation::ConstArrayReference getElement size_t    index const throw ()
 

Get element.

Parameters:
index 

size_t getLength   const throw ()
 

Get the length.

Returns:
the number of rotation values

void insertElement size_t    index,
SFRotation::ConstArrayReference    value
throw (std::bad_alloc)
 

Insert an element into the sequence.

Parameters:
index the index where the new value should be inserted.
value a rotation value.
Exceptions:
std::bad_alloc if memory allocation fails.
Precondition:
index is a valid index.

MFRotation & operator= const MFRotation &    mfrotation throw (std::bad_alloc)
 

Assignment operator.

Parameters:
mfrotation the object to copy into this one

void print std::ostream &    out const [private, virtual]
 

Print to an output stream.

Parameters:
out an output stream.

Implements FieldValue.

void removeElement size_t    index throw ()
 

Remove an element from the sequence.

Parameters:
index the index of the value to remove.
Precondition:
index is a valid index.

void setElement size_t    index,
SFRotation::ConstArrayReference    value
throw ()
 

Set element.

Parameters:
index 
value 

void setLength size_t    length throw (std::bad_alloc)
 

Set the length.

If the new length is smaller than the current length, the array is truncated. If the new length is greater than the current length, the new values are initialized to the default rotation (0, 0, 1, 0).

Parameters:
length the new length

FieldValue::Type type   const throw () [virtual]
 

Get the FieldValue::Type associated with this class.

Returns:
FieldValue::mfrotation.

Implements FieldValue.


Member Data Documentation

void * values [private]
 

Internal representation.