SoMFEngine(3)

πŸ“¦ version 2.5.0, in fedora 43, fedora 44

✨ NAME ✨

SoMFEngine β€” bestie, it's the container class for engines πŸ’–


🌸 SYNOPSIS 🌸

okay so first things first, you gotta pull it in:

#include <Inventor/fields/SoMFEngine.h>

and it Inherits SoMField, slay πŸ’…

πŸ’« Public Member Functions

virtual SoType getTypeId (void) const
virtual void copyFrom (const SoField &field)
const SoMFEngine & operator= (const SoMFEngine &field)
virtual SbBool isSame (const SoField &field) const
SoEngine * operator[] (const int idx) const
const SoEngine ** getValues (const int start) const
int find (SoEngine *value, SbBool addifnotfound=0)
void setValues (const int start, const int num, const SoEngine **newvals)
void set1Value (const int idx, SoEngine *value)
void setValue (SoEngine *value)
SoEngine * operator= (SoEngine *val)
SbBool operator== (const SoMFEngine &field) const
SbBool operator!= (const SoMFEngine &field) const
SoEngine ** startEditing (void)
void finishEditing (void)
virtual void fixCopy (SbBool copyconnections)
virtual SbBool referencesCopy (void) const
virtual void deleteValues (int start, int num=-1)
virtual void insertSpace (int start, int num)

🫢 Public Member Functions inherited from SoMField

virtual ~SoMField ()
int getNum (void) const
void setNum (const int num)
SbBool set1 (const int index, const char *const valuestring)
void get1 (const int index, SbString &valuestring)
virtual void enableDeleteValues (void)
virtual SbBool isDeleteValuesEnabled (void)

πŸ’œ Public Member Functions inherited from SoField

virtual ~SoField ()
void setIgnored (SbBool ignore)
SbBool isIgnored (void) const
void setDefault (SbBool def)
SbBool isDefault (void) const
SbBool isOfType (const SoType type) const
void enableConnection (SbBool flag)
SbBool isConnectionEnabled (void) const
SbBool connectFrom (SoEngineOutput *master, SbBool notnotify=0, SbBool append=0)
SbBool appendConnection (SoEngineOutput *master, SbBool notnotify=0)
void disconnect (SoEngineOutput *engineoutput)
SbBool isConnectedFromEngine (void) const
SbBool getConnectedEngine (SoEngineOutput *&master) const
SbBool connectFrom (SoField *master, SbBool notnotify=0, SbBool append=0)
SbBool appendConnection (SoField *master, SbBool notnotify=0)
void disconnect (SoField *field)
SbBool isConnectedFromField (void) const
SbBool getConnectedField (SoField *&master) const
int getNumConnections (void) const
int getForwardConnections (SoFieldList &slavelist) const
int getConnections (SoFieldList &masterlist) const
void disconnect (void)
SbBool isConnected (void) const
void setContainer (SoFieldContainer *cont)
SoFieldContainer * getContainer (void) const
SbBool set (const char *valuestring)
void get (SbString &valuestring)
SbBool shouldWrite (void) const
virtual void touch (void)
virtual void startNotify (void)
virtual void notify (SoNotList *nlist)
SbBool enableNotify (SbBool on)
SbBool isNotifyEnabled (void) const
void addAuditor (void *f, SoNotRec::Type type)
void removeAuditor (void *f, SoNotRec::Type type)
int operator== (const SoField &f) const
int operator!= (const SoField &f) const
virtual void connectionStatusChanged (int numconnections)
SbBool isReadOnly (void) const
void copyConnection (const SoField *fromfield)
virtual SbBool read (SoInput *in, const SbName &name)
virtual void write (SoOutput *out, const SbName &name) const
void setFieldType (int type)
int getFieldType (void) const
SbBool getDirty (void) const
void setDirty (SbBool dirty)
void evaluate (void) const

🌟 Static Public Member Functions

static void * createInstance (void)
static SoType getClassTypeId (void)
static void initClass (void)

πŸ“ Static Public Member Functions inherited from SoMField

static SoType getClassTypeId (void)
static void initClass (void)

🌈 Static Public Member Functions inherited from SoField

static void initClass (void)
static void initClasses (void)
static SoType getClassTypeId (void)

πŸŽ€ Protected Member Functions

virtual void deleteAllValues (void)
virtual void copyValue (int to, int from)
virtual int fieldSizeof (void) const
virtual void * valuesPtr (void)
virtual void setValuesPtr (void *ptr)
virtual void allocValues (int num)

🧚 Protected Member Functions inherited from SoMField

SoMField (void)
virtual void makeRoom (int newnum)

πŸ¦‹ Protected Member Functions inherited from SoField

SoField (void)
void valueChanged (SbBool resetdefault=1)
virtual void evaluateConnection (void) const
virtual SbBool readConnection (SoInput *in)
virtual void writeConnection (SoOutput *out) const
SbBool isDestructing (void) const

⭐ Protected Attributes

SoEngine ** values

πŸ’– Protected Attributes inherited from SoMField

int num
int maxNum
SbBool userDataIsUsed

🌸 Additional Inherited Members

Public Types inherited from SoField:

enum FieldType { NORMAL_FIELD = 0, EVENTIN_FIELD, EVENTOUT_FIELD, EXPOSED_FIELD }

πŸ‘‘ Detailed Description πŸ‘‘

SoMFEngine is the container class for engines. That's it, that's the whole vibe πŸ’…

This field container stores an array of pointers to engines β€” like a little friend group of engines, all holding hands 🫢 It takes care of all the necessary functionality for handling copy, import and export operations, so you don't gotta do it yourself. No cap.

Heads up bestie: engine pointers stored in field instances of this type may be NULL pointers. Like, they're allowed to just be not there. It's giving "empty seat at the lunch table" 😭

See also

  • SoEngine, SoSFEngine

πŸ’« Member Function Documentation πŸ’«

🌟 SoType SoMFEngine::getTypeId (void ) const [virtual]

Returns the type identification instance which uniquely identifies the Coin field class the object belongs to. Basically it tells you what this thing is, so you can vibe check it ✨

See also

  • getClassTypeId(), SoType

Implements SoField.

🌟 void SoMFEngine::copyFrom (const SoField & f) [virtual]

Copy value(s) from f into this field. And bestie, f must be of the same type as this field β€” do not try it with a different type, that's not gonna slay, that's gonna break πŸ’€

Implements SoField.

🌟 SbBool SoMFEngine::isSame (const SoField & f) const [virtual]

Check for equal type and value(s). Yes girl, it's a comparison. Are y'all the same or not πŸ‘€

Implements SoField.

🌟 virtual void SoMFEngine::deleteAllValues (void ) [protected], [virtual]

Implements SoMField.

🌟 virtual void SoMFEngine::copyValue (int to, int from) [protected], [virtual]

Implements SoMField.

🌟 const SoEngine ** SoMFEngine::getValues (const int start) const [inline]

Returns a pointer to the values array. Just handin' you the whole array, iconic πŸŽ€

🌟 void SoMFEngine::fixCopy (SbBool copyconnections) [virtual]

Okay so this one is ✨internally✨ called after SoField::copyFrom() during scene graph copies, and it should do the operations necessary for fixing up the field instance after it has gotten a new value. Lowkey important, but not your problem usually.

The default method in the SoField superclass does nothing. Literally nothing. A whole void.

The application programmer should normally not need to consider this method β€” unless he constructs a complex field type which contains new references to container instances (i.e. nodes or engines). Overriding this method is then necessary to update the reference pointers, as they could have been duplicated during the copy operation. So like, only if you're doing the complicated stuff, bestie.

Reimplemented from SoField.

References SoBase::assertAlive(), SoEngine::copy(), SoField::enableNotify(), SoFieldContainer::findCopy(), SoMField::getNum(), and SoField::valueChanged().

🌟 SbBool SoMFEngine::referencesCopy (void ) const [virtual]

Returns TRUE if this field has references to any containers in the scene graph which are also duplicated during the copy operation.

Note that this method only is valid to call during copy operations. Like, timing matters bestie, don't call it whenever ⏰

See also the note about the relevance of the fixCopy() method for application programmers, as it is applicable on this method aswell.

Reimplemented from SoField.

References SoFieldContainer::checkCopy(), SoMField::getNum(), and SoField::referencesCopy().

🌟 virtual void SoMFEngine::deleteValues (int start, int numarg = -1) [virtual]

Remove value elements from index start up to and including index start + num - 1.

Elements with indices larger than the last deleted element will be moved downwards in the value array. They gotta scoot over, it's fine, they'll survive πŸ™ˆ

If num equals -1, delete from index start and to the end of the array. Like, gone. All of it. Periodt.

Reimplemented from SoMField.

References SoMField::num.

🌟 virtual void SoMFEngine::insertSpace (int start, int numarg) [virtual]

Insert num "slots" for new value elements from start. The elements already present from start will be moved "upward" in the extended array. Making room, bestie, we're making ROOM πŸ’…

Reimplemented from SoMField.

References SoMField::num.


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for Coin from the source code. Yeah, a robot wrote this one, not me 😭 but I made it cute so it's fine 🫢


and that's the whole page babes ✨ this manual page came from Coin, Version 2.5.0, and it's filed under the Library Functions Manual. go forth and container-ize your engines, i believe in you πŸ’–πŸŒΈπŸ‘‘

πŸ“¦ where this page comes from