HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_PointCapture.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_PointCapture.h ( GU Library, C++)
7  *
8  * COMMENTS:
9  * GU_PointCapture creates capture weights for use with linear blend skinning.
10  * The technique implemented here allows smooth transformations
11  * with small capture radii.
12  */
13 
14 #ifndef __GU_PointCapture__
15 #define __GU_PointCapture__
16 
17 #include "GU_API.h"
18 
19 #include <UT/UT_StringHolder.h>
20 
21 #include <SYS/SYS_Types.h>
22 
24 {
27  QUADRATIC,
28  LINEAR
29 };
30 
32 {
35  NONE
36 };
37 
39 {
40  AS_SURFACE,
41  AS_SOLID,
42  NONE
43 };
44 
46 {
48 
51 
54 
56 
57  // If enabled, output the correspondence between rest points
58  // and the (subdivided) capture mesh in the form of extra attributes:
60 };
61 
62 class GEO_Detail;
63 class GA_PointGroup;
64 
66 {
67  PC_FAILED,
70 };
71 
73 {
75 
76  // Failure message in case myStatus == PC_FAILED
77  // Warning message in case myStatus == PC_SUCCEEDED
78  // empty string otherwise
80 };
81 
83 {
85 
86  // Create capture weights for each point of 'point_group' on 'detail'
87  // based on 'capture_detail'
88  GU_PointCaptureResult operator()(
89  GEO_Detail& detail,
90  const Configuration& configuration,
91  const GA_PointGroup*const point_group,
92  const GEO_Detail& capture_detail,
93  const char*const capture_points_attribute_name,
94  const char*const capture_weights_attribute_name
95  ) const noexcept;
96 };
97 
99 {
102 };
103 
104 
106 {
107  PC_FAILED,
108  PC_SUCCEEDED,
110 };
111 
113 {
115 
116  // Failure message in case myStatus == PC_FAILED
117  // Warning message in case myStatus == PC_SUCCEEDED
118  // empty string otherwise
120 };
121 
123 {
125 
126  GU_SimplexRefineResult operator()(
127  GEO_Detail& detail,
128  const Configuration& configuration,
129  const GEO_Detail& capture_detail
130  ) const noexcept;
131 };
132 
133 #endif
GU_SimplexRefineStatus myStatus
UT_StringHolder myMessage
GU_PointCaptureSmoothingMethod
GU_PointCaptureSmoothingMethod mySmoothingMethod
GU_PointCaptureStatus
int64 exint
Definition: SYS_Types.h:125
UT_StringHolder myMessage
GU_PointCaptureSmoothingMethod mySmoothingMethod
#define GU_API
Definition: GU_API.h:14
GU_PointCaptureKernelType
GU_SimplexRefineStatus
GU_PointCaptureTetMeshTreatment
GU_PointCaptureTetMeshTreatment myTetMeshTreatment
GU_PointCaptureStatus myStatus