11 #ifndef __GA_AIFFileH9__
12 #define __GA_AIFFileH9__
68 ATTRIB_INFO_INDEX_PAIR = 1,
79 : myType(ATTRIB_MIXED), myTypeInfo(ATTRIB_INFO_NONE),
80 myTupleSize(0), myComponent(0), myTupleAIF(0),
81 myStringTupleAIF(0), myIndexPairAIF(0)
85 myTypeInfo(src.myTypeInfo),
86 myTupleSize(src.myTupleSize),
87 myStringMap(src.myStringMap),
88 myComponent(src.myComponent),
89 myTupleAIF(src.myTupleAIF),
90 myStringTupleAIF(src.myStringTupleAIF),
91 myIndexPairAIF(src.myIndexPairAIF)
97 : myType(type), myTypeInfo(type_info), myTupleSize(tuple_size),
98 myComponent(component), myTupleAIF(tuple),
99 myStringTupleAIF(sindex), myIndexPairAIF(ipair)
104 myTypeInfo = src.myTypeInfo;
105 myTupleSize = src.myTupleSize;
106 myStringMap = src.myStringMap;
107 myComponent = src.myComponent;
108 myTupleAIF = src.myTupleAIF;
109 myStringTupleAIF = src.myStringTupleAIF;
110 myIndexPairAIF = src.myIndexPairAIF;
122 {
return myTupleAIF; }
124 {
return myStringTupleAIF; }
126 {
return myIndexPairAIF; }
145 : myType(ATTRIB_MIXED), myTypeInfo(ATTRIB_INFO_NONE),
146 myTupleSize(0), myTupleAIF(0), myStringTupleAIF(0),
150 : myType(src.myType),
151 myTypeInfo(src.myTypeInfo),
152 myTupleSize(src.myTupleSize),
153 myStringMap(src.myStringMap),
154 myTupleAIF(src.myTupleAIF),
155 myStringTupleAIF(src.myStringTupleAIF),
156 myIndexPairAIF(src.myIndexPairAIF)
162 : myType(type), myTypeInfo(type_info), myTupleSize(tuple_size),
163 myTupleAIF(tuple), myStringTupleAIF(sindex),
164 myIndexPairAIF(ipair)
176 {
return myTupleAIF; }
178 {
return myStringTupleAIF; }
180 {
return myIndexPairAIF; }
184 myTypeInfo = src.myTypeInfo;
185 myTupleSize = src.myTupleSize;
186 myStringMap = src.myStringMap;
187 myTupleAIF = src.myTupleAIF;
188 myStringTupleAIF = src.myStringTupleAIF;
189 myIndexPairAIF = src.myIndexPairAIF;
204 virtual SaveInfo getSaveInfo(
const GA_Attribute *attrib,
int component=0)
const;
212 const SaveInfo &info, std::ostream &os,
229 std::ostream &os,
bool binary)
const;
232 virtual LoadInfo getLoadInfo(
const GA_Attribute *attrib,
234 int tuple_size)
const;
243 const LoadInfo &info)
const;
246 static bool skipData(
UT_IStream &is,
const LoadInfo &info);
250 static Definition getDefinition();
254 const SaveInfo &info,
256 bool binary,
char lead_ch =
' ')
268 : myName(src.myName, 1),
269 myAttrib(src.myAttrib),
270 myFileAIF(src.myFileAIF),
271 myIndexPairAIF(src.myIndexPairAIF),
272 myIndex(src.myIndex),
277 : myName(name, 1), myAttrib(attrib), myFileAIF(aif), myIndexPairAIF(0), myIndex(), mySet(0), myInfo(aif->getSaveInfo(attrib, component))
283 myName.harden(src.myName);
284 myAttrib = src.myAttrib;
285 myFileAIF = src.myFileAIF;
286 myIndexPairAIF = src.myIndexPairAIF;
287 myIndex = src.myIndex;
294 const char *
getName()
const {
return myName; }
325 : myAttrib(src.myAttrib),
326 myFileAIF(src.myFileAIF),
331 : myAttrib(attrib), myFileAIF(aif), myInfo(info)
338 myAttrib = src.myAttrib;
339 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
GLuint const GLchar * name
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.
GLint GLint GLsizei GLint GLenum GLenum type
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
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)