SoMFDouble(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

okay bestie, welcome to SoMFDouble(3) β€” it's a Coin manual page, it's giving ✨container energy✨, and by the end of this you're gonna be fluent, no cap. πŸ’…


✨ NAME ✨

SoMFDouble β€” the class that is literally a container for double float precision point values. 🫢 That's it. That's the whole vibe.


🌸 SYNOPSIS 🌸

First things first, you gotta include the header, or nothing happens, fr fr:

#include <Inventor/fields/SoMFDouble.h>

And it inherits from SoMField. Iconic lineage, honestly. πŸ‘‘

πŸŽ€ Public Member Functions πŸŽ€

virtual SoType getTypeId (void) const
virtual void copyFrom (const SoField &field)
const SoMFDouble & operator= (const SoMFDouble &field)
virtual SbBool isSame (const SoField &field) const
double operator[] (const int idx) const
const double * getValues (const int start) const
int find (double value, SbBool addifnotfound=FALSE)
void setValues (const int start, const int num, const double *newvals)
void set1Value (const int idx, double value)
void setValue (double value)
double operator= (double val)
SbBool operator== (const SoMFDouble &field) const
SbBool operator!= (const SoMFDouble &field) const
double * startEditing (void)
void finishEditing (void)
void setValuesPointer (const int num, const double *userdata)
void setValuesPointer (const int num, double *userdata)

πŸ’œ Public Member Functions inherited from SoMField πŸ’œ

virtual ~SoMField ()
int getNum (void) const
void setNum (const int num)
virtual void deleteValues (int start, int num=-1)
virtual void insertSpace (int start, 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) const

πŸ¦‹ Public Member Functions inherited from SoField πŸ¦‹

virtual ~SoField ()
void setIgnored (SbBool ignore)
SbBool isIgnored (void) const
void setDefault (SbBool defaultVal)
SbBool isDefault (void) const
SbBool isOfType (const SoType type) const
void enableConnection (SbBool flag)
SbBool isConnectionEnabled (void) const
SbBool connectFrom (SoEngineOutput *master, SbBool notnotify=FALSE,
    SbBool append=FALSE)
SbBool appendConnection (SoEngineOutput *master, SbBool notnotify=FALSE)
void disconnect (SoEngineOutput *engineoutput)
SbBool isConnectedFromEngine (void) const
SbBool getConnectedEngine (SoEngineOutput *&master) const
SbBool connectFrom (SoField *master, SbBool notnotify=FALSE, SbBool
    append=FALSE)
SbBool appendConnection (SoField *master, SbBool notnotify=FALSE)
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
virtual void fixCopy (SbBool copyconnections)
virtual SbBool referencesCopy (void) const
void copyConnection (const SoField *fromfield)
virtual SbBool read (SoInput *input, const SbName &name)
virtual void write (SoOutput *out, const SbName &name) const
virtual void countWriteRefs (SoOutput *out) 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 atexit_cleanup (void)
static void initClass (void)

πŸ’« Static Public Member Functions inherited from SoField πŸ’«

static void initClass (void)
static void initClasses (void)
static void cleanupClass (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)
virtual SoNotRec createNotRec (SoBase *container)
void setChangedIndex (const int chgidx)
void setChangedIndices (const int chgidx=-1, const int numchgind=0)

πŸŽ€ Protected Member Functions inherited from SoField πŸŽ€

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

πŸ’– Protected Attributes πŸ’–

double * 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 πŸ’…

So the whole tea is: the SoMFDouble class is a container for double float precision point values. 🫢

Where's it used tho? This field shows up wherever nodes, engines or other field containers need to store a group of multiple floating point values. Like, a whole lil squad of doubles. It's giving group chat. 😭

And bestie, it supports application data sharing through a setValuesPointer() method. Go check the SoMField documentation for the deets on how to use that function β€” I'm not gatekeeping, it's literally right there. ✨

See also

  • SoSFDouble (the single-value sibling, iykyk) πŸ¦‹

Since

  • Coin 2.5 ⭐ β€” yes, it's been iconic since way back.

🧚 Member Function Documentation 🧚

🌟 void * SoMFDouble::createInstance (void ) [static]

Okay so this one is internal to the library β€” it is not likely to be of interest to the application programmer, so don't stress about it. πŸ™ˆ

What it does: creates a new instance of the class type corresponding to the SoType object. That's the whole job. πŸ’…

🌟 SoType SoMFDouble::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. Easy. Iconic. No notes. ✨

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

This one returns the type identification of an object derived from a class inheriting SoField. It's used for runtime type checking and "downward" casting. πŸ‘‘

And Implements SoField. Periodt. πŸ’–

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

Copies the value(s) from f into this field. Heads up tho: f must be of the same type as this field β€” no mixing, bestie, that's a whole vibe violation. πŸ’€

Implements SoField.

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

Checks for equal type and value(s). Basically the vibe check of this class. βœ…

Implements SoField.

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

Another internal to the library one β€” not likely to be of interest to the application programmer, so you can lowkey ignore it. πŸ™ˆ

Implements SoMField.

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

This method is used for moving values around internally within a multivalue field. And here's the thing: it needs to be overridden in each field so it automatically takes care of running copy constructors where necessary. Can't skip it, it's mandatory, fr fr. πŸ’…

Implements SoMField.

🌟 const double * SoMFDouble::getValues (const int start) const [inline]

Returns a pointer to the values array. 🫢 That's it, she's simple, she's inline, she slays. ✨

🌟 void SoMFDouble::initClass (void ) [static]

Internal method called upon initialization of the library (from SoDB::init()) to set up the type system. Behind the scenes main character energy. πŸ‘‘


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for Coin from the source code. (Not a human author β€” a robot wrote this, and honestly? She ate. πŸ’…βœ¨)


And that's the whole page, bestie!! 🫢 This was SoMFDouble(3) from the Coin manual, Version 4.0.10, dated Thu Jun 25 2026 00:00:00. Go forth and store your group of multiple floating point values. You got this. Slay. πŸ’–πŸŒΈπŸ¦‹β­πŸ‘‘

πŸ“¦ where this page comes from