11 #ifndef __GA_AIFFileH9__
12 #define __GA_AIFFileH9__
69 ATTRIB_INFO_INDEX_PAIR = 1,
80 : myType(ATTRIB_MIXED), myTypeInfo(ATTRIB_INFO_NONE),
81 myTupleSize(0), myComponent(0), myTupleAIF(0),
82 myStringTupleAIF(0), myIndexPairAIF(0)
86 myTypeInfo(src.myTypeInfo),
87 myTupleSize(src.myTupleSize),
88 myStringMap(src.myStringMap),
89 myComponent(src.myComponent),
90 myTupleAIF(src.myTupleAIF),
91 myStringTupleAIF(src.myStringTupleAIF),
92 myIndexPairAIF(src.myIndexPairAIF)
98 : myType(type), myTypeInfo(type_info), myTupleSize(tuple_size),
99 myComponent(component), myTupleAIF(tuple),
100 myStringTupleAIF(sindex), myIndexPairAIF(ipair)
105 myTypeInfo = src.myTypeInfo;
106 myTupleSize = src.myTupleSize;
107 myStringMap = src.myStringMap;
108 myComponent = src.myComponent;
109 myTupleAIF = src.myTupleAIF;
110 myStringTupleAIF = src.myStringTupleAIF;
111 myIndexPairAIF = src.myIndexPairAIF;
123 {
return myTupleAIF; }
125 {
return myStringTupleAIF; }
127 {
return myIndexPairAIF; }
146 : myType(ATTRIB_MIXED), myTypeInfo(ATTRIB_INFO_NONE),
147 myTupleSize(0), myTupleAIF(0), myStringTupleAIF(0),
151 : myType(src.myType),
152 myTypeInfo(src.myTypeInfo),
153 myTupleSize(src.myTupleSize),
154 myStringMap(src.myStringMap),
155 myTupleAIF(src.myTupleAIF),
156 myStringTupleAIF(src.myStringTupleAIF),
157 myIndexPairAIF(src.myIndexPairAIF)
163 : myType(type), myTypeInfo(type_info), myTupleSize(tuple_size),
164 myTupleAIF(tuple), myStringTupleAIF(sindex),
165 myIndexPairAIF(ipair)
177 {
return myTupleAIF; }
179 {
return myStringTupleAIF; }
181 {
return myIndexPairAIF; }
185 myTypeInfo = src.myTypeInfo;
186 myTupleSize = src.myTupleSize;
187 myStringMap = src.myStringMap;
188 myTupleAIF = src.myTupleAIF;
189 myStringTupleAIF = src.myStringTupleAIF;
190 myIndexPairAIF = src.myIndexPairAIF;
205 virtual SaveInfo getSaveInfo(
const GA_Attribute *attrib,
int component=0)
const;
213 const SaveInfo &info, std::ostream &os,
230 std::ostream &os,
bool binary)
const;
233 virtual LoadInfo getLoadInfo(
const GA_Attribute *attrib,
235 int tuple_size)
const;
244 const LoadInfo &info)
const;
247 static bool skipData(
UT_IStream &is,
const LoadInfo &info);
251 static Definition getDefinition();
255 const SaveInfo &info,
257 bool binary,
char lead_ch =
' ')
269 : myName(src.myName, 1),
270 myAttrib(src.myAttrib),
271 myFileAIF(src.myFileAIF),
272 myIndexPairAIF(src.myIndexPairAIF),
273 myIndex(src.myIndex),
278 : myName(name, 1), myAttrib(attrib), myFileAIF(aif), myIndexPairAIF(0), myIndex(), mySet(0), myInfo(aif->getSaveInfo(attrib, component))
284 myName.harden(src.myName);
285 myAttrib = src.myAttrib;
286 myFileAIF = src.myFileAIF;
287 myIndexPairAIF = src.myIndexPairAIF;
288 myIndex = src.myIndex;
295 const char *
getName()
const {
return myName; }
326 : myAttrib(src.myAttrib),
327 myFileAIF(src.myFileAIF),
332 : myAttrib(attrib), myFileAIF(aif), myInfo(info)
339 myAttrib = src.myAttrib;
340 myFileAIF = src.myFileAIF;
AttribType getType() const
GA_Attribute * getAttribute() const
Definition of a geometry attribute.
Class used to cache information during the H9 save process.
Generic Attribute Interface class to get/set data as index pairs.
SaveInfo(const SaveInfo &src)
const GA_AIFIndexPair * getIndexPairAIF() const
Class which stores the default values for a GA_Attribute.
const GA_AIFSharedStringTuple * getStringTupleAIF() const
AttribTypeInfo getTypeInfo() const
GA_AIFDefinition< GA_AIFFileH9 > Definition
UT_IntArray & getStringMap()
const GLuint GLenum const void * binary
UT_IntArray & getStringMap()
GA_AttribSaveDataH9 & operator=(const GA_AttribSaveDataH9 &src)
const GA_AIFTuple * getTupleAIF() const
const GA_AIFIndexPair * getIndexPairAIF() const
GA_AIFFileH9::SaveInfo SaveInfo
LoadInfo(const LoadInfo &src)
Class used to map H9 geometry files to a form used by GA.
const GA_AIFSharedStringTuple * getStringTupleAIF() const
const UT_IntArray & getStringMap() const
AttribTypeInfo getTypeInfo() const
const SaveInfo & getInfo() const
LoadInfo(AttribType type, AttribTypeInfo type_info, int tuple_size, const GA_AIFTuple *tuple, const GA_AIFSharedStringTuple *sindex, const GA_AIFIndexPair *ipair)
A common base class for all client-registered AIF classes.
GA_AttribSaveDataH9(const GA_AttribSaveDataH9 &src)
GA_AttribLoadDataH9(GA_Attribute *attrib, const GA_AIFFileH9 *aif, const LoadInfo &info)
GA_AttribLoadDataH9(const GA_AttribLoadDataH9 &src)
GA_AIFFileH9::LoadInfo LoadInfo
const LoadInfo & getInfo() const
GLuint const GLchar * name
AttribType getType() const
GA_AttribSaveDataH9(const GA_Attribute *attrib, const GA_AIFFileH9 *aif, const char *name, int component=0)
Attribute Interface for file I/O.
AttribType
Data types stored in Houdini 9 data files.
const GA_AIFTuple * getTupleAIF() const
const char * getName() const
Class to allow custom AIF interfaces to be built.
A specialization of GA_AIFStringTuple to access "shared strings".
UT_IntArray & getStringMap()
Class used to map the GA attribute into a form for H9 geometry files.
const UT_IntArray & getStringMap() const
AttribTypeInfo
Attribute type modifiers stored in Houdini 9 data files.
Class used to cache information during the H9 save process.
SaveInfo(AttribType type, AttribTypeInfo type_info, int tuple_size, const GA_AIFTuple *tuple, const GA_AIFSharedStringTuple *sindex, const GA_AIFIndexPair *ipair, int component)
LoadInfo & operator=(const LoadInfo &src)
Generic Attribute Interface class to access an attribute as a tuple.
GA_AttribLoadDataH9 & operator=(const GA_AttribLoadDataH9 &src)
const GA_AIFFileH9 * getFileAIF() const
SaveInfo & operator=(const SaveInfo &src)