HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_Wire.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GU_Wire.h (GU Library, C++)
7  *
8  * COMMENTS: Utility methods for blending wires
9  */
10 
11 #ifndef __GU_Wire__
12 #define __GU_Wire__
13 
14 #include "GU_API.h"
15 #include <GEO/GEO_Primitive.h>
16 #include <UT/UT_Array.h>
17 #include <UT/UT_Quaternion.h>
18 
20 {
22  guWireSegmentParms(fpreal len, const UT_Vector3 &r) : myLength(len), myRotation(r) {}
24  UT_Vector3 myRotation; // log map of rotation
25 };
26 
28 {
29 public:
30  // creates a description of how to reconstruct the curve using a sequence
31  // of bends and segment lengths
32  static void extractWireSpecs(const GEO_Primitive *prim,
33  UT_Quaternion startorient,
35 
36  // construct a curve from a sequence of bends and segment lengths
37  static void buildWireFromSpecs(UT_Vector3Array &out, UT_Vector3 startpos,
38  UT_Quaternion startorient,
39  const UT_Array<guWireSegmentParms> &segs);
40 };
41 
42 #endif
fpreal myLength
Definition: GU_Wire.h:23
guWireSegmentParms(fpreal len, const UT_Vector3 &r)
Definition: GU_Wire.h:22
UT_Vector3 myRotation
Definition: GU_Wire.h:24
#define GU_API
Definition: GU_API.h:14
fpreal64 fpreal
Definition: SYS_Types.h:277
GLboolean r
Definition: glcorearb.h:1222
GA_API const UT_StringHolder segs