SketchUp SDK
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
face.h
Go to the documentation of this file.
1 // Copyright 2013 Trimble Navigation Ltd. All Rights Reserved.
2 #ifndef SLAPI_MODEL_FACE_H_
3 #define SLAPI_MODEL_FACE_H_
4 
5 #include <slapi/slapi.h>
6 #include <slapi/geometry.h>
8 #include <slapi/model/defs.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
27 SU_EXPORT SUEntityRef SUFaceToEntity(SUFaceRef face);
28 
38 SU_EXPORT SUFaceRef SUFaceFromEntity(SUEntityRef entity);
39 
49 
60  drawing_elem);
61 
79 SU_RESULT SUFaceCreate(SUFaceRef* face,
80  const struct SUPoint3D vertices3d[],
81  SULoopInputRef* outer_loop);
82 
96 SU_RESULT SUFaceCreateSimple(SUFaceRef* face,
97  const struct SUPoint3D vertices3d[],
98  size_t len);
99 
109 SU_RESULT SUFaceGetNormal(SUFaceRef face, struct SUVector3D* normal);
110 
119 SU_RESULT SUFaceRelease(SUFaceRef* face);
120 
130 SU_RESULT SUFaceGetNumEdges(SUFaceRef face, size_t* count);
131 
143 SU_RESULT SUFaceGetEdges(SUFaceRef face, size_t len, SUEdgeRef edges[],
144  size_t* count);
145 
155 SU_RESULT SUFaceGetPlane(SUFaceRef face, struct SUPlane3D* plane);
156 
166 SU_RESULT SUFaceGetNumVertices(SUFaceRef face, size_t* count);
167 
179 SU_RESULT SUFaceGetVertices(SUFaceRef face, size_t len,
180  SUVertexRef vertices[], size_t* count);
181 
191 SU_RESULT SUFaceGetOuterLoop(SUFaceRef face, SULoopRef* loop);
192 
202 SU_RESULT SUFaceGetNumInnerLoops(SUFaceRef face, size_t* count);
203 
215 SU_RESULT SUFaceGetInnerLoops(SUFaceRef face, size_t len, SULoopRef loops[],
216  size_t* count);
217 
234 SU_RESULT SUFaceAddInnerLoop(SUFaceRef face,
235  const struct SUPoint3D vertices3d[],
236  SULoopInputRef* loop);
237 
247 SU_RESULT SUFaceGetFrontMaterial(SUFaceRef face, SUMaterialRef* material);
248 
257 SU_RESULT SUFaceSetFrontMaterial(SUFaceRef face, SUMaterialRef material);
258 
268 SU_RESULT SUFaceGetBackMaterial(SUFaceRef face,
269  SUMaterialRef* material);
270 
279 SU_RESULT SUFaceSetBackMaterial(SUFaceRef face, SUMaterialRef material);
280 
293 SU_RESULT SUFaceIsFrontMaterialAffine(SUFaceRef face, bool* is_affine);
294 
307 SU_RESULT SUFaceIsBackMaterialAffine(SUFaceRef face, bool* is_affine);
308 
319 SU_RESULT SUFaceGetArea(SUFaceRef face, double* area);
320 
332 SU_RESULT SUFaceIsComplex(SUFaceRef face, bool* is_complex);
333 
350 SU_RESULT SUFaceGetUVHelper(SUFaceRef face, bool front, bool back,
351  SUTextureWriterRef texture_writer,
352  SUUVHelperRef* uv_helper);
353 
373  bool front,
374  bool back,
375  SUTextureWriterRef texture_writer,
376  long textureHandle,
377  SUUVHelperRef* uv_helper);
378 
379 #ifdef __cplusplus
380 } // extern "C" {
381 #endif
382 
383 #endif // SLAPI_MODEL_FACE_H_