HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_LocalTransform.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_LocalTransform.h ( GU Library, C++)
7 *
8 * COMMENTS:
9 * Declarations of functions and types for performing local transforms
10 * of components.
11 */
12 
13 #ifndef __GU_LocalTransform_h__
14 #define __GU_LocalTransform_h__
15 
16 #include <GA/GA_Types.h>
17 #include <GA/GA_Breakpoint.h>
18 #include <UT/UT_Function.h>
19 #include <UT/UT_VectorTypes.h>
20 
21 class GA_Range;
22 class GEO_Detail;
23 class GEO_Delta;
24 
25 namespace GU_LocalTransform
26 {
27  template <typename FLOAT_T>
29 
30  /// Transform a list of point islands.
31  /// PRE: No point can be in more than one island.
32  template <typename FLOAT_T>
34  GEO_Detail *gdp,
35  const GetXformFunc<FLOAT_T> &get_xform,
36  const GA_OffsetArray &points,
37  const UT_ExintArray &island_start_indices,
38  bool just_P = false,
39  bool keep_vector_lengths = true,
40  bool check_pasting = true,
41  bool neg_determinant_flipvector = true,
42  GEO_Delta *geodelta = 0,
43  bool updateaffectednormals = false,
44  const char *attribpattern = NULL);
45  /// Transform a list of primitive islands.
46  /// PRE: No point can be referenced by primitives in different islands.
47  template <typename FLOAT_T>
49  GEO_Detail *gdp,
50  const GetXformFunc<FLOAT_T> &get_xform,
51  const GA_OffsetArray &primitives,
52  const UT_ExintArray &island_start_indices,
53  bool just_P = false,
54  bool keep_vector_lengths = true,
55  bool check_pasting = true,
56  bool neg_determinant_flipvector = true,
57  GEO_Delta *geodelta = 0,
58  bool updateaffectednormals = false,
59  const char *attribpattern = NULL);
60 
61  /// Transform a list of primitive islands where the island point lists are
62  /// already extracted.
63  /// PRE: No point can be referenced by primitives in different islands.
64  /// PRE: island_start_indices.entries()==island_pts_start_indices.entries()
65  template <typename FLOAT_T>
67  GEO_Detail *gdp,
68  const GetXformFunc<FLOAT_T> &get_xform,
69  const GA_OffsetArray &primitives,
70  const UT_ExintArray &island_start_indices,
71  const GA_OffsetArray &island_pts,
72  const UT_ExintArray &island_pts_start_indices,
73  bool just_P = false,
74  bool keep_vector_lengths = true,
75  bool check_pasting = true,
76  bool neg_determinant_flipvector = true,
77  GEO_Delta *geodelta = 0,
78  bool updateaffectednormals = false,
79  const char *attribpattern = NULL);
80 
81  /// Transform a list of breakpoint islands.
82  /// PRE: No spline can be referenced by breakpoints in different islands.
83  template <typename FLOAT_T>
85  GEO_Detail *gdp,
86  const GetXformFunc<FLOAT_T> &get_xform,
87  const UT_Array<GA_Breakpoint> &bkpts,
88  const UT_ExintArray &island_start_indices,
89  bool just_P = false,
90  bool keep_vector_lengths = true,
91  bool check_pasting = true,
92  bool neg_determinant_flipvector = true,
93  GEO_Delta *geodelta = 0,
94  bool updateaffectednormals = false,
95  const char *attribpattern = NULL);
96 }
97 
98 #endif // __GU_LocalTransform_h__
GLdouble GLdouble GLint GLint const GLdouble * points
Definition: glad.h:2676
int64 exint
Definition: SYS_Types.h:125
void transformBreakpointIslands(GEO_Detail *gdp, const GetXformFunc< FLOAT_T > &get_xform, const UT_Array< GA_Breakpoint > &bkpts, const UT_ExintArray &island_start_indices, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=NULL)
A range of elements in an index-map.
Definition: GA_Range.h:42
void transformPointIslands(GEO_Detail *gdp, const GetXformFunc< FLOAT_T > &get_xform, const GA_OffsetArray &points, const UT_ExintArray &island_start_indices, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=NULL)
UT_Function< UT_Matrix4T< FLOAT_T >(exint i)> GetXformFunc
std::function< T > UT_Function
Definition: UT_Function.h:37
void transformPrimIslands(GEO_Detail *gdp, const GetXformFunc< FLOAT_T > &get_xform, const GA_OffsetArray &primitives, const UT_ExintArray &island_start_indices, bool just_P=false, bool keep_vector_lengths=true, bool check_pasting=true, bool neg_determinant_flipvector=true, GEO_Delta *geodelta=0, bool updateaffectednormals=false, const char *attribpattern=NULL)