27#include <Inventor/SoType.h>
28#include <Inventor/misc/SoNotification.h>
45 static void cleanupClass(
void);
63 SbBool notnotify = FALSE, SbBool append = FALSE);
71 SbBool notnotify = FALSE, SbBool append = FALSE);
86 SbBool
set(
const char * valuestring);
91 virtual void touch(
void);
100 int operator ==(
const SoField & f)
const;
101 int operator !=(
const SoField & f)
const;
108 virtual void fixCopy(SbBool copyconnections);
125 void setFieldType(
int type);
126 int getFieldType(
void)
const;
128 SbBool getDirty(
void)
const;
129 void setDirty(SbBool dirty);
132 if ((this->statusbits & (FLAG_EXTSTORAGE|FLAG_NEEDEVALUATION)) ==
133 (FLAG_EXTSTORAGE|FLAG_NEEDEVALUATION)) this->evaluateField();
139 void valueChanged(SbBool resetdefault = TRUE);
140 virtual void evaluateConnection(
void)
const;
151 FLAG_TYPEMASK = 0x0007,
152 FLAG_ISDEFAULT = 0x0008,
153 FLAG_IGNORE = 0x0010,
154 FLAG_EXTSTORAGE = 0x0020,
155 FLAG_ENABLECONNECTS = 0x0040,
156 FLAG_NEEDEVALUATION = 0x0080,
157 FLAG_READONLY = 0x0100,
158 FLAG_DONOTIFY = 0x0200,
159 FLAG_ISDESTRUCTING = 0x0400,
160 FLAG_ISEVALUATING = 0x0800,
161 FLAG_ISNOTIFIED = 0x1000
164 void evaluateField(
void)
const;
165 void extendStorageIfNecessary(
void);
171 static SoType classTypeId;
174 enum FileFormatFlags {
178 ALLFILEFLAGS = IGNORED|CONNECTED|DEFAULT
181 SbBool changeStatusBits(
const unsigned int bits,
const SbBool onoff);
182 void clearStatusBits(
const unsigned int bits);
183 void setStatusBits(
const unsigned int bits);
184 SbBool getStatus(
const unsigned int bits)
const;
185 unsigned int statusbits;
187 SoFieldContainer * container;
188 class SoConnectStorage * storage;
191 SbBool hasExtendedStorage(
void)
const;
197#include <Inventor/fields/SoSField.h>
198#include <Inventor/fields/SoMField.h>
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 SoEngineOutput class is the output slots in SoEngine instances.
Definition SoEngineOutput.h:36
The SoFieldContainer class is a base class for all classes that contain fields.
Definition SoFieldContainer.h:34
The SoFieldConverter class is the abstract base class for field converters.
Definition SoFieldConverter.h:32
The SoFieldList class is a container for pointers to SoField objects.
Definition SoFieldList.h:31
The SoField class is the top-level abstract base class for fields.
Definition SoField.h:38
void disconnect(SoEngineOutput *engineoutput)
Definition SoField.cpp:1047
virtual SbBool isSame(const SoField &f) const =0
SbBool isNotifyEnabled(void) const
Definition SoField.cpp:1525
void setIgnored(SbBool ignore)
Definition SoField.cpp:650
SbBool isDestructing(void) const
Definition SoField.cpp:2511
SbBool set(const char *valuestring)
Definition SoField.cpp:1298
virtual SbBool readValue(SoInput *in)=0
void evaluate(void) const
Definition SoField.h:131
void copyConnection(const SoField *fromfield)
Definition SoField.cpp:1725
virtual void startNotify(void)
Definition SoField.cpp:1387
SbBool isConnected(void) const
Definition SoField.cpp:1165
virtual void copyFrom(const SoField &f)=0
static SoType getClassTypeId(void)
Definition SoField.cpp:705
SbBool getConnectedEngine(SoEngineOutput *&master) const
Definition SoField.cpp:1228
int getForwardConnections(SoFieldList &slavelist) const
Definition SoField.cpp:1240
SbBool enableNotify(SbBool on)
Definition SoField.cpp:1511
virtual void connectionStatusChanged(int numconnections)
Definition SoField.cpp:1644
virtual SbBool referencesCopy(void) const
Definition SoField.cpp:1692
SbBool isOfType(const SoType type) const
Definition SoField.cpp:715
SbBool isConnectionEnabled(void) const
Definition SoField.cpp:746
virtual void touch(void)
Definition SoField.cpp:1375
SbBool getConnectedField(SoField *&master) const
Definition SoField.cpp:1214
SbBool connectFrom(SoEngineOutput *master, SbBool notnotify=FALSE, SbBool append=FALSE)
Definition SoField.cpp:895
virtual void fixCopy(SbBool copyconnections)
Definition SoField.cpp:1677
virtual void write(SoOutput *out, const SbName &name) const
Definition SoField.cpp:1949
SbBool isConnectedFromEngine(void) const
Definition SoField.cpp:1191
int getConnections(SoFieldList &masterlist) const
Definition SoField.cpp:1131
virtual void notify(SoNotList *nlist)
Definition SoField.cpp:1408
SoFieldContainer * getContainer(void) const
Definition SoField.cpp:1279
void setContainer(SoFieldContainer *cont)
Definition SoField.cpp:1260
virtual void countWriteRefs(SoOutput *out) const
Definition SoField.cpp:2029
SbBool appendConnection(SoEngineOutput *master, SbBool notnotify=FALSE)
Definition SoField.cpp:2162
SbBool isConnectedFromField(void) const
Definition SoField.cpp:1178
void enableConnection(SbBool flag)
Definition SoField.cpp:733
static void initClass(void)
Definition SoField.cpp:612
virtual SbBool read(SoInput *input, const SbName &name)
Definition SoField.cpp:1806
SbBool isReadOnly(void) const
Definition SoField.cpp:1657
void removeAuditor(void *f, SoNotRec::Type type)
Definition SoField.cpp:1556
virtual SbBool readConnection(SoInput *in)
Definition SoField.cpp:2224
virtual SoType getTypeId(void) const =0
SoField(void)
Definition SoField.cpp:528
SbBool isDefault(void) const
Definition SoField.cpp:694
void get(SbString &valuestring)
Definition SoField.cpp:1317
void setDefault(SbBool defaultVal)
Definition SoField.cpp:675
static void initClasses(void)
Definition SoField.cpp:2520
int getNumConnections(void) const
Definition SoField.cpp:1115
SbBool shouldWrite(void) const
Definition SoField.cpp:1595
virtual void writeValue(SoOutput *out) const =0
void addAuditor(void *f, SoNotRec::Type type)
Definition SoField.cpp:1545
virtual void writeConnection(SoOutput *out) const
Definition SoField.cpp:2327
SbBool isIgnored(void) const
Definition SoField.cpp:663
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