HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GDT_MirrorTransform.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: GDT Library (C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __GDT_MirrorTransform_h__
13 #define __GDT_MirrorTransform_h__
14 
15 #include "GDT_API.h"
16 #include "GDT_SymmetryTransform.h"
17 
18 #include <GEO/GEO_PointTree.h>
19 #include <GU/GU_Detail.h>
20 
22 {
23 public:
25  void rebuild(const GU_Detail *gdp);
26  void setMirrorProperties(UT_Vector3 &axis, UT_Vector3 &origin, float distance, float threshold);
27  virtual GA_Index findSymmetry(GA_Index input_delta_index,
28  const GA_AIFEditDeltaMap &map,
29  UT_Matrix3R &xform);
30  virtual const GEO_Detail *getDetail() const { return myDetail; }
31 
32  void clear();
33 
34 private:
35  const GU_Detail *myDetail;
36  UT_Vector3 myAxis;
37  UT_Vector3 myOrigin;
38  UT_Matrix3R myReflMatrix;
39  float myDistance;
40  float myThreshold;
41  GEO_PointTreeGAOffset myPointTree;
42 };
43 
44 #endif
#define GDT_API
Definition: GDT_API.h:10
virtual GA_Index findSymmetry(GA_Index input_delta_index, const GA_AIFEditDeltaMap &map, UT_Matrix3R &xform)=0
virtual const GEO_Detail * getDetail() const
T distance(const UT_Vector4T< T > &v1, const UT_Vector4T< T > &v2)
Definition: UT_Vector4.h:698
GA_Size GA_Index
Define the strictness of GA_Offset/GA_Index.
Definition: GA_Types.h:611
Class for mapping between an index and an attribute data offset.
Definition: GA_AIFEdit.h:48