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;
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;
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;
136inline void intrusive_ptr_add_ref(
SoBase * obj) { obj->
ref(); }
137inline void intrusive_ptr_release(
SoBase * obj) { obj->
unref(); }
The SbName class stores strings by reference.
Definition: SbName.h:40
The SbString class is a string class with convenience functions for string operations.
Definition: SbString.h:52
The SoAuditorList class is used to keep track of auditors for certain object classes.
Definition: lists/SoAuditorList.h:52
The SoBaseList class is a container for pointers to SoBase derived objects.
Definition: SoBaseList.h:41
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
BaseFlags
Definition: SoBase.h:98
virtual SoType getTypeId(void) const =0
Returns the type identification of an object derived from a class inheriting SoBase....
virtual SbBool readInstance(SoInput *input, unsigned short flags)=0
void ref(void) const
Definition: SoBase.cpp:475
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:43
The SoNotRec class specifies records for notification lists.
Definition: SoNotRec.h:42
Type
Definition: SoNotRec.h:44
The SoOutput class is an abstraction of an output stream.
Definition: SoOutput.h:51
The SoType class is the basis for the run-time type system in Coin.
Definition: SoType.h:59