27 #include <Inventor/SoType.h>
28 #include <Inventor/misc/SoNotification.h>
43 static void initClass(
void);
44 static void initClasses(
void);
45 static void cleanupClass(
void);
47 void setIgnored(SbBool ignore);
48 SbBool isIgnored(
void)
const;
50 void setDefault(SbBool defaultVal);
51 SbBool isDefault(
void)
const;
53 virtual SoType getTypeId(
void)
const = 0;
55 static SoType getClassTypeId(
void);
56 SbBool isOfType(
const SoType type)
const;
58 void enableConnection(SbBool flag);
59 SbBool isConnectionEnabled(
void)
const;
63 SbBool notnotify = FALSE, SbBool append = FALSE);
64 SbBool appendConnection(
SoEngineOutput * master, SbBool notnotify = FALSE);
66 SbBool isConnectedFromEngine(
void)
const;
70 SbBool connectFrom(
SoField * master,
71 SbBool notnotify = FALSE, SbBool append = FALSE);
72 SbBool appendConnection(
SoField * master, SbBool notnotify = FALSE);
73 void disconnect(
SoField * field);
74 SbBool isConnectedFromField(
void)
const;
75 SbBool getConnectedField(
SoField *& master)
const;
76 int getNumConnections(
void)
const;
77 int getForwardConnections(
SoFieldList & slavelist)
const;
80 void disconnect(
void);
81 SbBool isConnected(
void)
const;
86 SbBool set(
const char * valuestring);
89 SbBool shouldWrite(
void)
const;
91 virtual void touch(
void);
92 virtual void startNotify(
void);
94 SbBool enableNotify(SbBool on);
95 SbBool isNotifyEnabled(
void)
const;
100 int operator ==(
const SoField & f)
const;
101 int operator !=(
const SoField & f)
const;
103 virtual void connectionStatusChanged(
int numconnections);
104 SbBool isReadOnly(
void)
const;
105 virtual SbBool isSame(
const SoField & f)
const = 0;
106 virtual void copyFrom(
const SoField & f) = 0;
108 virtual void fixCopy(SbBool copyconnections);
109 virtual SbBool referencesCopy(
void)
const;
110 void copyConnection(
const SoField * fromfield);
115 virtual void countWriteRefs(
SoOutput * out)
const;
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;
141 virtual SbBool readValue(
SoInput * in) = 0;
142 virtual void writeValue(
SoOutput * out)
const = 0;
143 virtual SbBool readConnection(
SoInput * in);
144 virtual void writeConnection(
SoOutput * out)
const;
146 SbBool isDestructing(
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;
188 class SoConnectStorage * storage;
191 SbBool hasExtendedStorage(
void)
const;
195 #ifndef COIN_INTERNAL
197 #include <Inventor/fields/SoSField.h>
198 #include <Inventor/fields/SoMField.h>
199 #endif // !COIN_INTERNAL
201 #endif // !COIN_SOFIELD_H
The SoOutput class is an abstraction of an output stream.SoOutput offers the ability to write basic t...
Definition: SoOutput.h:42
The SoFieldContainer class is a base class for all classes that contain fields.The classes containing...
Definition: SoFieldContainer.h:34
The SoField class is the top-level abstract base class for fields.Fields is the mechanism used throug...
Definition: SoField.h:38
The SoFieldConverter class is the abstract base class for field converters.When fields of different t...
Definition: SoFieldConverter.h:32
The SoEngineOutput class is the output slots in SoEngine instances.SoEngineOutput has methods for con...
Definition: SoEngineOutput.h:36
void evaluate(void) const
Definition: SoField.h:131
The SoFieldList class is a container for pointers to SoField objects.
Definition: SoFieldList.h:31
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc.
Definition: SbString.h:42
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34
The SoType class is the basis for the run-time type system in Coin.Many of the classes in the Coin li...
Definition: SoType.h:50
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:31
Type
Definition: SoNotRec.h:35