1SoMFRotation(3IV)()                                        SoMFRotation(3IV)()
2
3
4

NAME

6       SoMFRotation  —  Multiple-value  field containing any number of SbRota‐
7       tions.
8

INHERITS FROM

10       SoField > SoMField > SoMFRotation
11

SYNOPSIS

13       #include <Inventor/fields/SoMFRotation.h>
14
15          Methods from class SoMFRotation:
16
17     void                set1Value(int  index,  const  SbVec3f  &axis,   float
18                              angle)
19     void                setValue(const SbVec3f &axis, float angle)
20     void                set1Value(int  index,  float  q0, float q1, float q2,
21                              float q3)
22     void                set1Value(int index, const float q[4])
23     void                setValue(float q0, float q1, float q2, float q3)
24     void                setValue(float q[4])
25     static SoType       getClassTypeId()
26     virtual void        getTypeId() const
27     const SbRotation &  operator [](int i) const
28     const SbRotation *  getValues(int start) const
29     int                 find(const SbRotation & targetValue, SbBool addIfNot‐
30                              Found = FALSE)
31     void                setValues(int  start, int num, const SbRotation *new‐
32                              Values)
33     void                set1Value(int index, const SbRotation & newValue)
34     const SbRotation &  operator =(const SbRotation & newValue)
35     void                setValue(const SbRotation & newValue)
36     int                 operator ==(const SoMFRotation &f) const
37     int                 operator !=(const SoMFRotation &f) const
38     SbRotation *        startEditing()
39     void                finishEditing()
40
41          Methods from class SoMField:
42
43     int                 getNum() const
44     void                setNum(int num)
45     virtual void        deleteValues(int start, int num = -1)
46     virtual void        insertSpace(int start, int num)
47     SbBool              set1(int index, const char *valueString)
48     void                get1(int index, SbString &valueString)
49
50          Methods from class SoField:
51
52     void                setIgnored(SbBool ignore)
53     SbBool              isIgnored() const
54     SbBool              isDefault() const
55     virtual SbBool      isOfType(SoType type) const
56     SbBool              set(const char *valueString)
57     void                get(SbString &valueString)
58     void                touch()
59     SbBool              connectFrom(SoField *fromField)
60     SbBool              connectFrom(SoEngineOutput *fromEngine)
61     void                disconnect()
62     SbBool              isConnected() const
63     SbBool              isConnectedFromField() const
64     SbBool              getConnectedField(SoField *&writingField) const
65     SbBool              isConnectedFromEngine() const
66     SbBool              getConnectedEngine(SoEngineOutput     *&engineOutput)
67                              const
68     void                enableConnection(SbBool flag)
69     SbBool              isConnectionEnabled() const
70     int                 getForwardConnections(SoFieldList &list) const
71     SoFieldContainer *  getContainer() const
72
73

DESCRIPTION

75       multiple-value field that contains any number of SbRotations.
76
77       SoMFRotations  are written to file as one or more sets of four floating
78       point values. Each set of 4 values is an axis of rotation  followed  by
79       the amount of right-handed rotation about that axis, in radians.
80
81       When  more than one value is present, all of the values are enclosed in
82       square brackets and separated by commas; for example:
83
84          [ 1 0 0 0, -.707 -.707 0 1.57 ]
85
86
87

METHODS

89     void                set1Value(int  index,  const  SbVec3f  &axis,   float
90                              angle)
91          Sets the index'th value to the given axis/angle.
92
93     void                setValue(const SbVec3f &axis, float angle)
94          Makes this field have exactly one value, given by axis and angle.
95
96     void                set1Value(int  index,  float  q0, float q1, float q2,
97                              float q3)
98     void                set1Value(int index, const float q[4])
99          Sets the index'th value to the given quaternion.
100
101     void                setValue(float q0, float q1, float q2, float q3)
102     void                setValue(float q[4])
103          Makes this field have exactly one value, given by the quaternion.
104
105     static SoType       getClassTypeId()
106     virtual void        getTypeId() const
107          Returns the type for this class  or  a  particular  object  of  this
108          class.
109
110     const SbRotation &  operator [](int i) const
111          Returns  the  i'th  value of the field. Indexing past the end of the
112          field (passing in i greater than getNum()) will return garbage.
113
114     const SbRotation *  getValues(int start) const
115          Returns a pointer into the array of values in the field, starting at
116          index  start.  The values are read-only; see the startEditing()/fin‐
117          ishEditing() methods for a way of modifying values in place.
118
119     int                 find(const SbRotation & targetValue, SbBool addIfNot‐
120                              Found = FALSE)
121          Finds  the  given  value  in the array and returns the index of that
122          value in the array. If the value is not found, -1  is  returned.  If
123          addIfNotFound  is  set,  then targetValue is added to the end of the
124          array (but -1 is still returned).
125
126     void                setValues(int start, int num, const SbRotation  *new‐
127                              Values)
128          Sets  num values starting at index start to the values in newValues.
129          The array will be automatically be made larger to accomodate the new
130          values, if necessary.
131
132     void                set1Value(int index, const SbRotation & newValue)
133          Sets  the index'th value in the array to newValue. The array will be
134          automatically expanded, if necessary.
135
136     const SbRotation &  operator =(const SbRotation & newValue)
137     void                setValue(const SbRotation & newValue)
138          Sets the first value in the array to newValue, and deletes the  sec‐
139          ond and subsequent values.
140
141     int                 operator ==(const SoMFRotation &f) const
142     int                 operator !=(const SoMFRotation &f) const
143          Returns TRUE if all of the values of this field equal (do not equal)
144          those of the given field. If the fields are  different  types  FALSE
145          will  always be returned (even if one field is an SoMFFloat with one
146          value of 1.0 and the other is an SoMFInt with  a  value  of  1,  for
147          example).
148
149     SbRotation *        startEditing()
150     void                finishEditing()
151          startEditing()  returns a pointer to the internally-maintained array
152          that can be modified. The values in the array may  be  changed,  but
153          values  cannot  be added or removed. It is illegal to call any other
154          editing methods between  startEditing()  and  finishEditing()  (e.g.
155          set1Value(), setValue(), etc).
156
157          Fields,  engines  or sensors connected to this field and sensors are
158          not notified that this field has changed  until  finishEditing()  is
159          called.  Calling finishEditing() always sets the isDefault() flag to
160          FALSE and informs engines and sensors that the field  changed,  even
161          if none of the values actually were changed.
162
163

SEE ALSO

165       SbRotation
166
167
168
169
170                                                           SoMFRotation(3IV)()
Impressum