Alembic Version 1.1

Loading...
Searching...
No Matches
OGeomParam.h
Go to the documentation of this file.
1//-*****************************************************************************
2//
3// Copyright (c) 2009-2012,
4// Sony Pictures Imageworks Inc. and
5// Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd.
6//
7// All rights reserved.
8//
9// Redistribution and use in source and binary forms, with or without
10// modification, are permitted provided that the following conditions are
11// met:
12// * Redistributions of source code must retain the above copyright
13// notice, this list of conditions and the following disclaimer.
14// * Redistributions in binary form must reproduce the above
15// copyright notice, this list of conditions and the following disclaimer
16// in the documentation and/or other materials provided with the
17// distribution.
18// * Neither the name of Sony Pictures Imageworks, nor
19// Industrial Light & Magic, nor the names of their contributors may be used
20// to endorse or promote products derived from this software without specific
21// prior written permission.
22//
23// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34//
35//-*****************************************************************************
36
37#ifndef Alembic_AbcGeom_OGeomParam_h
38#define Alembic_AbcGeom_OGeomParam_h
39
40#include <Alembic/AbcGeom/Foundation.h>
41#include <Alembic/AbcGeom/GeometryScope.h>
42
43 namespace Alembic {
44 namespace AbcGeom {
45 namespace ALEMBIC_VERSION_NS {
46
47//-*****************************************************************************
48 template <class TRAITS>
49 class OTypedGeomParam
50{
51 public:
52 typedef typename TRAITS::value_type value_type;
53 typedef OTypedArrayProperty<TRAITS> prop_type;
54
55
56 //-*************************************************************************
57 // inner class for setting
58 class Sample
59 {
60 public:
61 typedef Sample this_type;
62
63 Sample()
64 : m_scope( kUnknownScope )
65 {}
66
67 Sample( const Abc::TypedArraySample<TRAITS> &iVals,
68 GeometryScope iScope )
69 : m_vals( iVals )
70 , m_scope( iScope )
71 {}
72
73 Sample( const Abc::TypedArraySample<TRAITS> &iVals,
74 const Abc::UInt32ArraySample &iIndices,
75 GeometryScope iScope )
76 : m_vals( iVals )
77 , m_indices( iIndices )
78 , m_scope ( iScope )
79 {}
80
81 void setVals( const Abc::TypedArraySample<TRAITS> &iVals )
82 { m_vals = iVals; }
83 const Abc::TypedArraySample<TRAITS> &getVals() const
84 { return m_vals; }
85
86 void setIndices( const Abc::UInt32ArraySample &iIndices )
87 { m_indices = iIndices; }
88 const Abc::UInt32ArraySample &getIndices() const
89 { return m_indices; }
90
91 void setScope( GeometryScope iScope )
92 { m_scope = iScope; }
93 GeometryScope getScope() const
94 { return m_scope; }
95
96 void reset()
97 {
98 m_vals.reset();
99 m_indices.reset();
100 m_scope = kUnknownScope;
101 }
102
103 bool valid() const { return m_vals; }
104
105 ALEMBIC_OPERATOR_BOOL( valid() );
106
107 protected:
108 Abc::TypedArraySample<TRAITS> m_vals;
109 Abc::UInt32ArraySample m_indices;
110 GeometryScope m_scope;
111 };
112
113 //-*************************************************************************
114 typedef OTypedGeomParam<TRAITS> this_type;
115 typedef typename this_type::Sample sample_type;
116
117 static const char * getInterpretation()
118 {
119 return TRAITS::interpretation();
120 }
121
122 static bool matches( const AbcA::PropertyHeader &iHeader,
123 SchemaInterpMatching iMatching = kStrictMatching )
124 {
125 if ( iHeader.isCompound() )
126 {
127 return ( iHeader.getMetaData().get( "podName" ) ==
128 Alembic::Util::PODName( TRAITS::dataType().getPod() ) &&
129 ( std::string() == getInterpretation() ||
130 atoi(
131 iHeader.getMetaData().get( "podExtent" ).c_str() ) ==
132 TRAITS::dataType().getExtent() ) ) &&
133 prop_type::matches( iHeader.getMetaData(), iMatching );
134 }
135 else if ( iHeader.isArray() )
136 {
137 return prop_type::matches( iHeader, iMatching );
138 }
139
140 return false;
141
142 }
143
144 OTypedGeomParam() {}
145
146 OTypedGeomParam( OCompoundProperty iParent,
147 const std::string &iName,
148 bool iIsIndexed,
149 GeometryScope iScope,
150 size_t iArrayExtent,
151 const Argument &iArg0 = Argument(),
152 const Argument &iArg1 = Argument(),
153 const Argument &iArg2 = Argument()
154 )
155 : m_name( iName )
156 , m_isIndexed( iIsIndexed )
157 , m_scope( iScope )
158 {
159 *this = OTypedGeomParam( iParent.getPtr(), iName, iIsIndexed, iScope,
160 iArrayExtent, iArg0, iArg1, iArg2 );
161 }
162
163 OTypedGeomParam( AbcA::CompoundPropertyWriterPtr iParent,
164 const std::string &iName,
165 bool iIsIndexed,
166 GeometryScope iScope,
167 size_t iArrayExtent,
168 const Argument &iArg0 = Argument(),
169 const Argument &iArg1 = Argument(),
170 const Argument &iArg2 = Argument()
171 )
172 : m_name( iName )
173 , m_isIndexed( iIsIndexed )
174 , m_scope( iScope )
175 {
176 Arguments args( Abc::GetErrorHandlerPolicy( iParent ) );
177 iArg0.setInto( args );
178 iArg1.setInto( args );
179 iArg2.setInto( args );
180
181 AbcA::MetaData md = args.getMetaData();
182
183 SetGeometryScope( md, iScope );
184
185 md.set( "isGeomParam", "true" );
186
187 std::string podName( Alembic::Util::PODName(
188 TRAITS::dataType().getPod() ) );
189
190 size_t extent = TRAITS::dataType().getExtent();
191
192 md.set( "podName", podName );
193
194 std::ostringstream extentStrm;
195 extentStrm << extent;
196 std::string extentStr = extentStrm.str();
197 md.set( "podExtent", extentStr );
198
199 std::ostringstream arrayExtentStrm;
200 arrayExtentStrm << iArrayExtent;
201 std::string arrayExtentStr = arrayExtentStrm.str();
202 md.set( "arrayExtent", arrayExtentStr );
203
204 md.set( "interpretation", TRAITS::interpretation() );
205
206 Abc::ErrorHandler::Policy ehp = args.getErrorHandlerPolicy();
207
208 AbcA::TimeSamplingPtr tsPtr = args.getTimeSampling();
209 uint32_t tsIndex = args.getTimeSamplingIndex();
210
211 // if we specified a valid TimeSamplingPtr, use it to determine the
212 // index otherwise we'll use the index, which defaults to the
213 // intrinsic 0 index
214 if (tsPtr)
215 {
216 AbcA::CompoundPropertyWriterPtr parent =
217 GetCompoundPropertyWriterPtr( iParent );
218 tsIndex =
219 parent->getObject()->getArchive()->addTimeSampling(*tsPtr);
220 }
221
222 if ( m_isIndexed )
223 {
224 m_cprop = Abc::OCompoundProperty( iParent, iName, md, ehp );
225
226 m_valProp = prop_type( m_cprop, ".vals", md, ehp, tsIndex );
227
228 m_indicesProperty = Abc::OUInt32ArrayProperty( m_cprop, ".indices",
229 tsIndex );
230 }
231 else
232 {
233 m_valProp = prop_type( iParent, iName, md, ehp, tsIndex );
234 }
235 }
236
237 public:
238
239 void set( const sample_type &iSamp )
240 {
241 ALEMBIC_ABC_SAFE_CALL_BEGIN( "OTypedGeomParam::set()" );
242
243 if ( m_valProp.getNumSamples() == 0 )
244 {
245 m_valProp.set( iSamp.getVals() );
246 if ( m_isIndexed ) { m_indicesProperty.set( iSamp.getIndices() ); }
247 }
248 else
249 {
250 SetPropUsePrevIfNull( m_valProp, iSamp.getVals() );
251 if ( m_isIndexed )
252 {
253 SetPropUsePrevIfNull( m_indicesProperty, iSamp.getIndices() );
254 }
255 }
256
257 ALEMBIC_ABC_SAFE_CALL_END_RESET();
258 }
259
260 void setFromPrevious()
261 {
262 ALEMBIC_ABC_SAFE_CALL_BEGIN( "OTypedGeomParam::setFromPrevious()" );
263
264 m_valProp.setFromPrevious();
265
266 if ( m_isIndexed ) { m_indicesProperty.setFromPrevious(); }
267
268 ALEMBIC_ABC_SAFE_CALL_END();
269 }
270
271 void setTimeSampling( uint32_t iIndex )
272 {
273 ALEMBIC_ABC_SAFE_CALL_BEGIN(
274 "OTypedGeomParam::setTimeSampling( uint32_t )" );
275
276 m_valProp.setTimeSampling( iIndex );
277
278 if ( m_isIndexed ) { m_indicesProperty.setTimeSampling( iIndex ); }
279
280 ALEMBIC_ABC_SAFE_CALL_END();
281 }
282
283 void setTimeSampling( AbcA::TimeSamplingPtr iTime )
284 {
285 ALEMBIC_ABC_SAFE_CALL_BEGIN(
286 "OTypedGeomParam::setTimeSampling( TimeSamplingPtr )" );
287
288 if (iTime)
289 {
290 uint32_t tsIndex =
291 m_valProp.getParent().getObject().getArchive().addTimeSampling(
292 *iTime);
293 setTimeSampling( tsIndex );
294 }
295
296 ALEMBIC_ABC_SAFE_CALL_END();
297 }
298
299 size_t getNumSamples() const
300 {
301 ALEMBIC_ABC_SAFE_CALL_BEGIN( "OTypedGeomParam::getNumSamples()" );
302
303 if ( m_isIndexed )
304 {
305 if ( m_indicesProperty )
306 {
307 return std::max( m_indicesProperty.getNumSamples(),
308 m_valProp.getNumSamples() );
309 }
310 else { return 0; }
311 }
312 else
313 {
314 if ( m_valProp ) { return m_valProp.getNumSamples(); }
315 else { return 0; }
316 }
317
318 ALEMBIC_ABC_SAFE_CALL_END();
319
320 return 0;
321 }
322
323 AbcA::DataType getDataType() const { return TRAITS::dataType(); }
324
325 bool isIndexed() const { return m_isIndexed; }
326
327 GeometryScope getScope() const { return m_scope; }
328
329 AbcA::TimeSamplingPtr getTimeSampling() const
330 {
331 return m_valProp.getTimeSampling();
332 }
333
334 const std::string &getName() const { return m_name; }
335
336 bool valid() const
337 {
338 return ( m_valProp.valid()
339 && ( ( ! m_isIndexed ) || m_indicesProperty ) );
340 }
341
342 ALEMBIC_OPERATOR_BOOL( this_type::valid() );
343
344 void reset()
345 {
346 m_name = "";
347 m_valProp.reset();
348 m_indicesProperty.reset();
349 m_cprop.reset();
350 m_scope = kUnknownScope;
351 m_isIndexed = false;
352 }
353
354 prop_type getValueProperty() const { return m_valProp; }
355
356 OUInt32ArrayProperty getIndexProperty() const { return m_indicesProperty; }
357
358 private:
359 Abc::ErrorHandler &getErrorHandler() const
360 { return m_valProp.getErrorHandler(); }
361
362 protected:
363 std::string m_name;
364
365 prop_type m_valProp;
366 OUInt32ArrayProperty m_indicesProperty;
367 bool m_isIndexed;
368
369 GeometryScope m_scope;
370
371 // if the GeomParam is not indexed, this will not exist.
372 Abc::OCompoundProperty m_cprop;
373};
374
375//-*****************************************************************************
376// TYPEDEFS
377//-*****************************************************************************
378
379 typedef OTypedGeomParam<BooleanTPTraits> OBoolGeomParam;
380 typedef OTypedGeomParam<Uint8TPTraits> OUcharGeomParam;
381 typedef OTypedGeomParam<Int8TPTraits> OCharGeomParam;
382 typedef OTypedGeomParam<Uint16TPTraits> OUInt16GeomParam;
383 typedef OTypedGeomParam<Int16TPTraits> OInt16GeomParam;
384 typedef OTypedGeomParam<Uint32TPTraits> OUInt32GeomParam;
385 typedef OTypedGeomParam<Int32TPTraits> OInt32GeomParam;
386 typedef OTypedGeomParam<Uint64TPTraits> OUInt64GeomParam;
387 typedef OTypedGeomParam<Int64TPTraits> OInt64GeomParam;
388 typedef OTypedGeomParam<Float16TPTraits> OHalfGeomParam;
389 typedef OTypedGeomParam<Float32TPTraits> OFloatGeomParam;
390 typedef OTypedGeomParam<Float64TPTraits> ODoubleGeomParam;
391 typedef OTypedGeomParam<StringTPTraits> OStringGeomParam;
392 typedef OTypedGeomParam<WstringTPTraits> OWstringGeomParam;
393
394 typedef OTypedGeomParam<V2sTPTraits> OV2sGeomParam;
395 typedef OTypedGeomParam<V2iTPTraits> OV2iGeomParam;
396 typedef OTypedGeomParam<V2fTPTraits> OV2fGeomParam;
397 typedef OTypedGeomParam<V2dTPTraits> OV2dGeomParam;
398
399 typedef OTypedGeomParam<V3sTPTraits> OV3sGeomParam;
400 typedef OTypedGeomParam<V3iTPTraits> OV3iGeomParam;
401 typedef OTypedGeomParam<V3fTPTraits> OV3fGeomParam;
402 typedef OTypedGeomParam<V3dTPTraits> OV3dGeomParam;
403
404 typedef OTypedGeomParam<P2sTPTraits> OP2sGeomParam;
405 typedef OTypedGeomParam<P2iTPTraits> OP2iGeomParam;
406 typedef OTypedGeomParam<P2fTPTraits> OP2fGeomParam;
407 typedef OTypedGeomParam<P2dTPTraits> OP2dGeomParam;
408
409 typedef OTypedGeomParam<P3sTPTraits> OP3sGeomParam;
410 typedef OTypedGeomParam<P3iTPTraits> OP3iGeomParam;
411 typedef OTypedGeomParam<P3fTPTraits> OP3fGeomParam;
412 typedef OTypedGeomParam<P3dTPTraits> OP3dGeomParam;
413
414 typedef OTypedGeomParam<Box2sTPTraits> OBox2sGeomParam;
415 typedef OTypedGeomParam<Box2iTPTraits> OBox2iGeomParam;
416 typedef OTypedGeomParam<Box2fTPTraits> OBox2fGeomParam;
417 typedef OTypedGeomParam<Box2dTPTraits> OBox2dGeomParam;
418
419 typedef OTypedGeomParam<Box3sTPTraits> OBox3sGeomParam;
420 typedef OTypedGeomParam<Box3iTPTraits> OBox3iGeomParam;
421 typedef OTypedGeomParam<Box3fTPTraits> OBox3fGeomParam;
422 typedef OTypedGeomParam<Box3dTPTraits> OBox3dGeomParam;
423
424 typedef OTypedGeomParam<M33fTPTraits> OM33fGeomParam;
425 typedef OTypedGeomParam<M33dTPTraits> OM33dGeomParam;
426 typedef OTypedGeomParam<M44fTPTraits> OM44fGeomParam;
427 typedef OTypedGeomParam<M44dTPTraits> OM44dGeomParam;
428
429 typedef OTypedGeomParam<QuatfTPTraits> OQuatfGeomParam;
430 typedef OTypedGeomParam<QuatdTPTraits> OQuatdGeomParam;
431
432 typedef OTypedGeomParam<C3hTPTraits> OC3hGeomParam;
433 typedef OTypedGeomParam<C3fTPTraits> OC3fGeomParam;
434 typedef OTypedGeomParam<C3cTPTraits> OC3cGeomParam;
435
436 typedef OTypedGeomParam<C4hTPTraits> OC4hGeomParam;
437 typedef OTypedGeomParam<C4fTPTraits> OC4fGeomParam;
438 typedef OTypedGeomParam<C4cTPTraits> OC4cGeomParam;
439
440 typedef OTypedGeomParam<N2fTPTraits> ON2fGeomParam;
441 typedef OTypedGeomParam<N2dTPTraits> ON2dGeomParam;
442
443 typedef OTypedGeomParam<N3fTPTraits> ON3fGeomParam;
444 typedef OTypedGeomParam<N3dTPTraits> ON3dGeomParam;
445
446} // End namespace ALEMBIC_VERSION_NS
447
448 using namespace ALEMBIC_VERSION_NS;
449
450} // End namespace AbcGeom
451} // End namespace Alembic
452
453#endif
Foundation.h
ALEMBIC_ABC_SAFE_CALL_END
#define ALEMBIC_ABC_SAFE_CALL_END()
Definition ErrorHandler.h:198
ALEMBIC_ABC_SAFE_CALL_BEGIN
#define ALEMBIC_ABC_SAFE_CALL_BEGIN(CONTEXT)
Definition ErrorHandler.h:172
ALEMBIC_ABC_SAFE_CALL_END_RESET
#define ALEMBIC_ABC_SAFE_CALL_END_RESET()
Definition ErrorHandler.h:181
GeometryScope.h
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample
Definition OGeomParam.h:59
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::m_scope
GeometryScope m_scope
Definition OGeomParam.h:110
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::this_type
Sample this_type
Definition OGeomParam.h:61
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::Sample
Sample(const Abc::TypedArraySample< TRAITS > &iVals, const Abc::UInt32ArraySample &iIndices, GeometryScope iScope)
Definition OGeomParam.h:73
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::setIndices
void setIndices(const Abc::UInt32ArraySample &iIndices)
Definition OGeomParam.h:86
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::Sample
Sample(const Abc::TypedArraySample< TRAITS > &iVals, GeometryScope iScope)
Definition OGeomParam.h:67
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::getVals
const Abc::TypedArraySample< TRAITS > & getVals() const
Definition OGeomParam.h:83
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::setScope
void setScope(GeometryScope iScope)
Definition OGeomParam.h:91
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::ALEMBIC_OPERATOR_BOOL
ALEMBIC_OPERATOR_BOOL(valid())
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::reset
void reset()
Definition OGeomParam.h:96
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::m_vals
Abc::TypedArraySample< TRAITS > m_vals
Definition OGeomParam.h:108
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::Sample
Sample()
Definition OGeomParam.h:63
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::setVals
void setVals(const Abc::TypedArraySample< TRAITS > &iVals)
Definition OGeomParam.h:81
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::getScope
GeometryScope getScope() const
Definition OGeomParam.h:93
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::m_indices
Abc::UInt32ArraySample m_indices
Definition OGeomParam.h:109
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::valid
bool valid() const
Definition OGeomParam.h:103
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::Sample::getIndices
const Abc::UInt32ArraySample & getIndices() const
Definition OGeomParam.h:88
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam
Definition OGeomParam.h:50
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam< BooleanTPTraits >::m_isIndexed
bool m_isIndexed
Definition OGeomParam.h:367
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getNumSamples
size_t getNumSamples() const
Definition OGeomParam.h:299
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getName
const std::string & getName() const
Definition OGeomParam.h:334
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::set
void set(const sample_type &iSamp)
Definition OGeomParam.h:239
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::this_type
OTypedGeomParam< TRAITS > this_type
Definition OGeomParam.h:114
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getValueProperty
prop_type getValueProperty() const
Definition OGeomParam.h:354
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::reset
void reset()
Definition OGeomParam.h:344
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getTimeSampling
AbcA::TimeSamplingPtr getTimeSampling() const
Definition OGeomParam.h:329
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::OTypedGeomParam
OTypedGeomParam(OCompoundProperty iParent, const std::string &iName, bool iIsIndexed, GeometryScope iScope, size_t iArrayExtent, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
Definition OGeomParam.h:146
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::ALEMBIC_OPERATOR_BOOL
ALEMBIC_OPERATOR_BOOL(this_type::valid())
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam< BooleanTPTraits >::m_cprop
Abc::OCompoundProperty m_cprop
Definition OGeomParam.h:372
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getScope
GeometryScope getScope() const
Definition OGeomParam.h:327
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::setFromPrevious
void setFromPrevious()
Definition OGeomParam.h:260
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::OTypedGeomParam
OTypedGeomParam()
Definition OGeomParam.h:144
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::OTypedGeomParam
OTypedGeomParam(AbcA::CompoundPropertyWriterPtr iParent, const std::string &iName, bool iIsIndexed, GeometryScope iScope, size_t iArrayExtent, const Argument &iArg0=Argument(), const Argument &iArg1=Argument(), const Argument &iArg2=Argument())
Definition OGeomParam.h:163
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::isIndexed
bool isIndexed() const
Definition OGeomParam.h:325
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam< BooleanTPTraits >::m_name
std::string m_name
Definition OGeomParam.h:363
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getDataType
AbcA::DataType getDataType() const
Definition OGeomParam.h:323
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getInterpretation
static const char * getInterpretation()
Definition OGeomParam.h:117
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::setTimeSampling
void setTimeSampling(AbcA::TimeSamplingPtr iTime)
Definition OGeomParam.h:283
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam< BooleanTPTraits >::m_valProp
prop_type m_valProp
Definition OGeomParam.h:365
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam< BooleanTPTraits >::m_indicesProperty
OUInt32ArrayProperty m_indicesProperty
Definition OGeomParam.h:366
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::valid
bool valid() const
Definition OGeomParam.h:336
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::matches
static bool matches(const AbcA::PropertyHeader &iHeader, SchemaInterpMatching iMatching=kStrictMatching)
Definition OGeomParam.h:122
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::prop_type
OTypedArrayProperty< TRAITS > prop_type
Definition OGeomParam.h:53
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::setTimeSampling
void setTimeSampling(uint32_t iIndex)
Definition OGeomParam.h:271
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::sample_type
this_type::Sample sample_type
Definition OGeomParam.h:115
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam< BooleanTPTraits >::m_scope
GeometryScope m_scope
Definition OGeomParam.h:369
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::getIndexProperty
OUInt32ArrayProperty getIndexProperty() const
Definition OGeomParam.h:356
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::value_type
TRAITS::value_type value_type
Definition OGeomParam.h:52
Alembic::Abc::ALEMBIC_VERSION_NS::Argument
Definition Argument.h:120
Alembic::Abc::ALEMBIC_VERSION_NS::Arguments
Definition Argument.h:49
Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getMetaData
const AbcA::MetaData & getMetaData() const
Definition Argument.h:86
Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getTimeSamplingIndex
uint32_t getTimeSamplingIndex() const
Definition Argument.h:92
Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getErrorHandlerPolicy
ErrorHandler::Policy getErrorHandlerPolicy() const
Definition Argument.h:83
Alembic::Abc::ALEMBIC_VERSION_NS::Arguments::getTimeSampling
AbcA::TimeSamplingPtr getTimeSampling() const
Definition Argument.h:89
Alembic::Abc::ALEMBIC_VERSION_NS::ErrorHandler
Definition ErrorHandler.h:49
Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT::getPtr
PROP_PTR getPtr() const
Definition OBaseProperty.h:162
Alembic::Abc::ALEMBIC_VERSION_NS::OCompoundProperty
Definition OCompoundProperty.h:53
Alembic::Abc::ALEMBIC_VERSION_NS::OTypedArrayProperty
Definition OTypedArrayProperty.h:51
Alembic::Abc::ALEMBIC_VERSION_NS::OTypedArrayProperty< BooleanTPTraits >::matches
static bool matches(const AbcA::MetaData &iMetaData, SchemaInterpMatching iMatching=kStrictMatching)
Definition OTypedArrayProperty.h:71
Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample
Definition TypedArraySample.h:52
Alembic::AbcGeom::ALEMBIC_VERSION_NS
Definition ArchiveBounds.h:45
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox3iGeomParam
OTypedGeomParam< Box3iTPTraits > OBox3iGeomParam
Definition OGeomParam.h:420
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ON2fGeomParam
OTypedGeomParam< N2fTPTraits > ON2fGeomParam
Definition OGeomParam.h:440
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV3fGeomParam
OTypedGeomParam< V3fTPTraits > OV3fGeomParam
Definition OGeomParam.h:401
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox2fGeomParam
OTypedGeomParam< Box2fTPTraits > OBox2fGeomParam
Definition OGeomParam.h:416
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OInt64GeomParam
OTypedGeomParam< Int64TPTraits > OInt64GeomParam
Definition OGeomParam.h:387
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OWstringGeomParam
OTypedGeomParam< WstringTPTraits > OWstringGeomParam
Definition OGeomParam.h:392
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP2fGeomParam
OTypedGeomParam< P2fTPTraits > OP2fGeomParam
Definition OGeomParam.h:406
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV3sGeomParam
OTypedGeomParam< V3sTPTraits > OV3sGeomParam
Definition OGeomParam.h:399
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ON2dGeomParam
OTypedGeomParam< N2dTPTraits > ON2dGeomParam
Definition OGeomParam.h:441
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OC3hGeomParam
OTypedGeomParam< C3hTPTraits > OC3hGeomParam
Definition OGeomParam.h:432
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox3sGeomParam
OTypedGeomParam< Box3sTPTraits > OBox3sGeomParam
Definition OGeomParam.h:419
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP2iGeomParam
OTypedGeomParam< P2iTPTraits > OP2iGeomParam
Definition OGeomParam.h:405
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV2fGeomParam
OTypedGeomParam< V2fTPTraits > OV2fGeomParam
Definition OGeomParam.h:396
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ODoubleGeomParam
OTypedGeomParam< Float64TPTraits > ODoubleGeomParam
Definition OGeomParam.h:390
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OUInt32GeomParam
OTypedGeomParam< Uint32TPTraits > OUInt32GeomParam
Definition OGeomParam.h:384
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OStringGeomParam
OTypedGeomParam< StringTPTraits > OStringGeomParam
Definition OGeomParam.h:391
Alembic::AbcGeom::ALEMBIC_VERSION_NS::GeometryScope
GeometryScope
Definition GeometryScope.h:97
Alembic::AbcGeom::ALEMBIC_VERSION_NS::kUnknownScope
@ kUnknownScope
Definition GeometryScope.h:104
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OFloatGeomParam
OTypedGeomParam< Float32TPTraits > OFloatGeomParam
Definition OGeomParam.h:389
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OInt16GeomParam
OTypedGeomParam< Int16TPTraits > OInt16GeomParam
Definition OGeomParam.h:383
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV3dGeomParam
OTypedGeomParam< V3dTPTraits > OV3dGeomParam
Definition OGeomParam.h:402
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OC3fGeomParam
OTypedGeomParam< C3fTPTraits > OC3fGeomParam
Definition OGeomParam.h:433
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OC3cGeomParam
OTypedGeomParam< C3cTPTraits > OC3cGeomParam
Definition OGeomParam.h:434
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox2iGeomParam
OTypedGeomParam< Box2iTPTraits > OBox2iGeomParam
Definition OGeomParam.h:415
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox3fGeomParam
OTypedGeomParam< Box3fTPTraits > OBox3fGeomParam
Definition OGeomParam.h:421
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OM44dGeomParam
OTypedGeomParam< M44dTPTraits > OM44dGeomParam
Definition OGeomParam.h:427
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP2sGeomParam
OTypedGeomParam< P2sTPTraits > OP2sGeomParam
Definition OGeomParam.h:404
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ON3fGeomParam
OTypedGeomParam< N3fTPTraits > ON3fGeomParam
Definition OGeomParam.h:443
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OM33dGeomParam
OTypedGeomParam< M33dTPTraits > OM33dGeomParam
Definition OGeomParam.h:425
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OHalfGeomParam
OTypedGeomParam< Float16TPTraits > OHalfGeomParam
Definition OGeomParam.h:388
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV2dGeomParam
OTypedGeomParam< V2dTPTraits > OV2dGeomParam
Definition OGeomParam.h:397
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV2iGeomParam
OTypedGeomParam< V2iTPTraits > OV2iGeomParam
Definition OGeomParam.h:395
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OC4cGeomParam
OTypedGeomParam< C4cTPTraits > OC4cGeomParam
Definition OGeomParam.h:438
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP3iGeomParam
OTypedGeomParam< P3iTPTraits > OP3iGeomParam
Definition OGeomParam.h:410
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OQuatdGeomParam
OTypedGeomParam< QuatdTPTraits > OQuatdGeomParam
Definition OGeomParam.h:430
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP3fGeomParam
OTypedGeomParam< P3fTPTraits > OP3fGeomParam
Definition OGeomParam.h:411
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OInt32GeomParam
OTypedGeomParam< Int32TPTraits > OInt32GeomParam
Definition OGeomParam.h:385
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OQuatfGeomParam
OTypedGeomParam< QuatfTPTraits > OQuatfGeomParam
Definition OGeomParam.h:429
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBoolGeomParam
OTypedGeomParam< BooleanTPTraits > OBoolGeomParam
Definition OGeomParam.h:379
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OM33fGeomParam
OTypedGeomParam< M33fTPTraits > OM33fGeomParam
Definition OGeomParam.h:424
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox2dGeomParam
OTypedGeomParam< Box2dTPTraits > OBox2dGeomParam
Definition OGeomParam.h:417
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP2dGeomParam
OTypedGeomParam< P2dTPTraits > OP2dGeomParam
Definition OGeomParam.h:407
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP3sGeomParam
OTypedGeomParam< P3sTPTraits > OP3sGeomParam
Definition OGeomParam.h:409
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox3dGeomParam
OTypedGeomParam< Box3dTPTraits > OBox3dGeomParam
Definition OGeomParam.h:422
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OC4hGeomParam
OTypedGeomParam< C4hTPTraits > OC4hGeomParam
Definition OGeomParam.h:436
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV3iGeomParam
OTypedGeomParam< V3iTPTraits > OV3iGeomParam
Definition OGeomParam.h:400
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OCharGeomParam
OTypedGeomParam< Int8TPTraits > OCharGeomParam
Definition OGeomParam.h:381
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OBox2sGeomParam
OTypedGeomParam< Box2sTPTraits > OBox2sGeomParam
Definition OGeomParam.h:414
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OUInt16GeomParam
OTypedGeomParam< Uint16TPTraits > OUInt16GeomParam
Definition OGeomParam.h:382
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OC4fGeomParam
OTypedGeomParam< C4fTPTraits > OC4fGeomParam
Definition OGeomParam.h:437
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ON3dGeomParam
OTypedGeomParam< N3dTPTraits > ON3dGeomParam
Definition OGeomParam.h:444
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OP3dGeomParam
OTypedGeomParam< P3dTPTraits > OP3dGeomParam
Definition OGeomParam.h:412
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OUInt64GeomParam
OTypedGeomParam< Uint64TPTraits > OUInt64GeomParam
Definition OGeomParam.h:386
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OV2sGeomParam
OTypedGeomParam< V2sTPTraits > OV2sGeomParam
Definition OGeomParam.h:394
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OUcharGeomParam
OTypedGeomParam< Uint8TPTraits > OUcharGeomParam
Definition OGeomParam.h:380
Alembic::AbcGeom::ALEMBIC_VERSION_NS::SetGeometryScope
void SetGeometryScope(AbcA::MetaData &ioMetaData, GeometryScope iScope)
Definition GeometryScope.h:113
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OM44fGeomParam
OTypedGeomParam< M44fTPTraits > OM44fGeomParam
Definition OGeomParam.h:426
Alembic::AbcGeom::ALEMBIC_VERSION_NS::SetPropUsePrevIfNull
void SetPropUsePrevIfNull(PROP iProp, SAMP iSamp)
Definition Foundation.h:96
Alembic::AbcGeom
Definition ArchiveBounds.h:44
Alembic::Abc::ALEMBIC_VERSION_NS::OUInt32ArrayProperty
OTypedArrayProperty< Uint32TPTraits > OUInt32ArrayProperty
Definition OTypedArrayProperty.h:248
Alembic::Abc::ALEMBIC_VERSION_NS::GetErrorHandlerPolicy
ErrorHandler::Policy GetErrorHandlerPolicy(SOMETHING iSomething, const Argument &iArg0, const Argument &iArg1=Argument(), const Argument &iArg2=Argument(), const Argument &iArg3=Argument())
Definition Argument.h:242
Alembic::Abc::ALEMBIC_VERSION_NS::SchemaInterpMatching
SchemaInterpMatching
Definition Foundation.h:77
Alembic::Abc::ALEMBIC_VERSION_NS::kStrictMatching
@ kStrictMatching
Definition Foundation.h:78
Alembic::Abc::ALEMBIC_VERSION_NS::GetCompoundPropertyWriterPtr
AbcA::CompoundPropertyWriterPtr GetCompoundPropertyWriterPtr(AbcA::CompoundPropertyWriterPtr iPtr)
Definition Foundation.h:174
Alembic::Abc::ALEMBIC_VERSION_NS::UInt32ArraySample
TypedArraySample< Uint32TPTraits > UInt32ArraySample
Definition TypedArraySample.h:154
Alembic::Util::ALEMBIC_VERSION_NS::PODName
const char * PODName(PlainOldDataType pod)
Definition PlainOldDataType.h:358
Alembic
Alembic namespace ...
Definition ArchiveInfo.h:46