本文整理匯總了C++中ALEMBIC_ABC_SAFE_CALL_END函數的典型用法代碼示例。如果您正苦於以下問題:C++ ALEMBIC_ABC_SAFE_CALL_END函數的具體用法?C++ ALEMBIC_ABC_SAFE_CALL_END怎麽用?C++ ALEMBIC_ABC_SAFE_CALL_END使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了ALEMBIC_ABC_SAFE_CALL_END函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
Abc::OCompoundProperty OMaterialSchema::getShaderParameters(
const std::string & iTarget,
const std::string & iShaderType )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "OMaterialSchema::getShaderParameters" );
Util::validateName( iTarget, "target" );
Util::validateName( iShaderType, "shaderType" );
std::string propertyName = Util::buildTargetName(
iTarget, iShaderType, "params" );
Data::NodeMap::iterator i = m_data->nodes.find( propertyName );
if ( i != m_data->nodes.end() )
{
return i->second.params;
}
Data::Node n;
n.params = Abc::OCompoundProperty( this->getPtr(), propertyName );
m_data->nodes[propertyName] = n;
return n.params;
ALEMBIC_ABC_SAFE_CALL_END();
return Abc::OCompoundProperty();
}
示例2: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
MeshTopologyVariance ISubDSchema::getTopologyVariance() const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "ISubDSchema::getTopologyVariance()" );
if ( m_faceIndicesProperty.isConstant() && m_faceCountsProperty.isConstant() )
{
if ( m_positionsProperty.isConstant() )
{
return kConstantTopology;
}
else
{
return kHomogenousTopology;
}
}
else
{
return kHeterogenousTopology;
}
ALEMBIC_ABC_SAFE_CALL_END();
// Not all error handlers throw
return kConstantTopology;
}
示例3: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void OPolyMeshSchema::setTimeSampling( uint32_t iIndex )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OPolyMeshSchema::setTimeSampling( uint32_t )" );
m_positionsProperty.setTimeSampling( iIndex );
m_indicesProperty.setTimeSampling( iIndex );
m_countsProperty.setTimeSampling( iIndex );
m_selfBoundsProperty.setTimeSampling( iIndex );
if ( m_velocitiesProperty )
{
m_velocitiesProperty.setTimeSampling( iIndex );
}
if ( m_uvsParam )
{
m_uvsParam.setTimeSampling( iIndex );
}
if ( m_normalsParam )
{
m_normalsParam.setTimeSampling( iIndex );
}
ALEMBIC_ABC_SAFE_CALL_END();
}
示例4: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
IFaceSet
IPolyMeshSchema::getFaceSet ( const std::string &iFaceSetName )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "IPolyMeshSchema::getFaceSet()" );
boost::mutex::scoped_lock l(m_faceSetsMutex);
if (!m_faceSetsLoaded)
{
loadFaceSetNames();
}
ABCA_ASSERT( m_faceSets.find (iFaceSetName) != m_faceSets.end (),
"The requested FaceSet name can't be found in PolyMesh.");
if (!m_faceSets [iFaceSetName])
{
// We haven't yet loaded the faceSet, so create/load it
m_faceSets [iFaceSetName] = IFaceSet ( this->getParent().getObject(),
iFaceSetName );
}
return m_faceSets [iFaceSetName];
ALEMBIC_ABC_SAFE_CALL_END();
IFaceSet emptyFaceSet;
return emptyFaceSet;
}
示例5: ALEMBIC_ABC_SAFE_CALL_BEGIN
Abc::OStringArrayProperty
OCollectionsSchema::createCollection( const std::string &iName,
const Abc::Argument &iArg0,
const Abc::Argument &iArg1,
const Abc::Argument &iArg2 )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "OCollectionsSchema::createCollection" );
Abc::OStringArrayProperty prop = getCollection( iName );
if ( prop.valid() )
return prop;
prop = Abc::OStringArrayProperty( this->getPtr(), iName,
iArg0, iArg1, iArg2 );
if ( prop.valid() )
{
m_collections.push_back( prop );
return prop;
}
ALEMBIC_ABC_SAFE_CALL_END();
return Abc::OStringArrayProperty();
}
示例6: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void ICurvesSchema::get( ICurvesSchema::Sample &oSample,
const Abc::ISampleSelector &iSS ) const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "ICurvesSchema::get()" );
if ( ! valid() ) { return; }
m_positionsProperty.get( oSample.m_positions, iSS );
m_nVerticesProperty.get( oSample.m_nVertices, iSS );
Alembic::Util::uint8_t basisAndType[4];
m_basisAndTypeProperty.get( basisAndType, iSS );
oSample.m_type = static_cast<CurveType>( basisAndType[0] );
oSample.m_wrap = static_cast<CurvePeriodicity>( basisAndType[1] );
oSample.m_basis = static_cast<BasisType>( basisAndType[2] );
// we ignore basisAndType[3] since it is the same as basisAndType[2]
if ( m_selfBoundsProperty )
{
m_selfBoundsProperty.get( oSample.m_selfBounds, iSS );
}
if ( m_velocitiesProperty && m_velocitiesProperty.getNumSamples() > 0 )
{
m_velocitiesProperty.get( oSample.m_velocities, iSS );
}
ALEMBIC_ABC_SAFE_CALL_END();
}
示例7: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
MeshTopologyVariance INuPatchSchema::getTopologyVariance() const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "INuPatch::getTopologyVariance()" );
bool pointsConstant = m_positionsProperty.isConstant() &&
( !m_positionWeightsProperty ||
m_positionWeightsProperty.isConstant() );
bool uvConstant = ( m_uOrderProperty.isConstant() &&
m_vOrderProperty.isConstant() && m_uKnotProperty.isConstant() &&
m_vKnotProperty.isConstant() );
// check for constant topology.
// if the surface has trim curves, we must also check those of topology
// variance.
if ( pointsConstant && uvConstant )
{
if ( this -> hasTrimCurve() )
{
if ( this -> trimCurveTopologyIsConstant() )
{
return kConstantTopology;
}
else if ( this -> trimCurveTopologyIsHomogenous() )
{
return kHomogenousTopology;
}
else
{
return kHeterogenousTopology;
}
}
return kConstantTopology;
}
// points are animated
else if ( uvConstant )
{
if ( this -> hasTrimCurve() )
{
if ( this -> trimCurveTopologyIsHomogenous() )
{
return kHomogenousTopology;
}
else
{
return kHeterogenousTopology;
}
}
return kHomogenousTopology;
}
ALEMBIC_ABC_SAFE_CALL_END();
return kHeterogenousTopology;
}
示例8: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void OLightSchema::setFromPrevious()
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "OLightSchema::setFromPrevious" );
if ( m_cameraSchema )
m_cameraSchema.setFromPrevious();
ALEMBIC_ABC_SAFE_CALL_END();
}
示例9: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void OCameraSchema::setTimeSampling( uint32_t iIndex )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OCameraSchema::setTimeSampling( uint32_t )" );
m_coreProperties.setTimeSampling( iIndex );
ALEMBIC_ABC_SAFE_CALL_END();
}
示例10: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void IFaceSetSchema::get( IFaceSetSchema::Sample &oSample,
const Abc::ISampleSelector &iSS ) const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "IFaceSetSchema::get()" );
m_facesProperty.get( oSample.m_faces, iSS );
ALEMBIC_ABC_SAFE_CALL_END();
}
示例11: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void ISubDSchema::get( ISubDSchema::Sample &oSample,
const Abc::ISampleSelector &iSS )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "ISubDSchema::get()" );
m_positionsProperty.get( oSample.m_positions, iSS );
m_faceIndicesProperty.get( oSample.m_faceIndices, iSS );
m_faceCountsProperty.get( oSample.m_faceCounts, iSS );
m_faceVaryingInterpolateBoundaryProperty.get(
oSample.m_faceVaryingInterpolateBoundary, iSS );
m_faceVaryingPropagateCornersProperty.get(
oSample.m_faceVaryingPropagateCorners, iSS );
m_interpolateBoundaryProperty.get( oSample.m_interpolateBoundary, iSS );
m_selfBoundsProperty.get( oSample.m_selfBounds, iSS );
if ( m_creaseIndicesProperty )
{
m_creaseIndicesProperty.get( oSample.m_creaseIndices, iSS );
}
if ( m_creaseLengthsProperty )
{
m_creaseLengthsProperty.get( oSample.m_creaseLengths, iSS );
}
if ( m_creaseSharpnessesProperty )
{
m_creaseSharpnessesProperty.get( oSample.m_creaseSharpnesses, iSS );
}
if ( m_cornerIndicesProperty )
{
m_cornerIndicesProperty.get( oSample.m_cornerIndices, iSS );
}
if ( m_cornerSharpnessesProperty )
{
m_cornerSharpnessesProperty.get( oSample.m_cornerSharpnesses, iSS );
}
if ( m_holesProperty )
{
m_holesProperty.get( oSample.m_holes, iSS );
}
m_subdSchemeProperty.get( oSample.m_subdScheme, iSS );
if ( m_childBoundsProperty && m_childBoundsProperty.getNumSamples() > 0 )
{
m_childBoundsProperty.get( oSample.m_childBounds, iSS );
}
ALEMBIC_ABC_SAFE_CALL_END();
}
示例12: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void IScalarProperty::get( void *oSamp, const ISampleSelector &iSS ) const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "IScalarProperty::get()" );
AbcA::index_t index = iSS.getIndex( m_property->getTimeSampling(),
m_property->getNumSamples() );
m_property->getSample( index, oSamp );
ALEMBIC_ABC_SAFE_CALL_END();
}
示例13: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
void OFaceSetSchema::setTimeSampling( uint32_t iTimeSamplingID )
{
ALEMBIC_ABC_SAFE_CALL_BEGIN(
"OFaceSetSchema::setTimeSampling( uint32_t iTimeSamplingID )" );
m_facesProperty.setTimeSampling( iTimeSamplingID );
m_selfBoundsProperty.setTimeSampling( iTimeSamplingID );
ALEMBIC_ABC_SAFE_CALL_END();
}
示例14: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
size_t ICompoundProperty::getNumProperties() const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "ICompoundProperty::getNumProperties()" );
return m_property->getNumProperties();
ALEMBIC_ABC_SAFE_CALL_END();
// Not all error handlers throw, have a default.
return 0;
}
示例15: ALEMBIC_ABC_SAFE_CALL_BEGIN
//-*****************************************************************************
AbcA::TimeSamplingPtr IArrayProperty::getTimeSampling() const
{
ALEMBIC_ABC_SAFE_CALL_BEGIN( "IArrayProperty::getTimeSampling()" );
return m_property->getTimeSampling();
ALEMBIC_ABC_SAFE_CALL_END();
// Not all error handlers throw, so return a default.
return AbcA::TimeSamplingPtr();
}