27 #include <Inventor/SoType.h>
28 #include <Inventor/misc/SoNotification.h>
43 static void initClass(
void);
44 static void initClasses(
void);
46 void setIgnored(SbBool ignore);
47 SbBool isIgnored(
void)
const;
49 void setDefault(SbBool def);
50 SbBool isDefault(
void)
const;
54 static SoType getClassTypeId(
void);
55 SbBool isOfType(
const SoType type)
const;
57 void enableConnection(SbBool flag);
58 SbBool isConnectionEnabled(
void)
const;
62 SbBool notnotify = FALSE, SbBool append = FALSE);
63 SbBool appendConnection(
SoEngineOutput * master, SbBool notnotify = FALSE);
65 SbBool isConnectedFromEngine(
void)
const;
69 SbBool connectFrom(
SoField * master,
70 SbBool notnotify = FALSE, SbBool append = FALSE);
71 SbBool appendConnection(
SoField * master, SbBool notnotify = FALSE);
72 void disconnect(
SoField * field);
73 SbBool isConnectedFromField(
void)
const;
74 SbBool getConnectedField(
SoField *& master)
const;
75 int getNumConnections(
void)
const;
76 int getForwardConnections(
SoFieldList & slavelist)
const;
79 void disconnect(
void);
80 SbBool isConnected(
void)
const;
85 SbBool set(
const char * valuestring);
88 SbBool shouldWrite(
void)
const;
90 virtual void touch(
void);
91 virtual void startNotify(
void);
93 SbBool enableNotify(SbBool on);
94 SbBool isNotifyEnabled(
void)
const;
99 int operator ==(
const SoField & f)
const;
100 int operator !=(
const SoField & f)
const;
102 virtual void connectionStatusChanged(
int numconnections);
103 SbBool isReadOnly(
void)
const;
107 virtual void fixCopy(SbBool copyconnections);
108 virtual SbBool referencesCopy(
void)
const;
109 void copyConnection(
const SoField * fromfield);
114 virtual void countWriteRefs(
SoOutput * out)
const;
124 void setFieldType(
int type);
125 int getFieldType(
void)
const;
127 SbBool getDirty(
void)
const;
128 void setDirty(SbBool dirty);
131 if ((this->statusbits & (FLAG_EXTSTORAGE|FLAG_NEEDEVALUATION)) ==
132 (FLAG_EXTSTORAGE|FLAG_NEEDEVALUATION)) this->evaluateField();
138 void valueChanged(SbBool resetdefault = TRUE);
139 virtual void evaluateConnection(
void)
const;
142 virtual SbBool readConnection(
SoInput * in);
143 virtual void writeConnection(
SoOutput * out)
const;
145 SbBool isDestructing(
void)
const;
150 FLAG_TYPEMASK = 0x0007,
151 FLAG_ISDEFAULT = 0x0008,
152 FLAG_IGNORE = 0x0010,
153 FLAG_EXTSTORAGE = 0x0020,
154 FLAG_ENABLECONNECTS = 0x0040,
155 FLAG_NEEDEVALUATION = 0x0080,
156 FLAG_READONLY = 0x0100,
157 FLAG_DONOTIFY = 0x0200,
158 FLAG_ISDESTRUCTING = 0x0400,
159 FLAG_ISEVALUATING = 0x0800,
160 FLAG_ISNOTIFIED = 0x1000
163 void evaluateField(
void)
const;
164 void extendStorageIfNecessary(
void);
170 static SoType classTypeId;
173 enum FileFormatFlags {
177 ALLFILEFLAGS = IGNORED|CONNECTED|DEFAULT
180 SbBool changeStatusBits(
const unsigned int bits,
const SbBool onoff);
181 void clearStatusBits(
const unsigned int bits);
182 void setStatusBits(
const unsigned int bits);
183 SbBool getStatus(
const unsigned int bits)
const;
184 unsigned int statusbits;
187 class SoConnectStorage * storage;
190 SbBool hasExtendedStorage(
void)
const;
194 #ifndef COIN_INTERNAL
196 #include <Inventor/fields/SoSField.h>
197 #include <Inventor/fields/SoMField.h>
198 #endif // !COIN_INTERNAL
200 #endif // !COIN_SOFIELD_H
SoField(void)
Definition: SoField.cpp:516
int getLength(void) const
Definition: SbPList.h:94
static SoField * getGlobalField(const SbName &name)
Definition: SoDB.cpp:1297
static SoType badType(void)
Definition: SoType.cpp:664
virtual SoEngineOutput * getOutput(SoType type)=0
The SoFieldConverter class is the abstract base class for field converters.
Definition: SoFieldConverter.h:32
static void post(const SoInput *const in, const char *const format,...)
Definition: SoReadError.cpp:110
static SoType getClassTypeId(void)
Definition: SoField.cpp:680
SbBool getOutputName(const SoEngineOutput *output, SbName &outputname) const
Definition: SoNodeEngine.cpp:198
void setDirty(SbBool dirty)
Definition: SoField.cpp:2126
virtual SoField * getField(const SbName &name) const
Definition: SoFieldContainer.cpp:364
void valueChanged(SbBool resetdefault=1)
Definition: SoField.cpp:2433
The SbName class stores strings by reference.
Definition: SbName.h:31
void addConnection(SoField *f)
Definition: SoEngineOutput.cpp:247
virtual void writeValue(SoOutput *out) const =0
void disconnect(void)
Definition: SoField.cpp:1118
virtual SoFieldContainer * copyThroughConnection(void) const
Definition: SoNode.cpp:1397
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
The SoWriteAction class writes a scene graph to file.
Definition: SoWriteAction.h:31
virtual SbBool readValue(SoInput *in)=0
SoNotRec * getLastRec(void) const
Definition: SoNotification.cpp:149
virtual SbBool getBuffer(void *&bufPointer, size_t &nBytes) const
Definition: SoOutput.cpp:590
void addAuditor(void *f, SoNotRec::Type type)
Definition: SoField.cpp:1519
SbBool isDefault(void) const
Definition: SoField.cpp:669
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
SbBool isConnectedFromField(void) const
Definition: SoField.cpp:1152
SbBool getConnectedField(SoField *&master) const
Definition: SoField.cpp:1188
The SoEngineOutput class is the output slots in SoEngine instances.
Definition: SoEngineOutput.h:36
static SoType getConverter(SoType from, SoType to)
Definition: SoDB.cpp:1494
SbBool isIgnored(void) const
Definition: SoField.cpp:638
SbBool isEnabled(void) const
Definition: SoEngineOutput.cpp:148
SbBool set(const char *valuestring)
Definition: SoField.cpp:1272
virtual SbName getName(void) const
Definition: SoBase.cpp:730
SoBase * getBase(void) const
Definition: SoNotRec.cpp:71
Type
Definition: SoNotRec.h:35
SbBool shouldWrite(void) const
Definition: SoField.cpp:1569
static void initClasses(void)
Definition: SoField.cpp:2496
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
int getForwardConnections(SoFieldList &fl) const
Definition: SoEngineOutput.cpp:109
SbBool getFieldName(const SoField *const field, SbName &name) const
Definition: SoFieldContainer.cpp:409
void setContainer(SoFieldContainer *cont)
Definition: SoField.cpp:1234
static SoFieldContainer * checkCopy(const SoFieldContainer *orig)
Definition: SoFieldContainer.cpp:797
void addRoute(SoFieldContainer *from, const SbName &fromfield, SoFieldContainer *to, const SbName &tofield)
Definition: SoOutput.cpp:1436
The SoNotRec class specifies records for notification lists.
Definition: SoNotRec.h:33
virtual void evaluateConnection(void) const
Definition: SoField.cpp:2375
The SbString class is a string class with convenience functions for string operations.
Definition: SbString.h:42
SbBool isReadOnly(void) const
Definition: SoField.cpp:1631
virtual void copyFrom(const SoField &f)=0
SbBool isNotifyEnabled(void) const
Definition: SoField.cpp:1499
static void endNotify(void)
Definition: SoDB.cpp:1538
virtual void setBuffer(void *bufPointer, size_t initSize, SoOutputReallocCB *reallocFunc, int32_t offset=0)
Definition: SoOutput.cpp:572
SoFieldContainer * getContainer(void) const
Definition: SoField.cpp:1253
SbBool isDestructing(void) const
Definition: SoField.cpp:2487
SbBool isDerivedFrom(const SoType type) const
Definition: SoType.cpp:687
virtual void writeConnection(SoOutput *out) const
Definition: SoField.cpp:2303
SbBool getOutputName(const SoEngineOutput *output, SbName &outputname) const
Definition: SoEngine.cpp:244
virtual void connectionStatusChanged(int numconnections)
Definition: SoField.cpp:1618
void unref(void) const
Definition: SoBase.cpp:627
SbBool getConnectedEngine(SoEngineOutput *&master) const
Definition: SoField.cpp:1202
The SoField class is the top-level abstract base class for fields.
Definition: SoField.h:38
void enableConnection(SbBool flag)
Definition: SoField.cpp:708
virtual void startNotify(void)
Definition: SoField.cpp:1361
void setDefault(SbBool def)
Definition: SoField.cpp:650
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
virtual SbBool read(SoInput *in, const SbName &name)
Definition: SoField.cpp:1780
int operator==(const SoField &f) const
Definition: SoField.cpp:1547
const char * getString(void) const
Definition: SbName.cpp:278
static void postInfo(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:334
virtual void writeInstance(SoOutput *out)
Definition: SoFieldContainer.cpp:640
SbBool getDirty(void) const
Definition: SoField.cpp:2116
void append(SoNotRec *const rec)
Definition: SoNotification.cpp:66
virtual SoFieldContainer * copyThroughConnection(void) const
Definition: SoEngine.cpp:466
SbBool isConnectedFromEngine(void) const
Definition: SoField.cpp:1165
static void initClass(void)
Definition: SoField.cpp:600
void removeAuditor(void *f, SoNotRec::Type type)
Definition: SoField.cpp:1530
SbBool appendConnection(SoEngineOutput *master, SbBool notnotify=0)
Definition: SoField.cpp:2138
static SbBool read(SoInput *in, SoBase *&base, SoType expectedtype)
Definition: SoBase.cpp:1146
void continueToApply(SoNode *node)
Definition: SoWriteAction.cpp:173
@ VRML2
Definition: SoNode.h:62
void get(SbString &valuestring)
Definition: SoField.cpp:1291
void setFieldType(int type)
Definition: SoField.cpp:2465
The SoFieldList class is a container for pointers to SoField objects.
Definition: SoFieldList.h:31
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
SoType getConnectionType(void) const
Definition: SoEngineOutput.cpp:88
SbBool enableNotify(SbBool on)
Definition: SoField.cpp:1485
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
virtual void countWriteRefs(SoOutput *out) const
Definition: SoField.cpp:2005
SoNodeEngine is the base class for Coin node engines.
Definition: SoNodeEngine.h:33
SoNodeEngine * getNodeContainer(void) const
Definition: SoEngineOutput.cpp:184
SbBool isNodeEngineOutput(void) const
Definition: SoEngineOutput.cpp:205
The SoDataSensor class is the abstract base class for sensors monitoring changes in a scene graph.
Definition: SoDataSensor.h:35
virtual SoField * getInput(SoType type)=0
void append(SoField *field)
Definition: SoFieldList.h:37
void * createInstance(void) const
Definition: SoType.cpp:803
int getConnections(SoFieldList &masterlist) const
Definition: SoField.cpp:1105
virtual SoType getTypeId(void) const =0
SbString & sprintf(const char *formatstr,...)
Definition: SbString.h:105
void setStage(Stage stage)
Definition: SoOutput.cpp:728
static void startNotify(void)
Definition: SoDB.cpp:1517
virtual void notify(SoNotList *l)
Definition: SoFieldContainer.cpp:562
SoEngineOutput * getOutput(const SbName &outputname) const
Definition: SoEngine.cpp:227
SbBool isConnectionEnabled(void) const
Definition: SoField.cpp:721
virtual SoType getTypeId(void) const =0
Stage getStage(void) const
Definition: SoOutput.cpp:744
int operator!=(const SoField &f) const
Definition: SoField.cpp:1557
static const SoType createType(const SoType parent, const SbName name, const instantiationMethod method=(instantiationMethod) NULL, const uint16_t data=0)
Definition: SoType.cpp:256
SoEngine * getContainer(void) const
Definition: SoEngineOutput.cpp:160
void removeConnection(SoField *f)
Definition: SoEngineOutput.cpp:287
virtual SbBool referencesCopy(void) const
Definition: SoField.cpp:1666
virtual void notify(SoNotList *nlist)
Definition: SoField.cpp:1382
virtual void write(SoOutput *out, const SbName &name) const
Definition: SoField.cpp:1923
The SoEngineOutputList class is a container for SoEngineOutput objects.
Definition: SoEngineOutputList.h:31
virtual void touch(void)
Definition: SoField.cpp:1349
int getFieldType(void) const
Definition: SoField.cpp:2478
void assertAlive(void) const
Definition: SoBase.cpp:546
int getNumConnections(void) const
Definition: SoField.cpp:1089
SoEngineOutput * getOutput(const SbName &outputname) const
Definition: SoNodeEngine.cpp:181
void disconnect(SoEngineOutput *engineoutput)
Definition: SoField.cpp:1022
SoFieldContainer * getFieldContainer(void)
Definition: SoEngineOutput.cpp:420
void evaluateWrapper(void)
Definition: SoNodeEngine.cpp:271
void evaluateWrapper(void)
Definition: SoEngine.cpp:343
SbBool isOfType(SoType type) const
Definition: SoBase.cpp:710
int getForwardConnections(SoFieldList &slavelist) const
Definition: SoField.cpp:1214
void copyConnection(const SoField *fromfield)
Definition: SoField.cpp:1699
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
virtual SbBool isSame(const SoField &f) const =0
SbName getName(void) const
Definition: SoType.cpp:628
void setLastType(const SoNotRec::Type type)
Definition: SoNotification.cpp:122
SbBool isOfType(const SoType type) const
Definition: SoField.cpp:690
SbBool isConnected(void) const
Definition: SoField.cpp:1139
void setIgnored(SbBool ignore)
Definition: SoField.cpp:625
virtual SbBool readConnection(SoInput *in)
Definition: SoField.cpp:2200
virtual void addWriteReference(SoOutput *out, SbBool isfromfield=0)
Definition: SoFieldContainer.cpp:605
SbBool connectFrom(SoEngineOutput *master, SbBool notnotify=0, SbBool append=0)
Definition: SoField.cpp:870
const char * getString(void) const
Definition: SbString.h:71
void evaluate(void) const
Definition: SoField.h:130
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34
virtual ~SoField()
Definition: SoField.cpp:530
SoNotRec * getFirstRec(void) const
Definition: SoNotification.cpp:140
SoEngine is the base class for Coin engines.
Definition: SoEngine.h:34
virtual void fixCopy(SbBool copyconnections)
Definition: SoField.cpp:1651
SoNotRec::Type getType(void) const
Definition: SoNotRec.cpp:80
virtual SoFieldContainer * copyThroughConnection(void) const
Definition: SoFieldContainer.cpp:728
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18