15 #ifndef __GA_PrimitiveFactory__
16 #define __GA_PrimitiveFactory__
51 unsigned non_factory_id_start,
int nentries_hint = 0,
52 bool isforprimarydetail =
true);
81 if (
id >= 0 &&
id < myList.size() && myList(
id))
87 static const ga_DSODefinitions &dsoDefinitions();
95 void getDefinitionIdRange(
unsigned &
first,
96 unsigned &last)
const;
109 myDetailIntrinsics.extractNames(names);
132 myFactory = src.myFactory;
139 if (atEnd() && src.
atEnd())
141 return myFactory == src.myFactory &&
142 myCurr == src.myCurr &&
146 {
return !(*
this ==
cmp); }
148 {
return myCurr >= myEnd; }
155 myFactory->getDefinitionIdRange(
165 for (myCurr++; myCurr < myEnd; ++myCurr)
168 if (myFactory->lookupDefinition(myCurr))
173 {
return myFactory->lookupDefinition(myCurr); }
181 unsigned int myCurr, myEnd;
189 {
return myIOTable.add(io); }
190 const GA_IO *
findIO(
const char *name)
const
191 {
return myIOTable.find(name); }
193 { myIOTable.getNames(names); }
199 {
return myDetailIntrinsics; }
201 {
return myDetailIntrinsics; }
208 unsigned int myNextId;
222 const bool myForPrimaryDetail;
GLuint const GLchar * name
GA_PrimitiveTypeId getFactoryTypeId(int id) const
Given a factory type id, return the corresponding GA_PrimitiveTypeId.
Manager to keep track of global handle to name mappings.
void getDetailIntrinsicNames(UT_StringArray &names) const
Container class to store GA_IO objects for a detail specialization.
bool operator!=(const iterator &cmp) const
GLuint const GLuint * names
iterator(const iterator &src)
iterator & operator=(const iterator &src)
bool isForPrimaryDetail() const
UT_ArrayStringMap< UT_StringHolder > ga_DSODefinitions
void getIONames(UT_StringArray &names) const
GLuint GLsizei GLsizei GLchar * label
const GA_PrimitiveDefinition * def() const
void(* GA_PrimitiveBlockConstructor)(GA_Primitive **new_prims, GA_Size nprimitives, GA_Detail &detail, GA_Offset start_offset, const GA_PrimitiveDefinition &def, bool allowed_to_parallelize)
int getPrimTypeCount() const
Container class for all geometry.
bool registerIO(GA_IO *io)
Definition of a geometric primitive.
const GA_IO * findIO(const char *name) const
bool operator==(const iterator &src) const
Class to traverse all primitive definitions in the factory.