SketchUp SDK
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
edge_use.h File Reference
#include <slapi/slapi.h>
#include <slapi/geometry.h>
#include <slapi/model/defs.h>

Go to the source code of this file.

Functions

SU_EXPORT SUEntityRef SUEdgeUseToEntity (SUEdgeUseRef edgeuse)
 Converts from an SUEdgeUseRef to an SUEntityRef. This is essentially an upcast operation. More...
 
SU_EXPORT SUEdgeUseRef SUEdgeUseFromEntity (SUEntityRef entity)
 Converts from an SUEntityRef to an SUEdgeUseRef. This is essentially a downcast operation so the given SUEntityRef must be convertible to an SUEdgeUseRef. More...
 
SU_RESULT SUEdgeUseGetEdge (SUEdgeUseRef edgeuse, SUEdgeRef *edge)
 Retrieves the edge object the EdgeUse object belongs to. More...
 
SU_RESULT SUEdgeUseGetLoop (SUEdgeUseRef edgeuse, SULoopRef *loop)
 Retrieves the loop object the EdgeUse object is associated with. More...
 
SU_RESULT SUEdgeUseGetFace (SUEdgeUseRef edgeuse, SUFaceRef *face)
 Retrieves the face object the EdgeUse object is associated with. More...
 
SU_RESULT SUEdgeUseGetNumPartners (SUEdgeUseRef edgeuse, size_t *count)
 Retrieves the number of EdgeUse objects that are linked to the EdgeUse object. More...
 
SU_RESULT SUEdgeUseGetPartners (SUEdgeUseRef edgeuse, size_t len, SUEdgeUseRef partners[], size_t *count)
 Retrieves the EdgeUse objects that are linked to the EdgeUse object. More...
 
SU_RESULT SUEdgeUseIsReversed (SUEdgeUseRef edgeuse, bool *reversed)
 Retrieves a flag indicating whether this EdgeUse is traversed in the opposite direction as its corresponding edge. More...
 
SU_RESULT SUEdgeUseGetPrevious (SUEdgeUseRef edgeuse, SUEdgeUseRef *prev_edgeuse)
 Retrieves the EdgeUse object just preceding an EdgeUse object in the collection of linked EdgeUses. More...
 
SU_RESULT SUEdgeUseGetNext (SUEdgeUseRef edgeuse, SUEdgeUseRef *next_edgeuse)
 Retrieves the EdgeUse object just following an EdgeUse object in the collection of linked EdgeUses. More...
 
SU_RESULT SUEdgeUseGetStartVertex (SUEdgeUseRef edgeuse, SUVertexRef *vertex)
 Retrieves the start vertex of an EdgeUse object. The start vertex of the EdgeUse object may not be the same as the start vertex of the corresponding edge of the EdgeUse object. An EdgeUse object is part of a face loop whose direction may be the reverse of the direction of the edge. More...
 
SU_RESULT SUEdgeUseGetEndVertex (SUEdgeUseRef edgeuse, SUVertexRef *vertex)
 Retrieves the end vertex of an EdgeUse object. More...
 
SU_RESULT SUEdgeUseGetStartVertexNormal (SUEdgeUseRef edgeuse, struct SUVector3D *normal)
 Retrieves the normal vector at the start vertex of an EdgeUse object. More...
 
SU_RESULT SUEdgeUseGetEndVertexNormal (SUEdgeUseRef edgeuse, struct SUVector3D *normal)
 Retrieves the normal vector at the end vertex of an EdgeUse object. More...
 

Function Documentation

SU_EXPORT SUEdgeUseRef SUEdgeUseFromEntity ( SUEntityRef  entity)

Converts from an SUEntityRef to an SUEdgeUseRef. This is essentially a downcast operation so the given SUEntityRef must be convertible to an SUEdgeUseRef.

Parameters
[in]entityThe given entity reference.
Returns
  • The converted SUEdgeUseRef if the downcast operation succeeds.
  • If not, the returned reference will be invalid.
SU_RESULT SUEdgeUseGetEdge ( SUEdgeUseRef  edgeuse,
SUEdgeRef edge 
)

Retrieves the edge object the EdgeUse object belongs to.

Parameters
[in]edgeuseThe EdgeUse object.
[out]edgeThe edge object retrieved.
Returns
SU_RESULT SUEdgeUseGetEndVertex ( SUEdgeUseRef  edgeuse,
SUVertexRef vertex 
)

Retrieves the end vertex of an EdgeUse object.

The end vertex of the EdgeUse object may not be the same as the end vertex of the corresponding edge of the EdgeUse object. An EdgeUse object is part of a face loop whose direction may be the reverse of the direction of the edge.

Parameters
[in]edgeuseThe EdgeUse object.
[out]vertexThe vertex object retrieved.
Returns
SU_RESULT SUEdgeUseGetEndVertexNormal ( SUEdgeUseRef  edgeuse,
struct SUVector3D normal 
)

Retrieves the normal vector at the end vertex of an EdgeUse object.

Parameters
[in]edgeuseThe EdgeUse object.
[out]normalThe normal vector retrieved.
Returns
SU_RESULT SUEdgeUseGetFace ( SUEdgeUseRef  edgeuse,
SUFaceRef face 
)

Retrieves the face object the EdgeUse object is associated with.

Parameters
[in]edgeuseThe EdgeUse object.
[out]faceThe face object retrieved.
Returns
SU_RESULT SUEdgeUseGetLoop ( SUEdgeUseRef  edgeuse,
SULoopRef loop 
)

Retrieves the loop object the EdgeUse object is associated with.

Parameters
[in]edgeuseThe EdgeUse object.
[out]loopThe loop object retrieved.
Returns
SU_RESULT SUEdgeUseGetNext ( SUEdgeUseRef  edgeuse,
SUEdgeUseRef next_edgeuse 
)

Retrieves the EdgeUse object just following an EdgeUse object in the collection of linked EdgeUses.

Parameters
[in]edgeuseThe EdgeUse object.
[out]next_edgeuseThe EdgeUse retrieved.
Returns
SU_RESULT SUEdgeUseGetNumPartners ( SUEdgeUseRef  edgeuse,
size_t *  count 
)

Retrieves the number of EdgeUse objects that are linked to the EdgeUse object.

Parameters
[in]edgeuseThe EdgeUse object.
[out]countThe number of partners.
Returns
SU_RESULT SUEdgeUseGetPartners ( SUEdgeUseRef  edgeuse,
size_t  len,
SUEdgeUseRef  partners[],
size_t *  count 
)

Retrieves the EdgeUse objects that are linked to the EdgeUse object.

Parameters
[in]edgeuseThe EdgeUse object.
[in]lenThe number of partners to retrieve.
[out]partnersThe partners retrieved.
[out]countThe number of partners retrieved.
Returns
SU_RESULT SUEdgeUseGetPrevious ( SUEdgeUseRef  edgeuse,
SUEdgeUseRef prev_edgeuse 
)

Retrieves the EdgeUse object just preceding an EdgeUse object in the collection of linked EdgeUses.

Parameters
[in]edgeuseThe EdgeUse object.
[out]prev_edgeuseThe EdgeUse retrieved.
Returns
SU_RESULT SUEdgeUseGetStartVertex ( SUEdgeUseRef  edgeuse,
SUVertexRef vertex 
)

Retrieves the start vertex of an EdgeUse object. The start vertex of the EdgeUse object may not be the same as the start vertex of the corresponding edge of the EdgeUse object. An EdgeUse object is part of a face loop whose direction may be the reverse of the direction of the edge.

Parameters
[in]edgeuseThe EdgeUse object.
[out]vertexThe vertex object retrieved.
Returns
SU_RESULT SUEdgeUseGetStartVertexNormal ( SUEdgeUseRef  edgeuse,
struct SUVector3D normal 
)

Retrieves the normal vector at the start vertex of an EdgeUse object.

Parameters
[in]edgeuseThe EdgeUse object.
[out]normalThe normal vector retrieved.
Returns
SU_RESULT SUEdgeUseIsReversed ( SUEdgeUseRef  edgeuse,
bool *  reversed 
)

Retrieves a flag indicating whether this EdgeUse is traversed in the opposite direction as its corresponding edge.

Parameters
[in]edgeuseThe EdgeUse object.
[out]reversedThe retrieved flag.
Returns
SU_EXPORT SUEntityRef SUEdgeUseToEntity ( SUEdgeUseRef  edgeuse)

Converts from an SUEdgeUseRef to an SUEntityRef. This is essentially an upcast operation.

Parameters
[in]edgeuseThe given edge use reference.
Returns
  • The converted SUEntityRef if edgeuse is a valid edge use.
  • If not, the returned reference will be invalid.