27 #include <Inventor/SoType.h>
28 #include <Inventor/lists/SoAuditorList.h>
29 #include <Inventor/C/base/rbptree.h>
44 static void initClass(
void);
47 void unref(
void)
const;
48 void unrefNoDelete(
void)
const;
49 int32_t getRefCount(
void)
const;
53 virtual SoType getTypeId(
void)
const = 0;
54 SbBool isOfType(
SoType type)
const;
55 static SoType getClassTypeId(
void);
57 virtual SbName getName(
void)
const;
58 virtual void setName(
const SbName & newname);
60 static void addName(
SoBase *
const base,
const char *
const name);
61 static void removeName(
SoBase *
const base,
const char *
const name);
63 virtual void startNotify(
void);
67 void removeAuditor(
void *
const auditor,
const SoNotRec::Type type);
70 virtual void addWriteReference(
SoOutput * out, SbBool isfromfield = FALSE);
71 SbBool shouldWrite(
void);
73 static void incrementCurrentWriteCounter(
void);
74 static void decrementCurrentWriteCounter(
void);
81 static void setInstancePrefix(
const SbString & c);
83 static void setTraceRefs(SbBool trace);
84 static SbBool getTraceRefs(
void);
86 static SbBool connectRoute(
SoInput * in,
87 const SbName & fromnodename,
const SbName & fromfieldname,
90 void assertAlive(
void)
const;
91 static SbBool readRoute(
SoInput * in);
95 enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 };
100 virtual void destroy(
void);
102 SbBool hasMultipleWriteRefs(
void)
const;
103 SbBool writeHeader(
SoOutput * out, SbBool isgroup, SbBool isengine)
const;
104 void writeFooter(
SoOutput * out)
const;
105 virtual const char * getFileFormatName(
void)
const;
107 virtual SbBool readInstance(
SoInput * in,
unsigned short flags) = 0;
109 static uint32_t getCurrentWriteCounter(
void);
110 static void staticDataLock(
void);
111 static void staticDataUnlock(
void);
116 static SbBool readBaseInstance(
SoInput * in,
const SbName & classname,
120 static void flushInput(
SoInput * in);
122 static void cleanClass(
void);
125 static void freeLists(
unsigned long,
void * value);
127 static SoType classTypeId;
130 int32_t referencecount : 27;
131 unsigned int ingraph : 1;
132 unsigned int alive : 4;
138 static void rbptree_notify_cb(
void * auditor,
void * type,
void * closure);
139 cc_rbptree auditortree;
147 static SbBool tracerefs;
148 static uint32_t writecounter;
151 #endif // !COIN_SOBASE_H
int getLength(void) const
Definition: SbPList.h:94
void remove(const int index)
Definition: SoAuditorList.cpp:145
static SoField * getGlobalField(const SbName &name)
Definition: SoDB.cpp:1297
static SoType badType(void)
Definition: SoType.cpp:664
static SoBase * getNamedBase(const SbName &name, SoType type)
Definition: SoBase.cpp:1072
virtual const char * getFileFormatName(void) const
Definition: SoBase.cpp:1458
static void post(const SoInput *const in, const char *const format,...)
Definition: SoReadError.cpp:110
int getLength(void) const
Definition: SbName.cpp:287
static SoType getClassTypeId(void)
Definition: SoField.cpp:680
virtual void destroy(void)
Definition: SoBase.cpp:405
SbBool shouldWrite(void)
Definition: SoBase.cpp:1040
static SoType fromName(const SbName name)
Definition: SoType.cpp:463
The SbName class stores strings by reference.
Definition: SbName.h:31
void append(SoBase *ptr)
Definition: SoBaseList.cpp:94
void append(void *item)
Definition: SbPList.h:78
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
The SoBaseList class is a container for pointers to SoBase derived objects.
Definition: SoBaseList.h:32
virtual void write(const char c)
Definition: SoOutput.cpp:757
virtual void indent(void)
Definition: SoOutput.cpp:1074
The SoOutput class is an abstraction of an output stream.
Definition: SoOutput.h:42
static uint32_t getCurrentWriteCounter(void)
Definition: SoBase.cpp:1467
The SbPList class is a container class for void pointers.
Definition: SbPList.h:31
virtual SbName getName(void) const
Definition: SoBase.cpp:730
Type
Definition: SoNotRec.h:35
SbString getSubString(int startidx, int endidx=-1) const
Definition: SbString.h:73
void removeAuditor(void *const auditor, const SoNotRec::Type type)
Definition: SoBase.cpp:948
void touch(void)
Definition: SoBase.cpp:700
static SoType getClassTypeId(void)
Definition: SoBase.cpp:720
void append(void *const auditor, const SoNotRec::Type type)
Definition: SoAuditorList.cpp:75
static void postWarning(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:324
The SoAuditorList class is used to keep track of auditors for certain object classes.
Definition: SoAuditorList.h:43
virtual SbBool readInstance(SoInput *in, unsigned short flags)=0
The SoNotRec class specifies records for notification lists.
Definition: SoNotRec.h:33
virtual void notify(SoNotList *l)
Definition: SoBase.cpp:909
void append(const Type item)
Definition: SbList.h:98
The SbString class is a string class with convenience functions for string operations.
Definition: SbString.h:42
int findReference(const SoBase *base) const
Definition: SoOutput.cpp:1312
static void endNotify(void)
Definition: SoDB.cpp:1538
SoFieldContainer * getContainer(void) const
Definition: SoField.cpp:1253
SbBool isDerivedFrom(const SoType type) const
Definition: SoType.cpp:687
BaseFlags
Definition: SoBase.h:95
SbBool writeHeader(SoOutput *out, SbBool isgroup, SbBool isengine) const
Definition: SoBase.cpp:1315
void unref(void) const
Definition: SoBase.cpp:627
The SoField class is the top-level abstract base class for fields.
Definition: SoField.h:38
static int getNamedBases(const SbName &name, SoBaseList &baselist, SoType type)
Definition: SoBase.cpp:1096
int32_t getRefCount(void) const
Definition: SoBase.cpp:686
The SoType class is the basis for the run-time type system in Coin.
Definition: SoType.h:50
virtual SbBool isBinary(void) const
Definition: SoOutput.cpp:650
The SbList class is a template container class for lists.
Definition: SoType.h:46
const char * getString(void) const
Definition: SbName.cpp:278
static void postInfo(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:334
static void createRoute(SoNode *from, const char *eventout, SoNode *to, const char *eventin)
Definition: SoDB.cpp:1934
virtual void notify(SoNotList *l)
Definition: SoDataSensor.cpp:209
void append(SoNotRec *const rec)
Definition: SoNotification.cpp:66
static SbBool read(SoInput *in, SoBase *&base, SoType expectedtype)
Definition: SoBase.cpp:1146
static void initCopyDict(void)
Definition: SoFieldContainer.cpp:744
int getLength(void) const
Definition: SbList.h:145
void addAuditor(void *const auditor, const SoNotRec::Type type)
Definition: SoBase.cpp:933
static SbBool isBaseNameStartChar(const char c)
Definition: SbName.cpp:355
@ VRML2
Definition: SoNode.h:62
virtual void addWriteReference(SoOutput *out, SbBool isfromfield=0)
Definition: SoBase.cpp:1002
int16_t getKey(void) const
Definition: SoType.h:110
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
static void copyDone(void)
Definition: SoFieldContainer.cpp:929
static void setTraceRefs(SbBool trace)
Definition: SoBase.cpp:1264
void incrementIndent(const int levels=1)
Definition: SoOutput.cpp:1044
The SoFieldContainer class is a base class for all classes that contain fields.
Definition: SoFieldContainer.h:35
void ref(void) const
Definition: SoBase.cpp:574
The SoDataSensor class is the abstract base class for sensors monitoring changes in a scene graph.
Definition: SoDataSensor.h:35
void remove(const int index)
Definition: SbPList.cpp:259
static void setInstancePrefix(const SbString &c)
Definition: SoBase.cpp:1248
static SbBool isBaseNameChar(const char c)
Definition: SbName.cpp:387
The SbDict class organizes a dictionary of keys and values.
Definition: SbDict.h:47
void * createInstance(void) const
Definition: SoType.cpp:803
virtual void startNotify(void)
Definition: SoBase.cpp:857
virtual SoType getTypeId(void) const =0
static void decrementCurrentWriteCounter(void)
Definition: SoBase.cpp:1058
SbString & sprintf(const char *formatstr,...)
Definition: SbString.h:105
static void startNotify(void)
Definition: SoDB.cpp:1517
virtual void notify(SoNotList *l)
Definition: SoFieldContainer.cpp:562
static SbBool readRoute(SoInput *in)
Definition: SoBase.cpp:1876
virtual SoType getTypeId(void) const =0
virtual ~SoBase()
Definition: SoBase.cpp:339
Stage getStage(void) const
Definition: SoOutput.cpp:744
SoBase(void)
Definition: SoBase.cpp:298
static const SoType createType(const SoType parent, const SbName name, const instantiationMethod method=(instantiationMethod) NULL, const uint16_t data=0)
Definition: SoType.cpp:256
static SbBool getTraceRefs(void)
Definition: SoBase.cpp:1275
void decrementIndent(const int levels=1)
Definition: SoOutput.cpp:1055
void writeFooter(SoOutput *out) const
Definition: SoBase.cpp:1428
void assertAlive(void) const
Definition: SoBase.cpp:546
int find(void *item) const
Definition: SbPList.cpp:212
const SoAuditorList & getAuditors(void) const
Definition: SoBase.cpp:970
SbBool isOfType(SoType type) const
Definition: SoBase.cpp:710
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
SbName getName(void) const
Definition: SoType.cpp:628
void setLastType(const SoNotRec::Type type)
Definition: SoNotification.cpp:122
static void staticDataUnlock(void)
Definition: SoBase.cpp:2017
static void initClass(void)
Definition: SoBase.cpp:455
SbBool isOfType(const SoType type) const
Definition: SoField.cpp:690
static void addName(SoBase *const base, const char *const name)
Definition: SoBase.cpp:807
int getLength(void) const
Definition: SbString.h:63
static void incrementCurrentWriteCounter(void)
Definition: SoBase.cpp:1049
void unrefNoDelete(void) const
Definition: SoBase.cpp:665
const char * getString(void) const
Definition: SbString.h:71
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34
SbBool hasMultipleWriteRefs(void) const
Definition: SoBase.cpp:1286
static void removeName(SoBase *const base, const char *const name)
Definition: SoBase.cpp:831
static SoNode * getByName(const SbName &name)
Definition: SoNode.cpp:729
static SbBool connectRoute(SoInput *in, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
Definition: SoBase.cpp:1853
static void staticDataLock(void)
Definition: SoBase.cpp:2007
int getLength(void) const
Definition: SoAuditorList.cpp:102
virtual void setName(const SbName &newname)
Definition: SoBase.cpp:763
SbBool canCreateInstance(void) const
Definition: SoType.cpp:786
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Wed Jul 24 2019 for Coin by Doxygen. 1.8.17