SoMFVec3s(3)

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

πŸ¦‹ SoMFVec3s(3) β€” the Coin manual, but make it cute πŸ¦‹

okay bestie, welcome to the Coin manual page for SoMFVec3s, straight out of section 3 of the manual. it's a whole vibe, it's a whole container, and we're gonna get into every single crumb of it. no skipping. periodt. πŸ’…


🌸 NAME 🌸

SoMFVec3s β€” the SoMFVec3s class is a container for SbVec3s vectors. that's it, that's the whole job description, and she does it flawlessly. πŸ‘‘


✨ SYNOPSIS ✨

#include <Inventor/fields/SoMFVec3s.h>

Inherits SoMField.


🫢 Public Member Functions 🫢

  • virtual SoType getTypeId (void) const β€” hands you the type id, runtime-type-checking style.
  • virtual void copyFrom (const SoField &field) β€” copies the value(s) over from another field.
  • const SoMFVec3s & operator= (const SoMFVec3s &field) β€” assignment operator, but make it this class specifically.
  • virtual SbBool isSame (const SoField &field) const β€” are these two the same type and the same value(s)? let's find out.
  • const SbVec3s & operator[] (const int idx) const β€” index into the array, chef's kiss.
  • const SbVec3s * getValues (const int start) const β€” pointer to the values array, incoming.
  • int find (const SbVec3s &value, SbBool addifnotfound=FALSE) β€” go looking for a value.
  • void setValues (const int start, const int num, const SbVec3s *newvals) β€” set a whole bunch of values at once.
  • void set1Value (const int idx, const SbVec3s &value) β€” set exactly one value at idx.
  • void setValue (const SbVec3s &value) β€” set the field to a single value.
  • const SbVec3s & operator= (const SbVec3s &val) β€” assign a single SbVec3s to this field.
  • SbBool operator== (const SoMFVec3s &field) const β€” equality check against another SoMFVec3s.
  • SbBool operator!= (const SoMFVec3s &field) const β€” the iconic inequality check.
  • SbVec3s * startEditing (void) β€” open up the field for direct editing.
  • void finishEditing (void) β€” close it back up, no cap.
  • void setValuesPointer (const int num, const SbVec3s *userdata) β€” point the field at your own data.
  • void setValuesPointer (const int num, SbVec3s *userdata) β€” same, non-const flavor.
  • void setValuesPointer (const int num, const short *userdata) β€” same, but for short data.
  • void setValuesPointer (const int num, short *userdata) β€” same, non-const short flavor.
  • void setValues (int start, int num, const short xyz[][3]) β€” set values from a short triplet array.
  • void set1Value (int idx, short x, short y, short z) β€” set the vector at idx from three shorts.
  • void set1Value (int idx, const short xyz[3]) β€” set the vector at idx from a triplet.
  • void setValue (short x, short y, short z) β€” one single vector, three shorts.
  • void setValue (const short xyz[3]) β€” one single vector from a triplet array.

🌈 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 πŸ’–

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

the SoMFVec3s class is a container for SbVec3s vectors. iconic behavior honestly.

this field is used where nodes, engines or other field containers need to store an array of vectors with three elements. three elements, zero drama. πŸ“

this field supports application data sharing through a setValuesPointer() method. see SoMField documentation for information on how to use this function. go read it, it's giving ✨

See also

SbVec3s, SoSFVec3s Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

bestie heads up: this class is a Coin-only extension. it is not in the original SGI Open Inventor v2.1 API. so don't go looking for her there, she's not there. πŸ’€

Since

Coin 2.5


πŸ“š Member Function Documentation πŸ“š

🫢 void * SoMFVec3s::createInstance (void ) [static] 🫢

this API member is considered internal to the library, as it is not likely to be of interest to the application programmer. (translation: not for you, it's giving library-internal πŸ’…)

creates a new instance of the class type corresponding to the SoType object.

🫢 SoType SoMFVec3s::getClassTypeId (void ) [static] 🫢

this static method returns the SoType object associated with objects of this class. boom, that's the whole thing.

🫢 SoType SoMFVec3s::getTypeId (void ) const [virtual] 🫢

returns the type identification of an object derived from a class inheriting SoField. this is used for runtime type checking and "downward" casting.

Implements SoField.

🫢 void SoMFVec3s::copyFrom (const SoField & f) [virtual] 🫢

copy value(s) from f into this field. f must be of the same type as this field. no mismatched energy allowed here, fr fr.

Implements SoField.

🫢 SbBool SoMFVec3s::isSame (const SoField & f) const [virtual] 🫢

check for equal type and value(s). it's giving twin check. πŸ‘―

Implements SoField.

🫢 void SoMFVec3s::deleteAllValues (void ) [protected], [virtual] 🫢

this API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Implements SoMField.

🫢 void SoMFVec3s::copyValue (int to, int from) [protected], [virtual] 🫢

this method is used for moving values around internally within a multivalue field. it needs to be overridden in each field so it automatically takes care of running copy constructors where necessary. very main character, very necessary. πŸ’…

Implements SoMField.

🫢 const SbVec3s * SoMFVec3s::getValues (const int start) const [inline] 🫢

returns a pointer to the values array. that's it, that's the pointer, go wild.

🫢 void SoMFVec3s::initClass (void ) [static] 🫢

internal method called upon initialization of the library (from SoDB::init()) to set up the type system.

🫢 void SoMFVec3s::setValues (int start, int numarg, const short xyz[][3]) 🫢

set num vector array elements from the xyz array, reading from index 0 in the given float-triplet vector array and storing values from index start in this SoMFVec3f's array.

if start + num is larger than the current number of elements in the SoMFVec3f field, this method will automatically expand the field to accommodate all given float-vector element values. she grows. she adapts. 🌱

🫢 void SoMFVec3s::set1Value (int idx, short x, short y, short z) 🫢

set the vector at idx.

🫢 void SoMFVec3s::set1Value (int idx, const short xyz[3]) 🫢

set the vector at idx.

🫢 void SoMFVec3s::setValue (short x, short y, short z) 🫢

set this field to contain a single vector with the given element values.

🫢 void SoMFVec3s::setValue (const short xyz[3]) 🫢

set this field to contain a single vector with the given element values.


πŸŽ€ Author πŸŽ€

generated automatically by Doxygen for Coin from the source code. (not me, i just did the makeup πŸ’„)


and that's the whole page bestie, you ate it, every option, every overload, every inherited member, nothing skipped, no cap. 🫢

πŸ’– Version 4.0.10 β€” Thu Jun 25 2026 00:00:00 β€” SoMFVec3s(3) πŸ’–

mwah, go write some vectors. πŸ˜­πŸ’…βœ¨

πŸ“¦ where this page comes from