37 #include <Inventor/lists/SoAuditorList.h> 47 static void initClass(
void);
50 void unref(
void)
const;
51 void unrefNoDelete(
void)
const;
52 int32_t getRefCount(
void)
const;
56 virtual SoType getTypeId(
void)
const = 0;
57 SbBool isOfType(
SoType type)
const;
58 static SoType getClassTypeId(
void);
60 virtual SbName getName(
void)
const;
61 virtual void setName(
const SbName & newname);
63 static void addName(
SoBase *
const base,
const char *
const name);
64 static void removeName(
SoBase *
const base,
const char *
const name);
66 virtual void startNotify(
void);
70 void removeAuditor(
void *
const auditor,
const SoNotRec::Type type);
73 virtual void addWriteReference(
SoOutput * out, SbBool isfromfield = FALSE);
74 SbBool shouldWrite(
void);
76 static void incrementCurrentWriteCounter(
void);
77 static void decrementCurrentWriteCounter(
void);
84 static void setInstancePrefix(
const SbString & c);
86 static void setTraceRefs(SbBool trace);
87 static SbBool getTraceRefs(
void);
89 static SbBool connectRoute(
SoInput * input,
90 const SbName & fromnodename,
const SbName & fromfieldname,
93 void assertAlive(
void)
const;
94 static SbBool readRoute(
SoInput * input);
98 enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 };
103 virtual void destroy(
void);
105 SbBool hasMultipleWriteRefs(
void)
const;
106 SbBool writeHeader(
SoOutput * out, SbBool isgroup, SbBool isengine)
const;
107 void writeFooter(
SoOutput * out)
const;
108 virtual const char * getFileFormatName(
void)
const;
110 virtual SbBool readInstance(
SoInput * input,
unsigned short flags) = 0;
112 static uint32_t getCurrentWriteCounter(
void);
113 static void staticDataLock(
void);
114 static void staticDataUnlock(
void);
116 virtual SoNotRec createNotRec(
void);
119 static void cleanClass(
void);
121 static SoType classTypeId;
124 mutable int referencecount : 28;
125 mutable unsigned int alive : 4;
136 inline void intrusive_ptr_add_ref(
SoBase * obj) { obj->
ref(); }
137 inline void intrusive_ptr_release(
SoBase * obj) { obj->
unref(); }
139 #endif // !COIN_SOBASE_H The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:45
void unref(void) const
Definition: SoBase.cpp:525
The SoOutput class is an abstraction of an output stream.
Definition: SoOutput.h:51
The SoBaseList class is a container for pointers to SoBase derived objects.
Definition: SoBaseList.h:41
The SoNotRec class specifies records for notification lists.
Definition: SoNotRec.h:42
The SoAuditorList class is used to keep track of auditors for certain object classes.
Definition: lists/SoAuditorList.h:52
BaseFlags
Definition: SoBase.h:98
The SbString class is a string class with convenience functions for string operations.
Definition: SbString.h:52
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:43
The SoType class is the basis for the run-time type system in Coin.
Definition: SoType.h:59
The SbName class stores strings by reference.
Definition: SbName.h:40
void ref(void) const
Definition: SoBase.cpp:475
Type
Definition: SoNotRec.h:44