SoMFVec2f(3)
π SoMFVec2f β the Coin manual page, but make it make sense π
okay bestie, welcome to the <pink>SoMFVec2f(3)</pink> page from the Coin manual π this is a whole 3 section vibe, so grab a strawberry π and let's get into it.
β¨ NAME β¨
SoMFVec2f β the class that's literally just a container for SbVec2f vectors. that's it. that's the whole job. π
πΈ SYNOPSIS πΈ
#include <Inherits SoMField.h>
wait no hold on π let me not do that. the actual line is:
#include <Inventor/fields/SoMFVec2f.h>
and yeah, it Inherits SoMField. π
π«Ά Public Member Functions
virtual SoType getTypeId (void) constvirtual void copyFrom (const SoField &field)const SoMFVec2f & operator= (const SoMFVec2f &field)virtual SbBool isSame (const SoField &field) constconst SbVec2f & operator[] (const int idx) constconst SbVec2f * getValues (const int start) constint find (const SbVec2f &value, SbBool addifnotfound=FALSE)void setValues (const int start, const int num, const SbVec2f *newvals)void set1Value (const int idx, const SbVec2f &value)void setValue (const SbVec2f &value)const SbVec2f & operator= (const SbVec2f &val)SbBool operator== (const SoMFVec2f &field) constSbBool operator!= (const SoMFVec2f &field) constSbVec2f * startEditing (void)void finishEditing (void)void setValuesPointer (const int num, const SbVec2f *userdata)void setValuesPointer (const int num, SbVec2f *userdata)void setValuesPointer (const int num, const float *userdata)void setValuesPointer (const int num, float *userdata)void setValues (int start, int num, const float xy[][2])void set1Value (int idx, float x, float y)void set1Value (int idx, const float xy[2])void setValue (float x, float y)void setValue (const float xy[2])
π§ Public Member Functions inherited from SoMField
virtual ~SoMField ()int getNum (void) constvoid 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) constvoid setDefault (SbBool defaultVal)SbBool isDefault (void) constSbBool isOfType (const SoType type) constvoid enableConnection (SbBool flag)SbBool isConnectionEnabled (void) constSbBool connectFrom (SoEngineOutput *master, SbBool notnotify=FALSE, SbBool append=FALSE)SbBool appendConnection (SoEngineOutput *master, SbBool notnotify=FALSE)void disconnect (SoEngineOutput *engineoutput)SbBool isConnectedFromEngine (void) constSbBool getConnectedEngine (SoEngineOutput *&master) constSbBool connectFrom (SoField *master, SbBool notnotify=FALSE, SbBool append=FALSE)SbBool appendConnection (SoField *master, SbBool notnotify=FALSE)void disconnect (SoField *field)SbBool isConnectedFromField (void) constSbBool getConnectedField (SoField *&master) constint getNumConnections (void) constint getForwardConnections (SoFieldList &slavelist) constint getConnections (SoFieldList &masterlist) constvoid disconnect (void)SbBool isConnected (void) constvoid setContainer (SoFieldContainer *cont)SoFieldContainer * getContainer (void) constSbBool set (const char *valuestring)void get (SbString &valuestring)SbBool shouldWrite (void) constvirtual void touch (void)virtual void startNotify (void)virtual void notify (SoNotList *nlist)SbBool enableNotify (SbBool on)SbBool isNotifyEnabled (void) constvoid addAuditor (void *f, SoNotRec::Type type)void removeAuditor (void *f, SoNotRec::Type type)int operator== (const SoField &f) constint operator!= (const SoField &f) constvirtual void connectionStatusChanged (int numconnections)SbBool isReadOnly (void) constvirtual void fixCopy (SbBool copyconnections)virtual SbBool referencesCopy (void) constvoid copyConnection (const SoField *fromfield)virtual SbBool read (SoInput *input, const SbName &name)virtual void write (SoOutput *out, const SbName &name) constvirtual void countWriteRefs (SoOutput *out) constvoid setFieldType (int type)int getFieldType (void) constSbBool getDirty (void) constvoid 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) constvirtual 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) constvirtual SbBool readConnection (SoInput *in)virtual void writeConnection (SoOutput *out) constSbBool isDestructing (void) const
π Protected Attributes
SbVec2f * values
πΈ Protected Attributes inherited from SoMField
int numint maxNumSbBool userDataIsUsed
π Additional Inherited Members
Public Types inherited from SoField
enum FieldType { NORMAL_FIELD = 0, EVENTIN_FIELD, EVENTOUT_FIELD, EXPOSED_FIELD }
π« Detailed Description π«
SoMFVec2f is a container for SbVec2f vectors. no cap. π¦
so where do you even use this? it's the field you reach for when nodes, engines, or any other field container needs to hold an array of vectors with two elements. two. like x and y. that's the whole shape of it. π―
and here's the fun part, bestie: this field supports application data sharing through a setValuesPointer() method. π«Ά if you wanna know how to actually use that function, go read the SoMField documentation β that's where the tea is. π΅
π See also
SbVec2f, SoSFVec2f
π₯ Member Function Documentation π₯
void * SoMFVec2f::createInstance (void ) [static]
okay so this one is considered internal to the library β like, it's not likely to be of interest to the application programmer. π so if you're just writing app code, you can scroll past, no shade.
what it does: creates a new instance of the class type corresponding to the SoType object. β¨
SoType SoMFVec2f::getClassTypeId (void ) [static]
this static method returns the SoType object that's associated with objects of this class. simple as. π
SoType SoMFVec2f::getTypeId (void ) const [virtual]
returns the type identification of an object derived from a class that inherits SoField. this is the one you use for runtime type checking and "downward" casting. iykyk. π
Implements SoField.
void SoMFVec2f::copyFrom (const SoField & f) [virtual]
copies value(s) from f into this field. β οΈ heads up though: f must be of the same type as this field, or it's not gonna be a good time.
Implements SoField.
SbBool SoMFVec2f::isSame (const SoField & f) const [virtual]
checks for equal type and value(s). both. not one or the other. π
Implements SoField.
void SoMFVec2f::deleteAllValues (void ) [protected], [virtual]
another one that's internal to the library and not likely to be of interest to the application programmer. π«£
Implements SoMField.
void SoMFVec2f::copyValue (int to, int from) [protected], [virtual]
this method is used for moving values around internally within a multivalue field. π and here's the why: it needs to be overridden in each field so that it automatically takes care of running copy constructors where necessary. it's giving very much "plumbing, but make it correct."
Implements SoMField.
const SbVec2f * SoMFVec2f::getValues (const int start) const [inline]
returns a pointer to the values array. that's the whole thing. pointer. array. go. πβ¨
void SoMFVec2f::initClass (void ) [static]
internal method called upon initialization of the library (from SoDB::init()) to set up the type system. π±
void SoMFVec2f::setValues (int start, int numarg, const float xy[][2])
set num vector array elements from xy, starting at index start. π
void SoMFVec2f::set1Value (int idx, float x, float y)
set the vector at idx. π―
void SoMFVec2f::set1Value (int idx, const float xy[2])
set the vector at idx. (yes, again β different signature, same energy π
)
void SoMFVec2f::setValue (float x, float y)
set this field to contain a single vector with the given element values. one vector. that's the vibe. 1οΈβ£
void SoMFVec2f::setValue (const float xy[2])
set this field to contain a single vector with the given element values. same deal, array-flavored. π
ποΈ Author ποΈ
Generated automatically by Doxygen for Coin from the source code. (not a human, just a robot doing its little robot best π€π)
and that's the whole page bestie!! π this was Version 4.0.10, dated Thu Jun 25 2026 00:00:00 β slay, iconic, periodt. πβ¨ go forth and store your two-element vectors. π¦π
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms