HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GQ_Pelt.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 library (C++)
7  *
8  * COMMENTS: Pelt GU
9  */
10 
11 
12 #ifndef __GQ_Pelt_h__
13 #define __GQ_Pelt_h__
14 
15 #include "GQ_API.h"
16 #include <GU/GU_Detail.h>
17 #include <GA/GA_Edge.h>
18 #include <GA/GA_EdgeGroup.h>
19 
20 enum
21 {
27 };
28 
30 {
31 public:
33  {
34  public:
35  float coord[2];
36  float connectedcoord[2];
37  };
38 
39  static void findAllConnectedPrimitives(GU_Detail *gdp,
40  GEO_Primitive *seed,
41  GA_PointGroup *visited_points,
42  GA_PrimitiveGroup *visited_prims,
43  GA_EdgeGroup *boundary_edges);
44  static void getEdges(GU_Detail *gdp, const GA_EdgeGroup *group,
45  UT_IntArray &selections);
46  static void putEdges(const UT_IntArray &selections, GU_Detail *gdp, GA_EdgeGroup *group);
47 
48  static void getPrimitives(GU_Detail *gdp, UT_IntArray &data);
49  static void putPrimitives(const UT_IntArray &data, GU_Detail *gdp);
50 
51  static void determineCutSection(GU_Detail *gdp,
52  const GA_EdgeGroup *cuts,
53  GEO_Primitive *hint_prim,
54  GA_PointGroup *connected_points,
55  GA_PrimitiveGroup *connected_prims,
56  GA_PointGroup *boundary_points);
57 
58  static FramePoint *createFrame(const GEO_Face *face,
59  const GU_Detail *gdp,
60  const GA_PointGroup *boundary_points,
61  int ufrom,
62  int vfrom,
63  float orientation,
64  const char *density_attribute);
65  static void destroyFrame(FramePoint *frame);
66 
67  static void remapCoord(FramePoint *frame, int num_points,
68  float minuvalue, float maxuvalue,
69  float minvvalue, float maxvvalue);
70 
71  static void updateUVs(GU_Detail *gdp, const GA_PointGroup *connected_points,
72  FramePoint *frame,
73  const GA_PrimitiveGroup *connected_prims,
74  const GA_PointGroup *boundary_points, bool do_vertex,
75  float springconstant, int maxiterations,
76  bool (*callback_func)(void *),
77  void *callback_data, const char *tension_attribute);
78 
79 };
80 
81 #endif
#define GQ_API
Definition: GQ_API.h:10
GLboolean * data
Definition: glcorearb.h:130