osg::GeoProperty< GeoPropertyDesc > Class Template Reference
[Geometry Properties]

GeoProperty is a specialized form of Attachment, used to define the properties of the geometry node. See Properties for a description. More...

#include <OSGGeoPropertyBase.h>

Inheritance diagram for osg::GeoProperty< GeoPropertyDesc >:

osg::GeoColors3f osg::GeoColors3ub osg::GeoColors4f osg::GeoColors4ub osg::GeoIndicesUI16 osg::GeoIndicesUI32 osg::GeoNormals3b osg::GeoNormals3f osg::GeoNormals3s osg::GeoPLengthsUI16 osg::GeoPLengthsUI32 osg::GeoPLengthsUI8 osg::GeoPositions2d osg::GeoPositions2f osg::GeoPositions2s osg::GeoPositions3d osg::GeoPositions3f osg::GeoPositions3s osg::GeoPositions4d osg::GeoPositions4f osg::GeoPositions4s osg::GeoPTypesUI8 osg::GeoTexCoords1d osg::GeoTexCoords1f osg::GeoTexCoords2d osg::GeoTexCoords2f osg::GeoTexCoords3d osg::GeoTexCoords3f osg::GeoTexCoords4d osg::GeoTexCoords4f

List of all members.

Public Types

enum  { GeoPropDataFieldId = LocalInherited::NextFieldId, NextFieldId = GeoPropDataFieldId + 1 }
typedef GeoProperty
< GeoPropertyDesc
PropertyType
typedef GeoProperty
< GeoPropertyDesc
Self
typedef FCPtr
< LocalInheritedPtr,
PropertyType
PtrType
typedef
GeoPropertyDesc::StoredFieldType 
StoredFieldType
typedef
GeoPropertyDesc::GenericType 
StoredGenericType
typedef StoredFieldType::StoredType StoredType

Public Member Functions

virtual osg::FieldContainerTypegetType (void)
virtual const
osg::FieldContainerType
getType (void) const
virtual osg::FieldContainerPtr shallowCopy (void) const
virtual osg::UInt32 getContainerSize (void) const
template<>
Vec3f getValue (const UInt32 index)
template<>
Vec3f getValue (const UInt32 index) const
template<>
void getValue (Vec3f &res, const UInt32 index)
template<>
void getValue (Vec3f &res, const UInt32 index) const
template<>
void setValue (const Vec3f &val, const UInt32 index)
template<>
void addValue (const Vec3f &val)
template<>
bool insertValue (const Vec3f &val, const UInt32 index)
template<>
Vec3f getValue (const UInt32 index)
template<>
Vec3f getValue (const UInt32 index) const
template<>
void getValue (Vec3f &res, const UInt32 index)
template<>
void getValue (Vec3f &res, const UInt32 index) const
template<>
void setValue (const Vec3f &val, const UInt32 index)
template<>
void addValue (const Vec3f &val)
template<>
bool insertValue (const Vec3f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
template<>
Vec2f getValue (const UInt32 index)
template<>
Vec2f getValue (const UInt32 index) const
template<>
void getValue (Vec2f &res, const UInt32 index)
template<>
void getValue (Vec2f &res, const UInt32 index) const
template<>
void setValue (const Vec2f &val, const UInt32 index)
template<>
void addValue (const Vec2f &val)
template<>
bool insertValue (const Vec2f &val, const UInt32 index)
Access


StoredFieldTypegetFieldPtr (void)
StoredFieldTypegetField (void)
const StoredFieldTypegetField (void) const
virtual LocalInheritedPtr clone (void)
virtual UInt32 getFormat (void) const
virtual UInt32 getFormatSize (void) const
virtual UInt32 getStride (void) const
virtual UInt32 getDimension (void) const
virtual UInt32 getSize (void) const
virtual UInt32 size (void) const
virtual UInt8getData (void) const
StoredFieldTypeoperator-> ()
virtual StoredGenericType getValue (const UInt32 index)
virtual StoredGenericType getValue (const UInt32 index) const
virtual void getValue (StoredGenericType &val, const UInt32 index)
virtual void getValue (StoredGenericType &val, const UInt32 index) const
virtual void setValue (const StoredGenericType &val, const UInt32 index)
virtual void addValue (const StoredGenericType &val)
virtual bool insertValue (const StoredGenericType &val, const UInt32 index)
virtual void clear ()
virtual void resize (size_t newsize)
virtual void push_back (const StoredGenericType &val)
virtual void shrink (void)
Assigment


GeoPropertyoperator= (const GeoProperty &source)
Output


virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const

Static Public Member Functions

static osg::FieldContainerTypegetClassType (void)
static osg::UInt32 getClassTypeId (void)
static PtrType create (void)
static PtrType createEmpty (void)

Static Public Attributes

static const BitVector GeoPropDataFieldMask

Protected Member Functions

Constructors


 GeoProperty (void)
 GeoProperty (const GeoProperty &source)
Destructors


virtual ~GeoProperty (void)
Sync


virtual void executeSync (FieldContainer &other, const BitVector &whichField)
void executeSyncImpl (GeoProperty *pOther, const BitVector &whichField)
Changed


virtual void changed (BitVector whichField, UInt32 origin)
Binary Operations


virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)

Protected Attributes

StoredFieldType _field

Private Types

typedef GeoPropertyDesc::Inherited LocalInherited
typedef
GeoPropertyDesc::InheritedDesc 
LocalInheritedDesc
typedef
GeoPropertyDesc::InheritedPtr 
LocalInheritedPtr

Static Private Attributes

static const PtrType NullPtr
static FieldContainerType _type

Friends

class FieldContainer


Detailed Description

template<class GeoPropertyDesc>
class osg::GeoProperty< GeoPropertyDesc >

Definition at line 182 of file OSGGeoPropertyBase.h.


Member Typedef Documentation

template<class GeoPropertyDesc>
typedef GeoPropertyDesc::Inherited osg::GeoProperty< GeoPropertyDesc >::LocalInherited [private]

Definition at line 190 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef GeoPropertyDesc::InheritedDesc osg::GeoProperty< GeoPropertyDesc >::LocalInheritedDesc [private]

Definition at line 191 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef GeoPropertyDesc::InheritedPtr osg::GeoProperty< GeoPropertyDesc >::LocalInheritedPtr [private]

Definition at line 192 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef GeoProperty<GeoPropertyDesc> osg::GeoProperty< GeoPropertyDesc >::PropertyType

Definition at line 207 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef GeoProperty<GeoPropertyDesc> osg::GeoProperty< GeoPropertyDesc >::Self

Definition at line 208 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef FCPtr<LocalInheritedPtr, PropertyType > osg::GeoProperty< GeoPropertyDesc >::PtrType

Definition at line 211 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef GeoPropertyDesc::StoredFieldType osg::GeoProperty< GeoPropertyDesc >::StoredFieldType

Definition at line 214 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef GeoPropertyDesc::GenericType osg::GeoProperty< GeoPropertyDesc >::StoredGenericType

Definition at line 215 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
typedef StoredFieldType::StoredType osg::GeoProperty< GeoPropertyDesc >::StoredType

Definition at line 216 of file OSGGeoPropertyBase.h.


Member Enumeration Documentation

template<class GeoPropertyDesc>
anonymous enum

Enumerator:
GeoPropDataFieldId 
NextFieldId 

Definition at line 197 of file OSGGeoPropertyBase.h.

00198     {
00199         GeoPropDataFieldId = LocalInherited::NextFieldId,
00200 
00201         NextFieldId        = GeoPropDataFieldId + 1
00202     };


Constructor & Destructor Documentation

template<class GeoPropertyDesc>
osg::GeoProperty< GeoPropertyDesc >::GeoProperty ( void   )  [protected]

template<class GeoPropertyDesc>
osg::GeoProperty< GeoPropertyDesc >::GeoProperty ( const GeoProperty< GeoPropertyDesc > &  source  )  [inline, protected]

Definition at line 132 of file OSGGeoPropertyBase.inl.

00133                                 :
00134 
00135      LocalInherited(source),
00136     _field         (source._field)
00137 {
00138 }

template<class GeoPropertyDesc>
osg::GeoProperty< GeoPropertyDesc >::~GeoProperty ( void   )  [inline, protected, virtual]

Definition at line 141 of file OSGGeoPropertyBase.inl.

00142 {
00143 }


Member Function Documentation

template<class GeoPropertyDesc>
virtual osg ::FieldContainerType& osg::GeoProperty< GeoPropertyDesc >::getType ( void   )  [virtual]

template<class GeoPropertyDesc>
virtual const osg ::FieldContainerType& osg::GeoProperty< GeoPropertyDesc >::getType ( void   )  const [virtual]

template<class GeoPropertyDesc>
static osg ::FieldContainerType& osg::GeoProperty< GeoPropertyDesc >::getClassType ( void   )  [static]

template<class GeoPropertyDesc>
static osg ::UInt32 osg::GeoProperty< GeoPropertyDesc >::getClassTypeId ( void   )  [static]

template<class GeoPropertyDesc>
static PtrType osg::GeoProperty< GeoPropertyDesc >::create ( void   )  [static]

template<class GeoPropertyDesc>
static PtrType osg::GeoProperty< GeoPropertyDesc >::createEmpty ( void   )  [static]

template<class GeoPropertyDesc>
virtual osg ::FieldContainerPtr osg::GeoProperty< GeoPropertyDesc >::shallowCopy ( void   )  const [virtual]

template<class GeoPropertyDesc>
virtual osg ::UInt32 osg::GeoProperty< GeoPropertyDesc >::getContainerSize ( void   )  const [virtual]

template<class GeoPropertyDesc>
GeoProperty< GeoPropertyDesc >::StoredFieldType * osg::GeoProperty< GeoPropertyDesc >::getFieldPtr ( void   )  [inline]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 286 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00287 {
00288     return &_field;
00289 }

template<class GeoPropertyDesc>
GeoProperty< GeoPropertyDesc >::StoredFieldType & osg::GeoProperty< GeoPropertyDesc >::getField ( void   )  [inline]

Returns a reference to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 299 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00300 {
00301     return _field;
00302 }

template<class GeoPropertyDesc>
const GeoProperty< GeoPropertyDesc >::StoredFieldType & osg::GeoProperty< GeoPropertyDesc >::getField ( void   )  const [inline]

Returns a const reference to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 312 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00313 {
00314     return _field;
00315 }

template<class GeoPropertyDesc>
GeoProperty< GeoPropertyDesc >::LocalInheritedPtr osg::GeoProperty< GeoPropertyDesc >::clone ( void   )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 319 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00320 {
00321     PtrType obj = GeoProperty<GeoPropertyDesc>::create();
00322     
00323     obj->_field.setValues( _field );
00324     return obj;
00325 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::getFormat ( void   )  const [inline, virtual]

Returns the format of this property.

Definition at line 334 of file OSGGeoPropertyBase.inl.

00335 {
00336     return GeoPropertyDesc::getFormat();
00337 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::getFormatSize ( void   )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 341 of file OSGGeoPropertyBase.inl.

00342 {
00343     return GeoPropertyDesc::getFormatSize();
00344 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::getStride ( void   )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 348 of file OSGGeoPropertyBase.inl.

00349 {
00350     return GeoPropertyDesc::getStride();
00351 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::getDimension ( void   )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 355 of file OSGGeoPropertyBase.inl.

00356 {
00357     return GeoPropertyDesc::getDimension();
00358 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::getSize ( void   )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 362 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00363 {
00364     return _field.size();
00365 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::size ( void   )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 369 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00370 {
00371     return _field.size();
00372 }

template<class GeoPropertyDesc>
UInt8 * osg::GeoProperty< GeoPropertyDesc >::getData ( void   )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 376 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00377 {
00378     return _field.empty() ? NULL : (UInt8 *) &(_field[0]);
00379 }

template<class GeoPropertyDesc>
StoredFieldType& osg::GeoProperty< GeoPropertyDesc >::operator-> ( void   )  [inline]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 243 of file OSGGeoPropertyBase.h.

00243 { return _field; }

template<class GeoPropertyDesc>
GeoProperty< GeoPropertyDesc >::StoredGenericType osg::GeoProperty< GeoPropertyDesc >::getValue ( const UInt32  index  )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 384 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00385 {
00386 //CHECKCHECK do conversion constructor iff necessary
00387     return StoredGenericType(_field[index]);
00388 }

template<class GeoPropertyDesc>
GeoProperty< GeoPropertyDesc >::StoredGenericType osg::GeoProperty< GeoPropertyDesc >::getValue ( const UInt32  index  )  const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 392 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00393 {
00394 //CHECKCHECK do conversion constructor iff necessary
00395     return StoredGenericType(_field[index]);
00396 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::getValue ( StoredGenericType val,
const UInt32  index 
) [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 399 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00401 {
00402     new (&val) StoredGenericType(_field[index]);
00403 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::getValue ( StoredGenericType val,
const UInt32  index 
) const [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 407 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00410 {
00411     new (&val) StoredGenericType(_field[index]);
00412 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::setValue ( const StoredGenericType val,
const UInt32  index 
) [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 415 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00417 {
00418 //CHECKCHECK do conversion constructor iff necessary
00419     _field[index] = StoredType(value);
00420 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::addValue ( const StoredGenericType val  )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 423 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

Referenced by osg::GeoProperty< GeoPropertyDesc >::insertValue(), and osg::GeoProperty< GeoPropertyDesc >::push_back().

00424 {
00425 //CHECKCHECK do conversion constructor iff necessary
00426     _field.push_back( StoredType(value) );
00427 }

template<class GeoPropertyDesc>
bool osg::GeoProperty< GeoPropertyDesc >::insertValue ( const StoredGenericType val,
const UInt32  index 
) [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 430 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00432 {
00433     if(_field.size() < index)
00434     {
00435         return false;
00436     }
00437     else if(_field.size() == index)
00438     {
00439         addValue(val);
00440         return true;
00441     }
00442     else
00443     {
00444         _field.insert(_field.begin() + index, StoredType(val));
00445         return true;
00446     }
00447 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::clear ( void   )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 450 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00451 {
00452     _field.clear();
00453 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::resize ( size_t  newsize  )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 463 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00464 {
00465     _field.resize(newsize);
00466 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::push_back ( const StoredGenericType val  )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 456 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::addValue().

00458 {
00459     addValue(value);
00460 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::shrink ( void   )  [inline, virtual]

Returns a pointer to the Stored field.

This allows direct access to the data, which is faster than the access via the generic Interface that the AbstractGeoProperty provides, but it necessitates compile-time knowledge about the involved concrete types.

Definition at line 469 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00470 {
00471     StoredFieldType(_field).swap(_field);
00472 }

template<class GeoPropertyDesc>
GeoProperty& osg::GeoProperty< GeoPropertyDesc >::operator= ( const GeoProperty< GeoPropertyDesc > &  source  ) 

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::dump ( UInt32  uiIndent = 0,
const BitVector  bvFlags = 0 
) const [inline, virtual]

Definition at line 475 of file OSGGeoPropertyBase.inl.

00477 {
00478     LocalInherited::dump(uiIndent, bvFlags);
00479 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::executeSync ( FieldContainer other,
const BitVector whichField 
) [inline, protected, virtual]

Definition at line 147 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::executeSyncImpl().

00150 {
00151     this->executeSyncImpl((GeoProperty *) &other, whichField);
00152 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::executeSyncImpl ( GeoProperty< GeoPropertyDesc > *  pOther,
const BitVector whichField 
) [inline, protected]

Definition at line 155 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, osg::GeoProperty< GeoPropertyDesc >::GeoPropDataFieldMask, and osg::FieldBits::NoField.

Referenced by osg::GeoProperty< GeoPropertyDesc >::executeSync().

00158 {
00159     LocalInherited::executeSyncImpl(pOther, whichField);
00160 
00161     if(FieldBits::NoField != (GeoPropDataFieldMask & whichField))
00162     {
00163         _field.syncWith(pOther->_field);
00164     }
00165 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::changed ( BitVector  whichField,
UInt32  origin 
) [inline, protected, virtual]

Definition at line 222 of file OSGGeoPropertyBase.inl.

References osg::ChangedOrigin::Child.

00224 {
00225     MFFieldContainerPtr::iterator parentsIt  = Self::_parents.begin();
00226     MFFieldContainerPtr::iterator parentsEnd = Self::_parents.end();
00227 
00228     while(parentsIt != parentsEnd)
00229     {
00230         (*parentsIt)->changed(
00231                 TypeTraits<BitVector>::One << parentsIt->getParentFieldPos(),
00232                 ChangedOrigin::Child);
00233         ++parentsIt;
00234     }
00235 
00236     LocalInherited::changed(whichField, origin);
00237 }

template<class GeoPropertyDesc>
UInt32 osg::GeoProperty< GeoPropertyDesc >::getBinSize ( const BitVector whichField  )  [inline, protected, virtual]

Definition at line 240 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, osg::GeoProperty< GeoPropertyDesc >::GeoPropDataFieldMask, and osg::FieldBits::NoField.

00241 {
00242     UInt32 returnValue = LocalInherited::getBinSize(whichField);
00243 
00244     if(FieldBits::NoField != (GeoPropDataFieldMask & whichField))
00245     {
00246         returnValue += _field.getBinSize();
00247     }
00248 
00249     return returnValue;
00250 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::copyToBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [inline, protected, virtual]

Definition at line 253 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, osg::GeoProperty< GeoPropertyDesc >::GeoPropDataFieldMask, and osg::FieldBits::NoField.

00256 {
00257     LocalInherited::copyToBin(pMem, whichField);
00258 
00259     if(FieldBits::NoField != (GeoPropDataFieldMask & whichField))
00260     {
00261         _field.copyToBin(pMem);
00262     }
00263 }

template<class GeoPropertyDesc>
void osg::GeoProperty< GeoPropertyDesc >::copyFromBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [inline, protected, virtual]

Definition at line 266 of file OSGGeoPropertyBase.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, osg::GeoProperty< GeoPropertyDesc >::GeoPropDataFieldMask, and osg::FieldBits::NoField.

00269 {
00270     LocalInherited::copyFromBin(pMem, whichField);
00271 
00272     if(FieldBits::NoField != (GeoPropDataFieldMask & whichField))
00273     {
00274         _field.copyFromBin(pMem);
00275     }
00276 }

template<>
Vec3f osg::GeoProperty< GeoNormals3sPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 77 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glShortVecToFloatVec().

00078 {
00079     return glShortVecToFloatVec(_field[index]);
00080 }

template<>
Vec3f osg::GeoProperty< GeoNormals3sPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 83 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glShortVecToFloatVec().

00085 {
00086     return glShortVecToFloatVec(_field[index]);
00087 }

template<>
void osg::GeoProperty< GeoNormals3sPropertyDesc >::getValue ( Vec3f res,
const UInt32  index 
) [inline]

Definition at line 90 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glShortToFloat().

00093 {
00094     res.setValues(glShortToFloat(_field[index][0]),
00095                   glShortToFloat(_field[index][1]),
00096                   glShortToFloat(_field[index][2]));
00097 }

template<>
void osg::GeoProperty< GeoNormals3sPropertyDesc >::getValue ( Vec3f res,
const UInt32  index 
) const [inline]

Definition at line 100 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glShortToFloat().

00103 {
00104     res.setValues(glShortToFloat(_field[index][0]),
00105                   glShortToFloat(_field[index][1]),
00106                   glShortToFloat(_field[index][2]));
00107 }

template<>
void osg::GeoProperty< GeoNormals3sPropertyDesc >::setValue ( const Vec3f val,
const UInt32  index 
) [inline]

Definition at line 111 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glFloatToShort().

00113 {
00114     _field[index].setValues(glFloatToShort(val[0]), 
00115                             glFloatToShort(val[1]), 
00116                             glFloatToShort(val[2]));
00117 }

template<>
void osg::GeoProperty< GeoNormals3sPropertyDesc >::addValue ( const Vec3f val  )  [inline]

Definition at line 121 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glFloatVecToShortVec().

00122 {
00123     _field.push_back(glFloatVecToShortVec(val));
00124 }

template<>
bool osg::GeoProperty< GeoNormals3sPropertyDesc >::insertValue ( const Vec3f val,
const UInt32  index 
) [inline]

Definition at line 127 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, osg::GeoProperty< GeoPropertyDesc >::addValue(), and osg::glFloatVecToShortVec().

00129 {
00130     if(_field.size() < index)
00131     {
00132         return false;
00133     }
00134     else if(_field.size() == index)
00135     {
00136         addValue(val);
00137         return true;
00138     }
00139     else
00140     {
00141         _field.insert(_field.begin() + index, glFloatVecToShortVec(val));
00142         return true;
00143     }
00144 }

template<>
Vec3f osg::GeoProperty< GeoNormals3bPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 177 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glByteVecToFloatVec().

00178 {
00179     return glByteVecToFloatVec(_field[index]);
00180 }

template<>
Vec3f osg::GeoProperty< GeoNormals3bPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 183 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glByteVecToFloatVec().

00185 {
00186     return glByteVecToFloatVec(_field[index]);
00187 }

template<>
void osg::GeoProperty< GeoNormals3bPropertyDesc >::getValue ( Vec3f res,
const UInt32  index 
) [inline]

Definition at line 190 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glByteToFloat().

00193 {
00194     res.setValues(glByteToFloat(_field[index][0]),
00195                   glByteToFloat(_field[index][1]),
00196                   glByteToFloat(_field[index][2]));
00197 }

template<>
void osg::GeoProperty< GeoNormals3bPropertyDesc >::getValue ( Vec3f res,
const UInt32  index 
) const [inline]

Definition at line 200 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glByteToFloat().

00203 {
00204     res.setValues(glByteToFloat(_field[index][0]),
00205                   glByteToFloat(_field[index][1]),
00206                   glByteToFloat(_field[index][2]));
00207 }

template<>
void osg::GeoProperty< GeoNormals3bPropertyDesc >::setValue ( const Vec3f val,
const UInt32  index 
) [inline]

Definition at line 211 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glFloatToByte().

00213 {
00214     _field[index].setValues(glFloatToByte(val[0]),
00215                             glFloatToByte(val[1]),
00216                             glFloatToByte(val[2]));
00217 }

template<>
void osg::GeoProperty< GeoNormals3bPropertyDesc >::addValue ( const Vec3f val  )  [inline]

Definition at line 221 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::glFloatVecToByteVec().

00222 {
00223     _field.push_back(glFloatVecToByteVec(val));
00224 }

template<>
bool osg::GeoProperty< GeoNormals3bPropertyDesc >::insertValue ( const Vec3f val,
const UInt32  index 
) [inline]

Definition at line 227 of file OSGGeoPropNormals.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, osg::GeoProperty< GeoPropertyDesc >::addValue(), and osg::glFloatVecToByteVec().

00229 {
00230     if(_field.size() < index)
00231     {
00232         return false;
00233     }
00234     else if(_field.size() == index)
00235     {
00236         addValue(val);
00237         return true;
00238     }
00239     else
00240     {
00241         _field.insert(_field.begin() + index, glFloatVecToByteVec(val));
00242         return true;
00243     }
00244 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords1fPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 50 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00051 {
00052     return Vec2f(_field[index], 0.f);
00053 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords1fPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 56 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00058 {
00059     return Vec2f(_field[index], 0.f);
00060 }

template<>
void osg::GeoProperty< GeoTexCoords1fPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 63 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00066 {
00067     res.setValues(_field[index], 0.f);
00068 }

template<>
void osg::GeoProperty< GeoTexCoords1fPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 71 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00074 {
00075     res.setValues(_field[index], 0.f);
00076 }

template<>
void osg::GeoProperty< GeoTexCoords1fPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 80 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00082 {
00083     _field[index] = val[0];
00084 }

template<>
void osg::GeoProperty< GeoTexCoords1fPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 88 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00089 {
00090     _field.push_back(val[0]);
00091 }

template<>
bool osg::GeoProperty< GeoTexCoords1fPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 94 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00096 {
00097     if(_field.size() < index)
00098     {
00099         return false;
00100     }
00101     else if(_field.size() == index)
00102     {
00103         addValue(val);
00104         return true;
00105     }
00106     else
00107     {
00108         _field.insert(_field.begin() + index, val[0]);
00109         return true;
00110     }
00111 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords3fPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 117 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00118 {
00119     return Vec2f(_field[index][0], _field[index][1]);
00120 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords3fPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 123 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00125 {
00126     return Vec2f(_field[index][0], _field[index][1]);
00127 }

template<>
void osg::GeoProperty< GeoTexCoords3fPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 130 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00133 {
00134     res.setValues(_field[index][0], _field[index][1]);
00135 }

template<>
void osg::GeoProperty< GeoTexCoords3fPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 138 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00141 {
00142     res.setValues(_field[index][0], 
00143                   _field[index][1]);
00144 }

template<>
void osg::GeoProperty< GeoTexCoords3fPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 148 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00150 {
00151     _field[index].setValues(val[0], val[1], 0.f);
00152 }

template<>
void osg::GeoProperty< GeoTexCoords3fPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 156 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00157 {
00158     _field.push_back(Vec3f( val[0], val[1], 0));
00159 }

template<>
bool osg::GeoProperty< GeoTexCoords3fPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 162 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00164 {
00165     if(_field.size() < index)
00166     {
00167         return false;
00168     }
00169     else if(_field.size() == index)
00170     {
00171         addValue(val);
00172         return true;
00173     }
00174     else
00175     {
00176         _field.insert(_field.begin() + index, Vec3f(val[0], val[1], 0));
00177         return true;
00178     }
00179 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords4fPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 185 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00186 {
00187     return Vec2f(_field[index][0], _field[index][1]);
00188 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords4fPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 191 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00193 {
00194     return Vec2f(_field[index][0], _field[index][1]);
00195 }

template<>
void osg::GeoProperty< GeoTexCoords4fPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 198 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00201 {
00202     res.setValues(_field[index][0], _field[index][1]);
00203 }

template<>
void osg::GeoProperty< GeoTexCoords4fPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 206 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00209 {
00210     res.setValues(_field[index][0], _field[index][1]);
00211 }

template<>
void osg::GeoProperty< GeoTexCoords4fPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 215 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00217 {
00218     _field[index].setValues(val[0], val[1], 0.f, 0.f);
00219 }

template<>
void osg::GeoProperty< GeoTexCoords4fPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 223 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00224 {
00225     _field.push_back(Vec4f( val[0], val[1], 0.f, 0.f));
00226 }

template<>
bool osg::GeoProperty< GeoTexCoords4fPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 229 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00231 {
00232     if(_field.size() < index)
00233     {
00234         return false;
00235     }
00236     else if(_field.size() == index)
00237     {
00238         addValue(val);
00239         return true;
00240     }
00241     else
00242     {
00243         _field.insert(_field.begin() + index, Vec4f(val[0], val[1], 0.f, 0.f));
00244         return true;
00245     }
00246 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords1dPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 252 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00253 {
00254     return Vec2f(Real32(_field[index]), 0.f);
00255 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords1dPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 258 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00260 {
00261     return Vec2f(Real32(_field[index]), 0.f);
00262 }

template<>
void osg::GeoProperty< GeoTexCoords1dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 265 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00268 {
00269     res.setValues(Real32(_field[index]), 0.f);
00270 }

template<>
void osg::GeoProperty< GeoTexCoords1dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 273 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00276 {
00277     res.setValues(Real32(_field[index]), 0.f);
00278 }

template<>
void osg::GeoProperty< GeoTexCoords1dPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 282 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00284 {
00285     _field[index] = val[0];
00286 }

template<>
void osg::GeoProperty< GeoTexCoords1dPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 290 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00291 {
00292     _field.push_back(val[0]);
00293 }

template<>
bool osg::GeoProperty< GeoTexCoords1dPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 296 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00298 {
00299     if(_field.size() < index)
00300     {
00301         return false;
00302     }
00303     else if(_field.size() == index)
00304     {
00305         addValue(val);
00306         return true;
00307     }
00308     else
00309     {
00310         _field.insert(_field.begin() + index, val[0]);
00311         return true;
00312     }
00313 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords2dPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 318 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00319 {
00320     return Vec2f(Real32(_field[index][0]), 
00321                  Real32(_field[index][1]));
00322 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords2dPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 325 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00327 {
00328     return Vec2f(Real32(_field[index][0]), 
00329                  Real32(_field[index][1]));
00330 }

template<>
void osg::GeoProperty< GeoTexCoords2dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 333 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00336 {
00337     res.setValues(Real32(_field[index][0]), 
00338                   Real32(_field[index][1]));
00339 }

template<>
void osg::GeoProperty< GeoTexCoords2dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 342 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00345 {
00346     res.setValues(Real32(_field[index][0]), 
00347                   Real32(_field[index][1]));
00348 }

template<>
void osg::GeoProperty< GeoTexCoords2dPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 352 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00354 {
00355     _field[index].setValues(val[0], val[1]);
00356 }

template<>
void osg::GeoProperty< GeoTexCoords2dPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 360 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00361 {
00362     _field.push_back(Vec2d( val[0], val[1]));
00363 }

template<>
bool osg::GeoProperty< GeoTexCoords2dPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 366 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00368 {
00369     if(_field.size() < index)
00370     {
00371         return false;
00372     }
00373     else if(_field.size() == index)
00374     {
00375         addValue(val);
00376         return true;
00377     }
00378     else
00379     {
00380         _field.insert(_field.begin() + index, Vec2d(val[0], val[1]));
00381         return true;
00382     }
00383 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords3dPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 388 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00389 {
00390     return Vec2f(Real32(_field[index][0]), 
00391                  Real32(_field[index][1]));
00392 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords3dPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 395 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00397 {
00398     return Vec2f(Real32(_field[index][0]), 
00399                  Real32(_field[index][1]));
00400 }

template<>
void osg::GeoProperty< GeoTexCoords3dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 403 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00406 {
00407     res.setValues(Real32(_field[index][0]), 
00408                   Real32(_field[index][1]));
00409 }

template<>
void osg::GeoProperty< GeoTexCoords3dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 412 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00415 {
00416     res.setValues(Real32(_field[index][0]), 
00417                   Real32(_field[index][1]));
00418 }

template<>
void osg::GeoProperty< GeoTexCoords3dPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 422 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00424 {
00425     _field[index].setValues(val[0], val[1], 0.f);
00426 }

template<>
void osg::GeoProperty< GeoTexCoords3dPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 430 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00431 {
00432     _field.push_back(Vec3d( val[0], val[1], 0));
00433 }

template<>
bool osg::GeoProperty< GeoTexCoords3dPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 436 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00438 {
00439     if(_field.size() < index)
00440     {
00441         return false;
00442     }
00443     else if(_field.size() == index)
00444     {
00445         addValue(val);
00446         return true;
00447     }
00448     else
00449     {
00450         _field.insert(_field.begin() + index, Vec3d(val[0], val[1], 0));
00451         return true;
00452     }
00453 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords4dPropertyDesc >::getValue ( const UInt32  index  )  [inline]

Definition at line 458 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00459 {
00460     return Vec2f(Real32(_field[index][0]),
00461                  Real32(_field[index][1]));
00462 }

template<>
Vec2f osg::GeoProperty< GeoTexCoords4dPropertyDesc >::getValue ( const UInt32  index  )  const [inline]

Definition at line 465 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00467 {
00468     return Vec2f(Real32(_field[index][0]), 
00469                  Real32(_field[index][1]));
00470 }

template<>
void osg::GeoProperty< GeoTexCoords4dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) [inline]

Definition at line 473 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00476 {
00477     res.setValues(Real32(_field[index][0]),
00478                   Real32(_field[index][1]));
00479 }

template<>
void osg::GeoProperty< GeoTexCoords4dPropertyDesc >::getValue ( Vec2f res,
const UInt32  index 
) const [inline]

Definition at line 482 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00485 {
00486     res.setValues(Real32(_field[index][0]), 
00487                   Real32(_field[index][1]));
00488 }

template<>
void osg::GeoProperty< GeoTexCoords4dPropertyDesc >::setValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 492 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00494 {
00495     _field[index].setValues(val[0], val[1], 0.f, 0.f);
00496 }

template<>
void osg::GeoProperty< GeoTexCoords4dPropertyDesc >::addValue ( const Vec2f val  )  [inline]

Definition at line 500 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field.

00501 {
00502     _field.push_back(Vec4d( val[0], val[1], 0.f, 0.f));
00503 }

template<>
bool osg::GeoProperty< GeoTexCoords4dPropertyDesc >::insertValue ( const Vec2f val,
const UInt32  index 
) [inline]

Definition at line 506 of file OSGGeoPropTexCoords.inl.

References osg::GeoProperty< GeoPropertyDesc >::_field, and osg::GeoProperty< GeoPropertyDesc >::addValue().

00508 {
00509     if(_field.size() < index)
00510     {
00511         return false;
00512     }
00513     else if(_field.size() == index)
00514     {
00515         addValue(val);
00516         return true;
00517     }
00518     else
00519     {
00520         _field.insert(_field.begin() + index, Vec4d(val[0], val[1], 0.f, 0.f));
00521         return true;
00522     }
00523 }


Friends And Related Function Documentation

template<class GeoPropertyDesc>
friend class FieldContainer [friend]

Definition at line 289 of file OSGGeoPropertyBase.h.


Member Data Documentation

template<class GeoPropertyDesc>
const BitVector osg::GeoProperty< GeoPropertyDesc >::GeoPropDataFieldMask [static]

template<class GeoPropertyDesc>
StoredFieldType osg::GeoProperty< GeoPropertyDesc >::_field [protected]

template<class GeoPropertyDesc>
const PtrType osg::GeoProperty< GeoPropertyDesc >::NullPtr [static, private]

Definition at line 361 of file OSGGeoPropertyBase.h.

template<class GeoPropertyDesc>
FieldContainerType osg::GeoProperty< GeoPropertyDesc >::_type [static, private]

Definition at line 366 of file OSGGeoPropertyBase.h.


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

Generated on Mon Mar 17 11:13:38 2008 for OpenSG by  doxygen 1.5.5