OGeomParam.h
Go to the documentation of this file.
//-*****************************************************************************
//
// Copyright (c) 2009-2012,
// Sony Pictures Imageworks Inc. and
// Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd.
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Sony Pictures Imageworks, nor
// Industrial Light & Magic, nor the names of their contributors may be used
// to endorse or promote products derived from this software without specific
// prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//-*****************************************************************************
#ifndef Alembic_AbcGeom_OGeomParam_h
#define Alembic_AbcGeom_OGeomParam_h
#include <Alembic/AbcGeom/Foundation.h>
#include <Alembic/AbcGeom/GeometryScope.h>
namespace Alembic {
namespace AbcGeom {
namespace ALEMBIC_VERSION_NS {
//-*****************************************************************************
template <class TRAITS>
class OTypedGeomParam
{
public:
typedef typename TRAITS::value_type value_type;
typedef OTypedArrayProperty<TRAITS> prop_type;
//-*************************************************************************
// inner class for setting
class Sample
{
public:
typedef Sample this_type;
Sample()
: m_scope( kUnknownScope )
{}
Sample( const Abc::TypedArraySample<TRAITS> &iVals,
GeometryScope iScope )
: m_vals( iVals )
, m_scope( iScope )
{}
Sample( const Abc::TypedArraySample<TRAITS> &iVals,
const Abc::UInt32ArraySample &iIndices,
GeometryScope iScope )
: m_vals( iVals )
, m_indices( iIndices )
, m_scope ( iScope )
{}
void setVals( const Abc::TypedArraySample<TRAITS> &iVals )
{ m_vals = iVals; }
const Abc::TypedArraySample<TRAITS> &getVals() const
{ return m_vals; }
void setIndices( const Abc::UInt32ArraySample &iIndices )
{ m_indices = iIndices; }
const Abc::UInt32ArraySample &getIndices() const
{ return m_indices; }
void setScope( GeometryScope iScope )
{ m_scope = iScope; }
GeometryScope getScope() const
{ return m_scope; }
void reset()
{
m_vals.reset();
m_indices.reset();
m_scope = kUnknownScope;
}
bool valid() const { return m_vals; }
ALEMBIC_OPERATOR_BOOL( valid() );
protected:
Abc::TypedArraySample<TRAITS> m_vals;
Abc::UInt32ArraySample m_indices;
GeometryScope m_scope;
};
//-*************************************************************************
typedef OTypedGeomParam<TRAITS> this_type;
typedef typename this_type::Sample sample_type;
static const char * getInterpretation()
{
return TRAITS::interpretation();
}
static bool matches( const AbcA::PropertyHeader &iHeader,
SchemaInterpMatching iMatching = kStrictMatching )
{
if ( iHeader.isCompound() )
{
return ( iHeader.getMetaData().get( "podName" ) ==
Alembic::Util::PODName( TRAITS::dataType().getPod() ) &&
( std::string() == getInterpretation() ||
atoi(
iHeader.getMetaData().get( "podExtent" ).c_str() ) ==
TRAITS::dataType().getExtent() ) ) &&
prop_type::matches( iHeader.getMetaData(), iMatching );
}
else if ( iHeader.isArray() )
{
return prop_type::matches( iHeader, iMatching );
}
return false;
}
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()
)
: m_name( iName )
, m_isIndexed( iIsIndexed )
, m_scope( iScope )
{
*this = OTypedGeomParam( iParent.getPtr(), iName, iIsIndexed, iScope,
iArrayExtent, iArg0, iArg1, iArg2 );
}
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()
)
: m_name( iName )
, m_isIndexed( iIsIndexed )
, m_scope( iScope )
{
Arguments args( Abc::GetErrorHandlerPolicy( iParent ) );
iArg0.setInto( args );
iArg1.setInto( args );
iArg2.setInto( args );
AbcA::MetaData md = args.getMetaData();
SetGeometryScope( md, iScope );
md.set( "isGeomParam", "true" );
std::string podName( Alembic::Util::PODName(
TRAITS::dataType().getPod() ) );
size_t extent = TRAITS::dataType().getExtent();
md.set( "podName", podName );
std::ostringstream extentStrm;
extentStrm << extent;
std::string extentStr = extentStrm.str();
md.set( "podExtent", extentStr );
std::ostringstream arrayExtentStrm;
arrayExtentStrm << iArrayExtent;
std::string arrayExtentStr = arrayExtentStrm.str();
md.set( "arrayExtent", arrayExtentStr );
md.set( "interpretation", TRAITS::interpretation() );
Abc::ErrorHandler::Policy ehp = args.getErrorHandlerPolicy();
AbcA::TimeSamplingPtr tsPtr = args.getTimeSampling();
uint32_t tsIndex = args.getTimeSamplingIndex();
// if we specified a valid TimeSamplingPtr, use it to determine the
// index otherwise we'll use the index, which defaults to the
// intrinsic 0 index
if (tsPtr)
{
AbcA::CompoundPropertyWriterPtr parent =
GetCompoundPropertyWriterPtr( iParent );
tsIndex =
parent->getObject()->getArchive()->addTimeSampling(*tsPtr);
}
if ( m_isIndexed )
{
m_cprop = Abc::OCompoundProperty( iParent, iName, md, ehp );
m_valProp = prop_type( m_cprop, ".vals", md, ehp, tsIndex );
m_indicesProperty = Abc::OUInt32ArrayProperty( m_cprop, ".indices",
tsIndex );
}
else
{
m_valProp = prop_type( iParent, iName, md, ehp, tsIndex );
}
}
public:
void set( const sample_type &iSamp )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "OTypedGeomParam::set()" );
if ( m_valProp.getNumSamples() == 0 )
{
m_valProp.set( iSamp.getVals() );
if ( m_isIndexed ) { m_indicesProperty.set( iSamp.getIndices() ); }
}
else
{
SetPropUsePrevIfNull( m_valProp, iSamp.getVals() );
if ( m_isIndexed )
{
SetPropUsePrevIfNull( m_indicesProperty, iSamp.getIndices() );
}
}
ALEMBIC_ABC_SAFE_CALL_END_RESET();
}
void setFromPrevious()
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "OTypedGeomParam::setFromPrevious()" );
m_valProp.setFromPrevious();
if ( m_isIndexed ) { m_indicesProperty.setFromPrevious(); }
ALEMBIC_ABC_SAFE_CALL_END();
}
void setTimeSampling( uint32_t iIndex )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OTypedGeomParam::setTimeSampling( uint32_t )" );
m_valProp.setTimeSampling( iIndex );
if ( m_isIndexed ) { m_indicesProperty.setTimeSampling( iIndex ); }
ALEMBIC_ABC_SAFE_CALL_END();
}
void setTimeSampling( AbcA::TimeSamplingPtr iTime )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OTypedGeomParam::setTimeSampling( TimeSamplingPtr )" );
if (iTime)
{
uint32_t tsIndex =
m_valProp.getParent().getObject().getArchive().addTimeSampling(
*iTime);
setTimeSampling( tsIndex );
}
ALEMBIC_ABC_SAFE_CALL_END();
}
size_t getNumSamples() const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "OTypedGeomParam::getNumSamples()" );
if ( m_isIndexed )
{
if ( m_indicesProperty )
{
return std::max( m_indicesProperty.getNumSamples(),
m_valProp.getNumSamples() );
}
else { return 0; }
}
else
{
if ( m_valProp ) { return m_valProp.getNumSamples(); }
else { return 0; }
}
ALEMBIC_ABC_SAFE_CALL_END();
return 0;
}
AbcA::DataType getDataType() const { return TRAITS::dataType(); }
bool isIndexed() const { return m_isIndexed; }
GeometryScope getScope() const { return m_scope; }
AbcA::TimeSamplingPtr getTimeSampling() const
{
return m_valProp.getTimeSampling();
}
const std::string &getName() const { return m_name; }
bool valid() const
{
return ( m_valProp.valid()
&& ( ( ! m_isIndexed ) || m_indicesProperty ) );
}
ALEMBIC_OPERATOR_BOOL( this_type::valid() );
void reset()
{
m_name = "";
m_valProp.reset();
m_indicesProperty.reset();
m_cprop.reset();
m_scope = kUnknownScope;
m_isIndexed = false;
}
prop_type getValueProperty() const { return m_valProp; }
OUInt32ArrayProperty getIndexProperty() const { return m_indicesProperty; }
private:
Abc::ErrorHandler &getErrorHandler() const
{ return m_valProp.getErrorHandler(); }
protected:
std::string m_name;
prop_type m_valProp;
OUInt32ArrayProperty m_indicesProperty;
bool m_isIndexed;
GeometryScope m_scope;
// if the GeomParam is not indexed, this will not exist.
Abc::OCompoundProperty m_cprop;
};
//-*****************************************************************************
// TYPEDEFS
//-*****************************************************************************
typedef OTypedGeomParam<BooleanTPTraits> OBoolGeomParam;
typedef OTypedGeomParam<Uint8TPTraits> OUcharGeomParam;
typedef OTypedGeomParam<Int8TPTraits> OCharGeomParam;
typedef OTypedGeomParam<Uint16TPTraits> OUInt16GeomParam;
typedef OTypedGeomParam<Int16TPTraits> OInt16GeomParam;
typedef OTypedGeomParam<Uint32TPTraits> OUInt32GeomParam;
typedef OTypedGeomParam<Int32TPTraits> OInt32GeomParam;
typedef OTypedGeomParam<Uint64TPTraits> OUInt64GeomParam;
typedef OTypedGeomParam<Int64TPTraits> OInt64GeomParam;
typedef OTypedGeomParam<Float16TPTraits> OHalfGeomParam;
typedef OTypedGeomParam<Float32TPTraits> OFloatGeomParam;
typedef OTypedGeomParam<Float64TPTraits> ODoubleGeomParam;
typedef OTypedGeomParam<StringTPTraits> OStringGeomParam;
typedef OTypedGeomParam<WstringTPTraits> OWstringGeomParam;
typedef OTypedGeomParam<V2sTPTraits> OV2sGeomParam;
typedef OTypedGeomParam<V2iTPTraits> OV2iGeomParam;
typedef OTypedGeomParam<V2fTPTraits> OV2fGeomParam;
typedef OTypedGeomParam<V2dTPTraits> OV2dGeomParam;
typedef OTypedGeomParam<V3sTPTraits> OV3sGeomParam;
typedef OTypedGeomParam<V3iTPTraits> OV3iGeomParam;
typedef OTypedGeomParam<V3fTPTraits> OV3fGeomParam;
typedef OTypedGeomParam<V3dTPTraits> OV3dGeomParam;
typedef OTypedGeomParam<P2sTPTraits> OP2sGeomParam;
typedef OTypedGeomParam<P2iTPTraits> OP2iGeomParam;
typedef OTypedGeomParam<P2fTPTraits> OP2fGeomParam;
typedef OTypedGeomParam<P2dTPTraits> OP2dGeomParam;
typedef OTypedGeomParam<P3sTPTraits> OP3sGeomParam;
typedef OTypedGeomParam<P3iTPTraits> OP3iGeomParam;
typedef OTypedGeomParam<P3fTPTraits> OP3fGeomParam;
typedef OTypedGeomParam<P3dTPTraits> OP3dGeomParam;
typedef OTypedGeomParam<Box2sTPTraits> OBox2sGeomParam;
typedef OTypedGeomParam<Box2iTPTraits> OBox2iGeomParam;
typedef OTypedGeomParam<Box2fTPTraits> OBox2fGeomParam;
typedef OTypedGeomParam<Box2dTPTraits> OBox2dGeomParam;
typedef OTypedGeomParam<Box3sTPTraits> OBox3sGeomParam;
typedef OTypedGeomParam<Box3iTPTraits> OBox3iGeomParam;
typedef OTypedGeomParam<Box3fTPTraits> OBox3fGeomParam;
typedef OTypedGeomParam<Box3dTPTraits> OBox3dGeomParam;
typedef OTypedGeomParam<M33fTPTraits> OM33fGeomParam;
typedef OTypedGeomParam<M33dTPTraits> OM33dGeomParam;
typedef OTypedGeomParam<M44fTPTraits> OM44fGeomParam;
typedef OTypedGeomParam<M44dTPTraits> OM44dGeomParam;
typedef OTypedGeomParam<QuatfTPTraits> OQuatfGeomParam;
typedef OTypedGeomParam<QuatdTPTraits> OQuatdGeomParam;
typedef OTypedGeomParam<C3hTPTraits> OC3hGeomParam;
typedef OTypedGeomParam<C3fTPTraits> OC3fGeomParam;
typedef OTypedGeomParam<C3cTPTraits> OC3cGeomParam;
typedef OTypedGeomParam<C4hTPTraits> OC4hGeomParam;
typedef OTypedGeomParam<C4fTPTraits> OC4fGeomParam;
typedef OTypedGeomParam<C4cTPTraits> OC4cGeomParam;
typedef OTypedGeomParam<N2fTPTraits> ON2fGeomParam;
typedef OTypedGeomParam<N2dTPTraits> ON2dGeomParam;
typedef OTypedGeomParam<N3fTPTraits> ON3fGeomParam;
typedef OTypedGeomParam<N3dTPTraits> ON3dGeomParam;
} // End namespace ALEMBIC_VERSION_NS
using namespace ALEMBIC_VERSION_NS;
} // End namespace AbcGeom
} // End namespace Alembic
#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_VERSION_NS
#define ALEMBIC_VERSION_NS
Definition: Foundation.h:105
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ArraySample::reset
void reset()
Definition: ArraySample.h:119
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::DataType
Definition: DataType.h:52
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData
Definition: MetaData.h:60
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::get
std::string get(const std::string &iKey) const
Definition: MetaData.h:192
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::MetaData::set
void set(const std::string &iKey, const std::string &iData)
Definition: MetaData.h:168
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::PropertyHeader
Definition: PropertyHeader.h:79
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::PropertyHeader::isCompound
bool isCompound() const
Definition: PropertyHeader.h:157
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::PropertyHeader::getMetaData
const MetaData & getMetaData() const
Definition: PropertyHeader.h:165
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::PropertyHeader::isArray
bool isArray() const
Definition: PropertyHeader.h:153
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::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::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::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::m_valProp
prop_type m_valProp
Definition: OGeomParam.h:365
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OTypedGeomParam::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::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::ErrorHandler::Policy
Policy
Definition: ErrorHandler.h:52
Alembic::Abc::ALEMBIC_VERSION_NS::OArrayProperty::getNumSamples
size_t getNumSamples() const
Alembic::Abc::ALEMBIC_VERSION_NS::OArrayProperty::setTimeSampling
void setTimeSampling(uint32_t iIndex)
Alembic::Abc::ALEMBIC_VERSION_NS::OArrayProperty::setFromPrevious
void setFromPrevious()
Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT::getPtr
PROP_PTR getPtr() const
Definition: OBaseProperty.h:162
Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT::reset
void reset()
Definition: OBaseProperty.h:166
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::set
void set(const sample_type &iVal)
Definition: OTypedArrayProperty.h:163
Alembic::Abc::ALEMBIC_VERSION_NS::TypedArraySample
Definition: TypedArraySample.h:52
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::CompoundPropertyWriterPtr
Alembic::Util::shared_ptr< CompoundPropertyWriter > CompoundPropertyWriterPtr
Definition: ForwardDeclarations.h:83
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::TimeSamplingPtr
Alembic::Util::shared_ptr< TimeSampling > TimeSamplingPtr
Definition: TimeSampling.h:137
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::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::Util::ALEMBIC_VERSION_NS::PODName
const char * PODName(PlainOldDataType pod)
Definition: PlainOldDataType.h:358
Alembic
Alembic namespace ...
Definition: ArchiveInfo.h:46