Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoMFRotation.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Paul S. Strauss (MMM yyyy)
25**=======================================================================*/
26/*=======================================================================
27 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
28 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
29 *** ***
30 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
31 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
32 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
33 *** ***
34 *** RESTRICTED RIGHTS LEGEND ***
35 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
36 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
37 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
38 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
39 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
40 *** ***
41 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
42 *** BORDEAUX, FRANCE ***
43 *** ALL RIGHTS RESERVED ***
44**=======================================================================*/
45/*=======================================================================
46** Modified by : VSG (MMM YYYY)
47**=======================================================================*/
48
49
50#ifndef _SO_MF_ROTATION_
51#define _SO_MF_ROTATION_
52
53#include <Inventor/fields/SoSubField.h>
54#include <Inventor/SbLinear.h>
55
57//
58// SoMFRotation subclass of SoMField.
59//
61
96class SoMFRotation : public SoMField {
97
98 // Use standard field stuff
99 SO_MFIELD_HEADER(SoMFRotation, SbRotation, const SbRotation &);
100 SO_MFIELD_SETVALUESPOINTER_HEADER(SbRotation);
101
102 public:
103
104 //
105 // Some additional convenience functions:
106 //
119 void setValues(int start, int num, const float q[][4]);
120
127 void set1Value(int index, float q0, float q1, float q2, float q3);
128
135 void set1Value(int index, const float q[4]);
136
143 void set1Value(int index, const SbVec3f &axis, float angle);
144
150 void setValue(float q0, float q1, float q2, float q3);
151
157 void setValue(const float q[4]);
158
164 void setValue(const SbVec3f &axis, float angle);
165
176 void set1Value(int index, const SbRotationd &rd);
177
186 void setValue(const SbRotationd &rd);
187
205 void setValues(int start, int num, const SbRotationd *rd);
206
207 private:
208 static void initClass();
209 static void exitClass();
210
211};
212
213#endif /* _SO_MF_ROTATION_ */
214
Class for representing a rotation.
Definition SbRotation.h:126
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Class for repres...
Definition SbRotation.h:425
3D vector class.
Definition SbVec.h:932
Multiple-value field containing any number of SbRotations.
void setValue(const SbRotationd &rd)
Sets the first value in the array to newValue , a double precision rotation, and deletes the second ...
void setValue(const float q[4])
Makes this field have exactly one value, given by the quaternion (x, y, z, w).
void set1Value(int index, const float q[4])
Sets the index 'th value to the given quaternion (x, y, z, w).
void set1Value(int index, float q0, float q1, float q2, float q3)
Sets the index 'th value to the given quaternion (x, y, z, w).
void setValue(float q0, float q1, float q2, float q3)
Makes this field have exactly one value, given by the quaternion (x, y, z, w).
void setValues(int start, int num, const SbRotationd *rd)
Sets num values starting at index start to the values in newValues , an array of double precisio...
void set1Value(int index, const SbVec3f &axis, float angle)
Sets the index 'th value to the given axis/angle.
void setValue(const SbVec3f &axis, float angle)
Makes this field have exactly one value, given by axis and angle .
void setValues(int start, int num, const float q[][4])
Sets values from an array of arrays of 4 floats.
void set1Value(int index, const SbRotationd &rd)
Sets the index 'th value in the array to newValue , a double precision rotation.
Base class for all multiple-valued fields.
Definition SoMField.h:134