changed: gcc8 base update
[opensg.git] / Source / System / State / Base / OSGMultiPropertyUBOChunkBase.inl
blobd05c209fc2778b293281174fb51de9e79c1e32e9
1 /*---------------------------------------------------------------------------*\
2  *                                OpenSG                                     *
3  *                                                                           *
4  *                                                                           *
5  *               Copyright (C) 2000-2013 by the OpenSG Forum                 *
6  *                                                                           *
7  * contact: dirk@opensg.org, gerrit.voss@vossg.org, carsten_neumann@gmx.net  *
8  *                                                                           *
9 \*---------------------------------------------------------------------------*/
10 /*---------------------------------------------------------------------------*\
11  *                                License                                    *
12  *                                                                           *
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.                               *
16  *                                                                           *
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.                          *
21  *                                                                           *
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.                 *
25  *                                                                           *
26 \*---------------------------------------------------------------------------*/
27 /*---------------------------------------------------------------------------*\
28  *                                Changes                                    *
29  *                                                                           *
30  *                                                                           *
31  *                                                                           *
32  *                                                                           *
33  *                                                                           *
34  *                                                                           *
35 \*---------------------------------------------------------------------------*/
37 /*****************************************************************************\
38  *****************************************************************************
39  **                                                                         **
40  **                  This file is automatically generated.                  **
41  **                                                                         **
42  **          Any changes made to this file WILL be lost when it is          **
43  **           regenerated, which can become necessary at any time.          **
44  **                                                                         **
45  **     Do not change this file, changes should be done in the derived      **
46  **     class MultiPropertyUBOChunk!
47  **                                                                         **
48  *****************************************************************************
49 \*****************************************************************************/
51 OSG_BEGIN_NAMESPACE
55 //! access the type of the class
56 inline
57 OSG::FieldContainerType &MultiPropertyUBOChunkBase::getClassType(void)
59     return _type;
62 //! access the numerical type of the class
63 inline
64 OSG::UInt32 MultiPropertyUBOChunkBase::getClassTypeId(void)
66     return _type.getId();
69 inline
70 OSG::UInt16 MultiPropertyUBOChunkBase::getClassGroupId(void)
72     return _type.getGroupId();
75 /*------------------------------ get -----------------------------------*/
77 //! Get the value of the MultiPropertyUBOChunk::_sfNumProperties field.
79 inline
80 UInt32 &MultiPropertyUBOChunkBase::editNumProperties(void)
82     editSField(NumPropertiesFieldMask);
84     return _sfNumProperties.getValue();
87 //! Get the value of the MultiPropertyUBOChunk::_sfNumProperties field.
88 inline
89       UInt32  MultiPropertyUBOChunkBase::getNumProperties(void) const
91     return _sfNumProperties.getValue();
94 //! Set the value of the MultiPropertyUBOChunk::_sfNumProperties field.
95 inline
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.
104 inline
105       UInt8  MultiPropertyUBOChunkBase::getTypes(const UInt32 index) const
107     return _mfTypes[index];
110 inline
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.
119 inline
120       UInt32  MultiPropertyUBOChunkBase::getCardinality(const UInt32 index) const
122     return _mfCardinality[index];
125 inline
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.
134 inline
135       UInt32  MultiPropertyUBOChunkBase::getCardinalities(const UInt32 index) const
137     return _mfCardinalities[index];
140 inline
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.
149 inline
150       Real32  MultiPropertyUBOChunkBase::getFloatValues(const UInt32 index) const
152     return _mfFloatValues[index];
155 inline
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.
164 inline
165       Real64  MultiPropertyUBOChunkBase::getDoubleValues(const UInt32 index) const
167     return _mfDoubleValues[index];
170 inline
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.
179 inline
180       Int32  MultiPropertyUBOChunkBase::getIntValues(const UInt32 index) const
182     return _mfIntValues[index];
185 inline
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.
194 inline
195       UInt32  MultiPropertyUBOChunkBase::getUIntValues(const UInt32 index) const
197     return _mfUIntValues[index];
200 inline
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.
209 inline
210       bool  MultiPropertyUBOChunkBase::getBoolValues(const UInt32 index) const
212     return _mfBoolValues[index];
215 inline
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.
224 inline
225 const Vec3f &MultiPropertyUBOChunkBase::getVec3Values(const UInt32 index) const
227     return _mfVec3Values[index];
230 inline
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.
239 inline
240 const Vec4f &MultiPropertyUBOChunkBase::getVec4Values(const UInt32 index) const
242     return _mfVec4Values[index];
245 inline
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.
254 inline
255 const Matrix &MultiPropertyUBOChunkBase::getMatrixValues(const UInt32 index) const
257     return _mfMatrixValues[index];
260 inline
261 MFMatrix           ::reference MultiPropertyUBOChunkBase::editMatrixValues(const UInt32 index)
263     editMField(MatrixValuesFieldMask, _mfMatrixValues);
265     return _mfMatrixValues[index];
269 #ifdef OSG_MT_CPTR_ASPECT
270 inline
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,
281                                 syncMode,
282                                 uiSyncInfo,
283                                 oOffsets);
285     if(FieldBits::NoField != (CardinalityFieldMask & whichField))
286         _mfCardinality.syncWith(pFrom->_mfCardinality,
287                                 syncMode,
288                                 uiSyncInfo,
289                                 oOffsets);
291     if(FieldBits::NoField != (CardinalitiesFieldMask & whichField))
292         _mfCardinalities.syncWith(pFrom->_mfCardinalities,
293                                 syncMode,
294                                 uiSyncInfo,
295                                 oOffsets);
297     if(FieldBits::NoField != (NumPropertiesFieldMask & whichField))
298         _sfNumProperties.syncWith(pFrom->_sfNumProperties);
300     if(FieldBits::NoField != (FloatValuesFieldMask & whichField))
301         _mfFloatValues.syncWith(pFrom->_mfFloatValues,
302                                 syncMode,
303                                 uiSyncInfo,
304                                 oOffsets);
306     if(FieldBits::NoField != (DoubleValuesFieldMask & whichField))
307         _mfDoubleValues.syncWith(pFrom->_mfDoubleValues,
308                                 syncMode,
309                                 uiSyncInfo,
310                                 oOffsets);
312     if(FieldBits::NoField != (IntValuesFieldMask & whichField))
313         _mfIntValues.syncWith(pFrom->_mfIntValues,
314                                 syncMode,
315                                 uiSyncInfo,
316                                 oOffsets);
318     if(FieldBits::NoField != (UIntValuesFieldMask & whichField))
319         _mfUIntValues.syncWith(pFrom->_mfUIntValues,
320                                 syncMode,
321                                 uiSyncInfo,
322                                 oOffsets);
324     if(FieldBits::NoField != (BoolValuesFieldMask & whichField))
325         _mfBoolValues.syncWith(pFrom->_mfBoolValues,
326                                 syncMode,
327                                 uiSyncInfo,
328                                 oOffsets);
330     if(FieldBits::NoField != (Vec3ValuesFieldMask & whichField))
331         _mfVec3Values.syncWith(pFrom->_mfVec3Values,
332                                 syncMode,
333                                 uiSyncInfo,
334                                 oOffsets);
336     if(FieldBits::NoField != (Vec4ValuesFieldMask & whichField))
337         _mfVec4Values.syncWith(pFrom->_mfVec4Values,
338                                 syncMode,
339                                 uiSyncInfo,
340                                 oOffsets);
342     if(FieldBits::NoField != (MatrixValuesFieldMask & whichField))
343         _mfMatrixValues.syncWith(pFrom->_mfMatrixValues,
344                                 syncMode,
345                                 uiSyncInfo,
346                                 oOffsets);
348 #endif
351 inline
352 const Char8 *MultiPropertyUBOChunkBase::getClassname(void)
354     return "MultiPropertyUBOChunk";
356 OSG_GEN_CONTAINERPTR(MultiPropertyUBOChunk);
358 OSG_END_NAMESPACE