1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2000-2013 by the OpenSG Forum *
7 * contact: dirk@opensg.org, gerrit.voss@vossg.org, carsten_neumann@gmx.net *
9 \*---------------------------------------------------------------------------*/
10 /*---------------------------------------------------------------------------*\
13 * This library is free software; you can redistribute it and/or modify it *
14 * under the terms of the GNU Library General Public License as published *
15 * by the Free Software Foundation, version 2. *
17 * This library is distributed in the hope that it will be useful, but *
18 * WITHOUT ANY WARRANTY; without even the implied warranty of *
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
20 * Library General Public License for more details. *
22 * You should have received a copy of the GNU Library General Public *
23 * License along with this library; if not, write to the Free Software *
24 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
26 \*---------------------------------------------------------------------------*/
27 /*---------------------------------------------------------------------------*\
35 \*---------------------------------------------------------------------------*/
37 /*****************************************************************************\
38 *****************************************************************************
40 ** This file is automatically generated. **
42 ** Any changes made to this file WILL be lost when it is **
43 ** regenerated, which can become necessary at any time. **
45 ** Do not change this file, changes should be done in the derived **
46 ** class MultiPropertyUBOChunk!
48 *****************************************************************************
49 \*****************************************************************************/
55 //! access the type of the class
57 OSG::FieldContainerType &MultiPropertyUBOChunkBase::getClassType(void)
62 //! access the numerical type of the class
64 OSG::UInt32 MultiPropertyUBOChunkBase::getClassTypeId(void)
70 OSG::UInt16 MultiPropertyUBOChunkBase::getClassGroupId(void)
72 return _type.getGroupId();
75 /*------------------------------ get -----------------------------------*/
77 //! Get the value of the MultiPropertyUBOChunk::_sfNumProperties field.
80 UInt32 &MultiPropertyUBOChunkBase::editNumProperties(void)
82 editSField(NumPropertiesFieldMask);
84 return _sfNumProperties.getValue();
87 //! Get the value of the MultiPropertyUBOChunk::_sfNumProperties field.
89 UInt32 MultiPropertyUBOChunkBase::getNumProperties(void) const
91 return _sfNumProperties.getValue();
94 //! Set the value of the MultiPropertyUBOChunk::_sfNumProperties field.
96 void MultiPropertyUBOChunkBase::setNumProperties(const UInt32 value)
98 editSField(NumPropertiesFieldMask);
100 _sfNumProperties.setValue(value);
103 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfTypes field.
105 UInt8 MultiPropertyUBOChunkBase::getTypes(const UInt32 index) const
107 return _mfTypes[index];
111 MFUInt8 ::reference MultiPropertyUBOChunkBase::editTypes(const UInt32 index)
113 editMField(TypesFieldMask, _mfTypes);
115 return _mfTypes[index];
118 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfCardinality field.
120 UInt32 MultiPropertyUBOChunkBase::getCardinality(const UInt32 index) const
122 return _mfCardinality[index];
126 MFUInt32 ::reference MultiPropertyUBOChunkBase::editCardinality(const UInt32 index)
128 editMField(CardinalityFieldMask, _mfCardinality);
130 return _mfCardinality[index];
133 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfCardinalities field.
135 UInt32 MultiPropertyUBOChunkBase::getCardinalities(const UInt32 index) const
137 return _mfCardinalities[index];
141 MFUInt32 ::reference MultiPropertyUBOChunkBase::editCardinalities(const UInt32 index)
143 editMField(CardinalitiesFieldMask, _mfCardinalities);
145 return _mfCardinalities[index];
148 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfFloatValues field.
150 Real32 MultiPropertyUBOChunkBase::getFloatValues(const UInt32 index) const
152 return _mfFloatValues[index];
156 MFReal32 ::reference MultiPropertyUBOChunkBase::editFloatValues(const UInt32 index)
158 editMField(FloatValuesFieldMask, _mfFloatValues);
160 return _mfFloatValues[index];
163 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfDoubleValues field.
165 Real64 MultiPropertyUBOChunkBase::getDoubleValues(const UInt32 index) const
167 return _mfDoubleValues[index];
171 MFReal64 ::reference MultiPropertyUBOChunkBase::editDoubleValues(const UInt32 index)
173 editMField(DoubleValuesFieldMask, _mfDoubleValues);
175 return _mfDoubleValues[index];
178 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfIntValues field.
180 Int32 MultiPropertyUBOChunkBase::getIntValues(const UInt32 index) const
182 return _mfIntValues[index];
186 MFInt32 ::reference MultiPropertyUBOChunkBase::editIntValues(const UInt32 index)
188 editMField(IntValuesFieldMask, _mfIntValues);
190 return _mfIntValues[index];
193 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfUIntValues field.
195 UInt32 MultiPropertyUBOChunkBase::getUIntValues(const UInt32 index) const
197 return _mfUIntValues[index];
201 MFUInt32 ::reference MultiPropertyUBOChunkBase::editUIntValues(const UInt32 index)
203 editMField(UIntValuesFieldMask, _mfUIntValues);
205 return _mfUIntValues[index];
208 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfBoolValues field.
210 bool MultiPropertyUBOChunkBase::getBoolValues(const UInt32 index) const
212 return _mfBoolValues[index];
216 MFBool ::reference MultiPropertyUBOChunkBase::editBoolValues(const UInt32 index)
218 editMField(BoolValuesFieldMask, _mfBoolValues);
220 return _mfBoolValues[index];
223 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfVec3Values field.
225 const Vec3f &MultiPropertyUBOChunkBase::getVec3Values(const UInt32 index) const
227 return _mfVec3Values[index];
231 MFVec3f ::reference MultiPropertyUBOChunkBase::editVec3Values(const UInt32 index)
233 editMField(Vec3ValuesFieldMask, _mfVec3Values);
235 return _mfVec3Values[index];
238 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfVec4Values field.
240 const Vec4f &MultiPropertyUBOChunkBase::getVec4Values(const UInt32 index) const
242 return _mfVec4Values[index];
246 MFVec4f ::reference MultiPropertyUBOChunkBase::editVec4Values(const UInt32 index)
248 editMField(Vec4ValuesFieldMask, _mfVec4Values);
250 return _mfVec4Values[index];
253 //! Get the value of the \a index element the MultiPropertyUBOChunk::_mfMatrixValues field.
255 const Matrix &MultiPropertyUBOChunkBase::getMatrixValues(const UInt32 index) const
257 return _mfMatrixValues[index];
261 MFMatrix ::reference MultiPropertyUBOChunkBase::editMatrixValues(const UInt32 index)
263 editMField(MatrixValuesFieldMask, _mfMatrixValues);
265 return _mfMatrixValues[index];
269 #ifdef OSG_MT_CPTR_ASPECT
271 void MultiPropertyUBOChunkBase::execSync ( MultiPropertyUBOChunkBase *pFrom,
272 ConstFieldMaskArg whichField,
273 AspectOffsetStore &oOffsets,
274 ConstFieldMaskArg syncMode,
275 const UInt32 uiSyncInfo)
277 Inherited::execSync(pFrom, whichField, oOffsets, syncMode, uiSyncInfo);
279 if(FieldBits::NoField != (TypesFieldMask & whichField))
280 _mfTypes.syncWith(pFrom->_mfTypes,
285 if(FieldBits::NoField != (CardinalityFieldMask & whichField))
286 _mfCardinality.syncWith(pFrom->_mfCardinality,
291 if(FieldBits::NoField != (CardinalitiesFieldMask & whichField))
292 _mfCardinalities.syncWith(pFrom->_mfCardinalities,
297 if(FieldBits::NoField != (NumPropertiesFieldMask & whichField))
298 _sfNumProperties.syncWith(pFrom->_sfNumProperties);
300 if(FieldBits::NoField != (FloatValuesFieldMask & whichField))
301 _mfFloatValues.syncWith(pFrom->_mfFloatValues,
306 if(FieldBits::NoField != (DoubleValuesFieldMask & whichField))
307 _mfDoubleValues.syncWith(pFrom->_mfDoubleValues,
312 if(FieldBits::NoField != (IntValuesFieldMask & whichField))
313 _mfIntValues.syncWith(pFrom->_mfIntValues,
318 if(FieldBits::NoField != (UIntValuesFieldMask & whichField))
319 _mfUIntValues.syncWith(pFrom->_mfUIntValues,
324 if(FieldBits::NoField != (BoolValuesFieldMask & whichField))
325 _mfBoolValues.syncWith(pFrom->_mfBoolValues,
330 if(FieldBits::NoField != (Vec3ValuesFieldMask & whichField))
331 _mfVec3Values.syncWith(pFrom->_mfVec3Values,
336 if(FieldBits::NoField != (Vec4ValuesFieldMask & whichField))
337 _mfVec4Values.syncWith(pFrom->_mfVec4Values,
342 if(FieldBits::NoField != (MatrixValuesFieldMask & whichField))
343 _mfMatrixValues.syncWith(pFrom->_mfMatrixValues,
352 const Char8 *MultiPropertyUBOChunkBase::getClassname(void)
354 return "MultiPropertyUBOChunk";
356 OSG_GEN_CONTAINERPTR(MultiPropertyUBOChunk);