SketchUp SDK
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
geometry_input.h
Go to the documentation of this file.
1 // Copyright 2013 Trimble Navigation Ltd. All Rights Reserved.
2 #ifndef SLAPI_MODEL_GEOMETRY_INPUT_H_
3 #define SLAPI_MODEL_GEOMETRY_INPUT_H_
4 
5 #include <slapi/geometry.h>
6 #include <slapi/slapi.h>
7 #include <slapi/model/defs.h>
8 #include <slapi/model/curve.h>
9 
10 #pragma pack(push, 8)
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
26 
27 
39  size_t num_uv_coords;
40 
41 
42  struct SUPoint2D uv_coords[4];
43 
44  size_t vertex_indices[4];
45 
46 
47 
49 };
50 
62 SU_RESULT SUGeometryInputCreate(SUGeometryInputRef* geom_input);
63 
72 SU_RESULT SUGeometryInputRelease(SUGeometryInputRef* geom_input);
73 
83 SU_RESULT SUGeometryInputAddVertex(SUGeometryInputRef geom_input,
84  const struct SUPoint3D* point);
85 
98  size_t num_vertices,
99  const struct SUPoint3D points[]);
100 
109 SU_RESULT SULoopInputCreate(SULoopInputRef* loop_input);
110 
119 SU_RESULT SULoopInputRelease(SULoopInputRef* loop_input);
120 
132 SU_RESULT SULoopInputAddVertexIndex(SULoopInputRef loop_input,
133  size_t vertex_index);
134 
146 SU_RESULT SULoopInputEdgeSetHidden(SULoopInputRef loop_input,
147  size_t edge_index,
148  bool hidden);
149 
161 SU_RESULT SULoopInputEdgeSetSoft(SULoopInputRef loop_input,
162  size_t edge_index,
163  bool soft);
164 
176 SU_RESULT SULoopInputEdgeSetSmooth(SULoopInputRef loop_input,
177  size_t edge_index,
178  bool smooth);
179 
191 SU_RESULT SULoopInputAddCurve(SULoopInputRef loop_input,
192  size_t first_edge_index,
193  size_t last_edge_index);
194 
209 SU_RESULT SUGeometryInputAddFace(SUGeometryInputRef geom_input,
210  SULoopInputRef* outer_loop,
211  size_t* added_face_index);
212 
226  size_t face_index,
227  bool reverse);
228 
241  size_t face_index,
242  SULayerRef layer);
243 
259  size_t face_index,
260  SULoopInputRef* loop_input);
261 
275  SUGeometryInputRef geom_input,
276  size_t face_index,
277  const struct SUMaterialInput* material_input);
278 
292  SUGeometryInputRef geom_input,
293  size_t face_index,
294  const struct SUMaterialInput* material_input);
295 
296 #ifdef __cplusplus
297 } // extern "C"
298 #endif
299 #pragma pack(pop)
300 
301 #endif // SLAPI_MODEL_GEOMETRY_INPUT_H_