74 const char *
name) = 0;
81 { callbackConst(data, name); }
90 #define SIM_DATA_RETURN_EXISTING 0x01
100 #define SIM_DATA_CREATE_UNIQUE_NAME 0x02
110 #define SIM_DATA_ADOPT_EXISTING_ON_DELETE 0x04
175 void interpolate(
const SIM_Data *source1,
180 int64 getMemorySize()
const;
185 bool getIsAlternateRepresentation()
const;
190 bool saveToFile(
const char *
filename,
192 bool saveToStream(std::ostream &os,
200 void appendFullDataPath(
const SIM_Data *subdata,
bool useobjectid,
206 bool loadFromFile(
const char *filename);
209 bool loadFromStream(
UT_IStream &is,
bool skiptype=
false);
215 static bool getDataTypeFromFile(
const char *filename,
217 static bool getDataTypeFromStream(
UT_IStream &is,
229 const void *getConstPointerToType(
const UT_StringRef &datatype)
const;
238 static const void *castConstPointerToType(
const SIM_Data *
data,
242 static void *castPointerToType(
SIM_Data *data,
246 int getNumSubData()
const;
251 int getSubDataIndex(
const SIM_Data *subdata)
const;
271 long getGuideParmVersion()
const;
279 virtual bool getGuideGeometryList(
281 const char *datapath,
288 const char *datapath,
301 const SIM_Data *getConstSubData(
int index)
const;
305 SIM_Data *getNamedSubData(
const char *dataname);
309 const SIM_Data *getConstNamedSubData(
const char *dataname)
const;
325 const char *startfrom,
339 const char *startfrom,
354 const char *startfrom,
367 const char *startfrom,
378 const char *startfrom,
387 const char *startfrom,
395 SIM_Data *createNamedSubData(
const char *dataname,
396 const char *datatype,
405 SIM_Data *getOrCreateAlternateRepresentation(
406 const char *dataname,
407 const char *datatype)
const;
412 void interpolateSubData(
const SIM_Data &source1,
422 void setNamedSubData(
const char *dataname,
431 void createUniqueSubDataName(
const SIM_Data *subdata,
435 void removeNamedSubData(
const char *dataname);
437 void removeSubData(
int index);
440 void moveNamedSubData(
const char *oldname,
441 const char *newname);
445 const UT_Guid &getUniqueId()
const;
448 long getReferenceCount()
const;
450 int getCreatorId()
const;
452 OP_Node *getCreatorNode()
const;
454 OP_Node *getOwnerNetwork()
const;
457 {
return myFactory->getEngine(); }
459 int getCreatorIndex()
const;
461 const SIM_Time &getCreationTime()
const;
464 bool getIsSelected()
const;
467 void setIsSelected(
bool selected)
const;
471 bool getSelectionRepresentsObject()
const;
477 void copyCreationInfoFrom(
const SIM_Data *source);
482 OP_Node &getNodePathsRelativeTo()
const;
484 OP_Node *getOPNode(
const char *
path,
bool addinterest)
const;
486 OBJ_Node *getOBJNode(
const char *
path,
bool addinterest)
const;
488 SOP_Node *getSOPNode(
const char *
path,
bool addinterest)
const;
490 DOP_Node *getDOPNode(
const char *
path,
bool addinterest)
const;
492 COP2_Node *getCOP2Node(
const char *
path,
bool addinterest)
const;
494 CHOP_Node *getCHOPNode(
const char *
path,
bool addinterest)
const;
496 void addOPInterest(
OP_Node *node)
const;
501 const char *errorparm,
524 void handleModification(
int code = -1);
531 void setNeedsToRecalculateMemorySize()
const;
534 void deleteQueryObjectIfNotBuilding()
const;
537 void deleteGuideObjectIfNotBuilding()
const;
543 void initAlternateRepresentation()
const;
546 void setNeedsInitialization(
bool needsinit)
const;
548 bool getNeedsInitialization()
const;
553 bool saveOptionPacket(std::ostream &os,
const char *
name,
563 bool getIsDoingSimplifiedSaveLoad()
const;
570 void initializeFromParmDefaults();
574 void setSelectionRepresentsObject(
bool representsobject);
578 virtual void setNeedsInitializationSubclass(
bool needsinit)
const;
583 virtual void initializeSubclass();
587 virtual void makeEqualSubclass(
const SIM_Data *source);
590 virtual void saveSubclass(std::ostream &os)
const;
610 virtual SIM_Query *createQueryObjectSubclass()
const;
614 virtual long getGuideParmVersionSubclass()
const;
618 virtual SIM_Guide *createGuideObjectSubclass()
const;
624 virtual void buildGuideGeometrySubclass(
const SIM_RootData &root,
635 virtual void setParametersSubclass(
const SIM_Options &parms);
641 virtual void setNamedSubDataSubclass(
const char *dataname,
646 virtual void removeNamedSubDataSubclass(
const char *dataname);
659 virtual void interpolateSubclass(
const SIM_Data *source1,
665 virtual int64 getMemorySizeSubclass()
const;
672 virtual void handleModificationSubclass(
int code);
681 virtual bool getIsAlternateRepresentationSubclass()
const;
686 virtual void initAlternateRepresentationSubclass(
const SIM_Data &);
694 virtual void *getCastToType(
const UT_StringRef &datatype)
const;
701 {
return myAlternateRepresentationOf; }
747 void decrementReferenceCount();
750 void incrementReferenceCount()
const;
759 void filterDataHelper(
SIM_Data *caller,
765 const char *startfrom,
768 void clearAllSubData();
773 void setUniqueId(
const UT_Guid &newid);
776 static void incrementNameReferenceCount(
779 static void decrementNameReferenceCount(
791 SIM_SubDataInfo *mySubDataInfo;
797 bool myHandlingModification;
798 bool mySelectionRepresentsObject;
799 mutable int64 myMemorySize;
800 mutable long myReferenceCount;
803 mutable const SIM_Data *myAlternateRepresentationOf;
804 mutable bool myNeedsInitialization : 1;
805 mutable bool myBuildingQueryObject : 1;
806 mutable bool myBuildingGuideObject : 1;
807 mutable bool myDoingSimplifiedSaveLoad : 1;
808 mutable bool myIsSelected : 1;
809 mutable bool myExistsOnDisk : 1;
813 friend class SIM_SimulationState;
GT_API const UT_StringHolder filename
virtual void callback(SIM_Data *data, const char *name)
GT_API const UT_StringHolder time
UT_ValArray< const SIM_Data * > SIM_ConstDataArray
This definition holds on to a collection of const SIM_Data pointers.
GLsizei const GLchar *const * path
const SIM_Engine & getEngine() const
Get the engine that created us (from our data factory).
void makeMemberDataUnique()
const SIM_Options * getConstUserOptions() const
const SIM_Data * getAlternateRepresentationOf() const
virtual bool callbackNeedsName() const
virtual ~SIM_EachDataCallback()
GLsizei GLsizei GLchar * source
SIM_Options * getUserOptions()
GLuint const GLchar * name
OPENVDB_API void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types. Also initializes blosc (if enabled).
virtual void makeMemberDataUniqueSubclass()
GA_API const UT_StringHolder parms
LeafData & operator=(const LeafData &)=delete
UT_ValArray< SIM_Data * > SIM_DataArray
This definition holds on to a collection of SIM_Data pointers.
This is the base class for all DOP nodes.
static void getDataTypeSuperclasses(UT_StringArray &)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter