27#include <Inventor/SoType.h>
28#include <Inventor/lists/SoAuditorList.h>
29#include <Inventor/C/base/rbptree.h>
41 void unref(
void)
const;
54 static void addName(
SoBase *
const base,
const char *
const name);
81 const SbName & fromnodename,
const SbName & fromfieldname,
89 enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 };
94 virtual void destroy(
void);
96 SbBool hasMultipleWriteRefs(
void)
const;
97 SbBool writeHeader(
SoOutput * out, SbBool isgroup, SbBool isengine)
const;
98 void writeFooter(
SoOutput * out)
const;
99 virtual const char * getFileFormatName(
void)
const;
108 static void cleanClass(
void);
110 static SoType classTypeId;
113 mutable int referencecount : 28;
114 mutable unsigned int alive : 4;
118 cc_rbptree auditortree;
125inline void intrusive_ptr_add_ref(
SoBase * obj) { obj->
ref(); }
126inline void intrusive_ptr_release(
SoBase * obj) { obj->
unref(); }
The SbName class stores strings by reference.
Definition SbName.h:31
The SbString class is a string class with convenience functions for string operations.
Definition SbString.h:42
The SoAuditorList class is used to keep track of auditors for certain object classes.
Definition SoAuditorList.h:43
The SoBaseList class is a container for pointers to SoBase derived objects.
Definition SoBaseList.h:32
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition SoBase.h:36
static SbBool read(SoInput *input, SoBase *&base, SoType expectedtype)
Definition SoBase.cpp:1015
virtual SbName getName(void) const
Definition SoBase.cpp:626
static void setInstancePrefix(const SbString &c)
Definition SoBase.cpp:1117
void unref(void) const
Definition SoBase.cpp:509
void unrefNoDelete(void) const
Definition SoBase.cpp:548
SoBase(void)
Definition SoBase.cpp:179
void removeAuditor(void *const auditor, const SoNotRec::Type type)
Definition SoBase.cpp:817
static void removeName(SoBase *const base, const char *const name)
Definition SoBase.cpp:748
BaseFlags
Definition SoBase.h:89
static void setTraceRefs(SbBool trace)
Definition SoBase.cpp:1133
virtual void addWriteReference(SoOutput *out, SbBool isfromfield=FALSE)
Definition SoBase.cpp:871
static int getNamedBases(const SbName &name, SoBaseList &baselist, SoType type)
Definition SoBase.cpp:965
SbBool shouldWrite(void)
Definition SoBase.cpp:909
static void staticDataLock(void)
Definition SoBase.cpp:1505
const SoAuditorList & getAuditors(void) const
Definition SoBase.cpp:839
static void incrementCurrentWriteCounter(void)
Definition SoBase.cpp:918
static SoType getClassTypeId(void)
Definition SoBase.cpp:616
static void addName(SoBase *const base, const char *const name)
Definition SoBase.cpp:722
static void staticDataUnlock(void)
Definition SoBase.cpp:1515
static uint32_t getCurrentWriteCounter(void)
Definition SoBase.cpp:1335
int32_t getRefCount(void) const
Definition SoBase.cpp:567
static void initClass(void)
Definition SoBase.cpp:338
static void decrementCurrentWriteCounter(void)
Definition SoBase.cpp:927
virtual void notify(SoNotList *l)
Definition SoBase.cpp:778
SbBool isOfType(SoType type) const
Definition SoBase.cpp:606
void assertAlive(void) const
Definition SoBase.cpp:431
virtual SoType getTypeId(void) const =0
static SbBool readRoute(SoInput *input)
Definition SoBase.cpp:1374
virtual void setName(const SbName &newname)
Definition SoBase.cpp:659
void touch(void)
Definition SoBase.cpp:581
void ref(void) const
Definition SoBase.cpp:459
static SbBool connectRoute(SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
Definition SoBase.cpp:1351
static SoBase * getNamedBase(const SbName &name, SoType type)
Definition SoBase.cpp:941
virtual void startNotify(void)
Definition SoBase.cpp:762
static SbBool getTraceRefs(void)
Definition SoBase.cpp:1144
void addAuditor(void *const auditor, const SoNotRec::Type type)
Definition SoBase.cpp:802
virtual SbBool readInstance(SoInput *input, unsigned short flags)=0
The SoNotList class is a list of SoNotRec notification records.
Definition SoNotification.h:34
Type
Definition SoNotRec.h:35
The SoOutput class is an abstraction of an output stream.
Definition SoOutput.h:42
The SoType class is the basis for the run-time type system in Coin.
Definition SoType.h:50