SoMFRotation(3)

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

πŸ’– SoMFRotation πŸ’–

hiii bestie, welcome to SoMFRotation(3) β€” the manual page for the field that holds a whole stack of rotations. she's a container, she's a queen, and she's about to explain herself. let's get into it πŸ’…


πŸ“› NAME πŸ“›

SoMFRotation β€” the SoMFRotation class is a container for SbRotation values.

✨ SYNOPSIS ✨

#include <Inventor/fields/SoMFRotation.h>

Inherits SoMField.


🌟 Public Member Functions 🌟

no cap, this is the whole roster:

virtual SoType getTypeId (void) const
virtual void copyFrom (const SoField &field)
const SoMFRotation & operator= (const SoMFRotation &field)
virtual SbBool isSame (const SoField &field) const
const SbRotation & operator[] (const int idx) const
const SbRotation * getValues (const int start) const
int find (const SbRotation &value, SbBool addifnotfound=FALSE)
void setValues (const int start, const int num, const SbRotation *newvals)
void set1Value (const int idx, const SbRotation &value)
void setValue (const SbRotation &value)
const SbRotation & operator= (const SbRotation &val)
SbBool operator== (const SoMFRotation &field) const
SbBool operator!= (const SoMFRotation &field) const
SbRotation * startEditing (void)
void finishEditing (void)
void setValues (const int start, const int num, const float q[][4])
void set1Value (const int idx, const float q0, const float q1, const float q2, const float q3)
void set1Value (const int idx, const float q[4])
void set1Value (const int idx, const SbVec3f &axis, const float angle)
void setValue (const float q0, const float q1, const float q2, const float q3)
void setValue (const float q[4])
void setValue (const SbVec3f &axis, const float angle)

🫢 Public Member Functions inherited from SoMField 🫢

she got all of these from her parent, and we're listing every single one because we don't gatekeep:

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 πŸ’œ

and grandma SoField said "here, take all of this too":

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 ⭐

the ones you call on the class itself, no instance needed, main character energy fr fr:

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 πŸŽ€

for the subclass girlies only β€” don't touch unless you're extending her:

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=TRUE)
virtual void evaluateConnection (void) const
virtual SbBool readConnection (SoInput *in)
virtual void writeConnection (SoOutput *out) const
SbBool isDestructing (void) const

πŸ¦‹ Protected Attributes πŸ¦‹

SbRotation * 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 πŸ“–

okay so the SoMFRotation class is a container for SbRotation values. that's the whole vibe.

you reach for this field whenever nodes, engines or other field containers need to store multiple rotation definitions. not one rotation. many. a whole little rotation family 🫢

See also

SoSFRotation β€” the single-rotation sibling, if you only need one πŸ’–


πŸ”₯ Member Function Documentation πŸ”₯

SoType SoMFRotation::getTypeId (void ) const [virtual]

Returns the type identification instance which uniquely identifies the Coin field class the object belongs to.

See also: getClassTypeId(), SoType

Implements SoField.

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

Copy value(s) from f into this field. f must be of the same type as this field. (yes, must. she does not do cross-type situationships πŸ’€)

Implements SoField.

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

Check for equal type and value(s).

Implements SoField.

void SoMFRotation::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. (translation: not for you, bestie, but she's here and she's documented.)

Implements SoMField.

void SoMFRotation::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 contructors where necessary.

Implements SoMField.

const SbRotation * SoMFRotation::getValues (const int start) const [inline]

Returns a pointer to the values array.

void SoMFRotation::setValues (const int start, const int numarg, const float q[][4])

Set the values of num rotations, starting from index start, using the quaternion quadruples from q.

void SoMFRotation::set1Value (const int idx, const float q0, const float q1, const float q2, const float q3)

Set the rotation at idx from the quaternion values.

void SoMFRotation::set1Value (const int idx, const float q[4])

Set the rotation at idx from the quaternion quadruple q.

void SoMFRotation::set1Value (const int idx, const SbVec3f & axis, const float angle)

Set the rotation at idx from the rotation axis and angle.

void SoMFRotation::setValue (const float q0, const float q1, const float q2, const float q3)

Set the field to a single rotation from the quaternion values.

void SoMFRotation::setValue (const float q[4])

Set the field to a single rotation from the quaternion quadruple q.

void SoMFRotation::setValue (const SbVec3f & axis, const float angle)

Set the field to a single rotation from the axis and angle.


✍️ Author ✍️

Generated automatically by Doxygen for Coin from the source code. (so if the prose is dry, blame the robot, not me 😭)


and that's the whole page, bestie!! this little doc is from Coin, version 3.1.3, and yes β€” the manual name really is SoMFRotation(3). go forth and store all the rotations you want, you absolute icon πŸ‘‘πŸ’–

πŸ“¦ where this page comes from