/src/alembic/lib/Alembic/Abc/ISchema.h
Line | Count | Source |
1 | | //-***************************************************************************** |
2 | | // |
3 | | // Copyright (c) 2009-2011, |
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_Abc_ISchema_h |
38 | | #define Alembic_Abc_ISchema_h |
39 | | |
40 | | #include <Alembic/Abc/Foundation.h> |
41 | | #include <Alembic/Abc/OSchema.h> |
42 | | #include <Alembic/Abc/ICompoundProperty.h> |
43 | | |
44 | | namespace Alembic { |
45 | | namespace Abc { |
46 | | namespace ALEMBIC_VERSION_NS { |
47 | | |
48 | | //-***************************************************************************** |
49 | | //! See Schema Notes in OSchema.h |
50 | | //! ... |
51 | | //-***************************************************************************** |
52 | | |
53 | | //-***************************************************************************** |
54 | | //! Usually used as a base class, but could also theoretically be used |
55 | | //! as a standalone |
56 | | template <class INFO> |
57 | | class ISchema : public ICompoundProperty |
58 | | { |
59 | | public: |
60 | | //-************************************************************************* |
61 | | // TYPEDEFS AND IDENTIFIERS |
62 | | //-************************************************************************* |
63 | | typedef INFO info_type; |
64 | | typedef ISchema<INFO> this_type; |
65 | | |
66 | | //! Return the schema title expected of this |
67 | | //! property. An empty title matches everything |
68 | | static const char * getSchemaTitle() |
69 | 1.25k | { |
70 | 1.25k | return INFO::title(); |
71 | 1.25k | } Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::getSchemaTitle() Line | Count | Source | 69 | 210 | { | 70 | 210 | return INFO::title(); | 71 | 210 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::getSchemaTitle() Line | Count | Source | 69 | 210 | { | 70 | 210 | return INFO::title(); | 71 | 210 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::getSchemaTitle() Line | Count | Source | 69 | 210 | { | 70 | 210 | return INFO::title(); | 71 | 210 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::getSchemaTitle() Line | Count | Source | 69 | 210 | { | 70 | 210 | return INFO::title(); | 71 | 210 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::getSchemaTitle() Line | Count | Source | 69 | 213 | { | 70 | 213 | return INFO::title(); | 71 | 213 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::getSchemaTitle() Line | Count | Source | 69 | 201 | { | 70 | 201 | return INFO::title(); | 71 | 201 | } |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::GeomBaseSchemaInfo>::getSchemaTitle() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CameraSchemaInfo>::getSchemaTitle() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::LightSchemaInfo>::getSchemaTitle() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::NuPatchSchemaInfo>::getSchemaTitle() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PointsSchemaInfo>::getSchemaTitle() |
72 | | |
73 | | //! Return the default name for instances of this schema. Often |
74 | | //! something like ".geom" |
75 | | static const char * getDefaultSchemaName() |
76 | 834 | { |
77 | 834 | return INFO::defaultName(); |
78 | 834 | } Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::getDefaultSchemaName() Line | Count | Source | 76 | 140 | { | 77 | 140 | return INFO::defaultName(); | 78 | 140 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::getDefaultSchemaName() Line | Count | Source | 76 | 140 | { | 77 | 140 | return INFO::defaultName(); | 78 | 140 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::getDefaultSchemaName() Line | Count | Source | 76 | 140 | { | 77 | 140 | return INFO::defaultName(); | 78 | 140 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::getDefaultSchemaName() Line | Count | Source | 76 | 140 | { | 77 | 140 | return INFO::defaultName(); | 78 | 140 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::getDefaultSchemaName() Line | Count | Source | 76 | 140 | { | 77 | 140 | return INFO::defaultName(); | 78 | 140 | } |
Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::getDefaultSchemaName() Line | Count | Source | 76 | 134 | { | 77 | 134 | return INFO::defaultName(); | 78 | 134 | } |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::GeomBaseSchemaInfo>::getDefaultSchemaName() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CameraSchemaInfo>::getDefaultSchemaName() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::LightSchemaInfo>::getDefaultSchemaName() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::NuPatchSchemaInfo>::getDefaultSchemaName() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PointsSchemaInfo>::getDefaultSchemaName() |
79 | | |
80 | | //! This will check whether or not a given entity (as represented by |
81 | | //! a metadata) strictly matches the interpretation of this |
82 | | //! schema object |
83 | | static bool matches( const AbcA::MetaData &iMetaData, |
84 | | SchemaInterpMatching iMatching = kStrictMatching ) |
85 | 3 | { |
86 | 3 | if ( std::string() == getSchemaTitle() || iMatching == kNoMatching ) |
87 | 3 | { return true; } |
88 | | |
89 | 0 | if ( iMatching == kStrictMatching || iMatching == kSchemaTitleMatching ) |
90 | 0 | { |
91 | 0 | return iMetaData.get( "schema" ) == getSchemaTitle(); |
92 | 0 | } |
93 | | |
94 | 0 | return false; |
95 | 0 | } Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Line | Count | Source | 85 | 3 | { | 86 | 3 | if ( std::string() == getSchemaTitle() || iMatching == kNoMatching ) | 87 | 3 | { return true; } | 88 | | | 89 | 0 | if ( iMatching == kStrictMatching || iMatching == kSchemaTitleMatching ) | 90 | 0 | { | 91 | 0 | return iMetaData.get( "schema" ) == getSchemaTitle(); | 92 | 0 | } | 93 | | | 94 | 0 | return false; | 95 | 0 | } |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::GeomBaseSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CameraSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::LightSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::NuPatchSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PointsSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::MetaData const&, Alembic::Abc::v12::SchemaInterpMatching) |
96 | | |
97 | | //! This will check whether or not a given object (as represented by |
98 | | //! an object header) strictly matches the interpretation of this |
99 | | //! schema object, as well as the data type. |
100 | | static bool matches( const AbcA::PropertyHeader &iHeader, |
101 | | SchemaInterpMatching iMatching = kStrictMatching ) |
102 | 3 | { |
103 | 3 | return matches( iHeader.getMetaData(), iMatching ); |
104 | 3 | } Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Line | Count | Source | 102 | 3 | { | 103 | 3 | return matches( iHeader.getMetaData(), iMatching ); | 104 | 3 | } |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::GeomBaseSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CameraSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::LightSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::NuPatchSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PointsSchemaInfo>::matches(Alembic::AbcCoreAbstract::v12::PropertyHeader const&, Alembic::Abc::v12::SchemaInterpMatching) |
105 | | |
106 | | //-************************************************************************* |
107 | | // CONSTRUCTION, DESTRUCTION, ASSIGNMENT |
108 | | //-************************************************************************* |
109 | | |
110 | | //! The default constructor creates an empty ISchema |
111 | | //! function set. |
112 | 3 | ISchema() {} Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::ISchema() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::ISchema() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::ISchema() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::ISchema() Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::ISchema() Line | Count | Source | 112 | 3 | ISchema() {} |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::ISchema() |
113 | | |
114 | | //! Creates a new Compound Property Reader with the schema |
115 | | //! information added to the metadata. |
116 | | //! arguments count include error handling, strictness matching. |
117 | | ISchema( const ICompoundProperty &iParent, |
118 | | const std::string &iName, |
119 | | const Argument &iArg0 = Argument(), |
120 | | const Argument &iArg1 = Argument() ) |
121 | 3 | { |
122 | 3 | init( iParent, iName, iArg0, iArg1 ); |
123 | 3 | } Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::ISchema(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::ISchema(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::ISchema(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::ISchema(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::ISchema(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Line | Count | Source | 121 | 3 | { | 122 | 3 | init( iParent, iName, iArg0, iArg1 ); | 123 | 3 | } |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::ISchema(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) |
124 | | |
125 | | //! Wrap an existing compound property, checking that it matches |
126 | | //! the schema title info, if strict matching has been selected. |
127 | | //! Arguments allow selection of error handling and matching strictness |
128 | | ISchema( const ICompoundProperty &iProperty, |
129 | | const Argument &iArg0 = Argument(), |
130 | | const Argument &iArg1 = Argument() ) |
131 | | : ICompoundProperty( iProperty.getPtr(), |
132 | | GetErrorHandlerPolicy( iProperty, iArg0, iArg1 ) ) |
133 | | { |
134 | | ALEMBIC_ABC_SAFE_CALL_BEGIN( "ISchema::ISchema( wrap )" ); |
135 | | |
136 | | const AbcA::PropertyHeader &pheader = this->getHeader(); |
137 | | |
138 | | ABCA_ASSERT( matches( pheader, |
139 | | GetSchemaInterpMatching( iArg0, iArg1 ) ), |
140 | | "Incorrect match of schema: " |
141 | | << pheader.getMetaData().get( "schema" ) |
142 | | << " to expected: " |
143 | | << INFO::title() ); |
144 | | |
145 | | // not wrapped, we want to use the default name |
146 | | if ( !iProperty.getParent().valid() ) |
147 | | { |
148 | | init( iProperty, getDefaultSchemaName(), |
149 | | iArg0, iArg1 ); |
150 | | } |
151 | | |
152 | | ALEMBIC_ABC_SAFE_CALL_END_RESET(); |
153 | | } |
154 | | |
155 | | // Deprecated in favor of the constructor above |
156 | | ISchema( const ICompoundProperty &iProperty, |
157 | | WrapExistingFlag iFlag, |
158 | | const Argument &iArg0 = Argument(), |
159 | | const Argument &iArg1 = Argument() ) |
160 | | { |
161 | | *this = ISchema( iProperty, iArg0, iArg1 ); |
162 | | } |
163 | | |
164 | | //! Default copy constructor used |
165 | | //! Default assignment operator used. |
166 | | // |
167 | 6 | virtual ~ISchema() {} Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::~ISchema() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::~ISchema() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::~ISchema() Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::~ISchema() Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::~ISchema() Line | Count | Source | 167 | 6 | virtual ~ISchema() {} |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::~ISchema() |
168 | | |
169 | | private: |
170 | | void init( const ICompoundProperty & iParentObject, |
171 | | const std::string &iName, |
172 | | const Argument &iArg0, |
173 | | const Argument &iArg1 ); |
174 | | }; |
175 | | |
176 | | //-***************************************************************************** |
177 | | // TEMPLATE AND INLINE FUNCTIONS |
178 | | //-***************************************************************************** |
179 | | template <class INFO> |
180 | | void ISchema<INFO>::init( const ICompoundProperty & iParent, |
181 | | const std::string &iName, |
182 | | const Argument &iArg0, |
183 | | const Argument &iArg1 ) |
184 | 3 | { |
185 | 3 | Arguments args; |
186 | 3 | iArg0.setInto( args ); |
187 | 3 | iArg1.setInto( args ); |
188 | | |
189 | 3 | getErrorHandler().setPolicy( args.getErrorHandlerPolicy() ); |
190 | | |
191 | 6 | ALEMBIC_ABC_SAFE_CALL_BEGIN( "ISchema::ISchema::init()" ); |
192 | | |
193 | | // Get actual reader for parent. |
194 | 6 | ABCA_ASSERT( iParent, |
195 | 6 | "NULL parent passed into ISchema ctor" ); |
196 | 3 | AbcA::CompoundPropertyReaderPtr parent = iParent.getPtr(); |
197 | 3 | ABCA_ASSERT( parent, "NULL CompoundPropertyReaderPtr" ); |
198 | | |
199 | 3 | const AbcA::PropertyHeader *pheader = parent->getPropertyHeader( iName ); |
200 | | |
201 | 3 | ABCA_ASSERT( pheader != NULL, |
202 | 3 | "Nonexistent compound property: " << iName ); |
203 | | |
204 | | // Check metadata for schema. |
205 | 3 | ABCA_ASSERT( matches( *pheader, args.getSchemaInterpMatching() ), |
206 | | |
207 | 3 | "Incorrect match of schema: " |
208 | 3 | << pheader->getMetaData().get( "schema" ) |
209 | 3 | << " to expected: " |
210 | 3 | << INFO::title() ); |
211 | | |
212 | | // Get property. |
213 | 3 | m_property = parent->getCompoundProperty( iName ); |
214 | | |
215 | 3 | ALEMBIC_ABC_SAFE_CALL_END_RESET(); |
216 | 3 | } Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PolyMeshSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::SubDSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::FaceSetSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CurvesSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::XformSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Line | Count | Source | 184 | 3 | { | 185 | 3 | Arguments args; | 186 | 3 | iArg0.setInto( args ); | 187 | 3 | iArg1.setInto( args ); | 188 | | | 189 | 3 | getErrorHandler().setPolicy( args.getErrorHandlerPolicy() ); | 190 | | | 191 | 6 | ALEMBIC_ABC_SAFE_CALL_BEGIN( "ISchema::ISchema::init()" ); | 192 | | | 193 | | // Get actual reader for parent. | 194 | 6 | ABCA_ASSERT( iParent, | 195 | 6 | "NULL parent passed into ISchema ctor" ); | 196 | 3 | AbcA::CompoundPropertyReaderPtr parent = iParent.getPtr(); | 197 | 3 | ABCA_ASSERT( parent, "NULL CompoundPropertyReaderPtr" ); | 198 | | | 199 | 3 | const AbcA::PropertyHeader *pheader = parent->getPropertyHeader( iName ); | 200 | | | 201 | 3 | ABCA_ASSERT( pheader != NULL, | 202 | 3 | "Nonexistent compound property: " << iName ); | 203 | | | 204 | | // Check metadata for schema. | 205 | 3 | ABCA_ASSERT( matches( *pheader, args.getSchemaInterpMatching() ), | 206 | | | 207 | 3 | "Incorrect match of schema: " | 208 | 3 | << pheader->getMetaData().get( "schema" ) | 209 | 3 | << " to expected: " | 210 | 3 | << INFO::title() ); | 211 | | | 212 | | // Get property. | 213 | 3 | m_property = parent->getCompoundProperty( iName ); | 214 | | | 215 | 3 | ALEMBIC_ABC_SAFE_CALL_END_RESET(); | 216 | 3 | } |
Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcMaterial::v12::MaterialSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::GeomBaseSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::CameraSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::LightSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::NuPatchSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) Unexecuted instantiation: Alembic::Abc::v12::ISchema<Alembic::AbcGeom::v12::PointsSchemaInfo>::init(Alembic::Abc::v12::ICompoundProperty const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Alembic::Abc::v12::Argument const&, Alembic::Abc::v12::Argument const&) |
217 | | |
218 | | } // End namespace ALEMBIC_VERSION_NS |
219 | | |
220 | | using namespace ALEMBIC_VERSION_NS; |
221 | | |
222 | | } // End namespace Abc |
223 | | } // End namespace Alembic |
224 | | |
225 | | #endif |