IVertexEx_KC(64) Interface
- GetStarElementCount
- GetStarEdge
- GetStarSimplex
- IsInteriorVertex
- GetLinkingEdge
- FindStarElement
IVertexEx_KC gives access to adjacency information related to vertices
IVertexEx_KC can be queried from IVertex
interface. The mesh must be in upgraded
state for this interface to be available. Query IVertex
from IVertexEx_KC to access base level information about the vertex.
Star of a vertex is the set of simplexes joined at the vertex
See also Morph sample
HRESULT GetStarElementCount(int elementType, int* count)
Parameters
elementType - [in] element type to query. 1 - edges, 2 - simplexes
count - [out,retval] Count of the specified elements joined at the vertex
-
- Remarks:
-
Returns count of the specified elements joined at the vertex. When elementType
is 1 the method return number of edges and number of simplexes otherwise.
When the vertex is interior (does not belong to mesh edge) the returned numbed
does not depend on elementType and is the number of
simplexes joined at the vertex. When the vertex lies on the mesh edge count of
segments equals to number of simplexes plus one.
HRESULT GetStarVertex(int i, IVertexEx_KC** vertex )
Parameters
i - [in] 0-based index of the vertex to retrieve.
i must be less than the number returned by GetStarElementCount(1, ...)
vertex- [out,retval] - the opposite to this vertex end
of the i-th edge of star of this vertex
Remarks:
Returns i-th neighbour (star) vertex of this vertex. When this is not an interior
vertex star vertices are numbered starting from the "out" edge which lies on the
edge of the mesh. For an interior vertex numbering of vertices must be
considered random.
HRESULT GetStarEdge(int i, IEdge_KC** edge )
Parameters
i - [in] 0-based index of the edge to retrieve. i must
be less than the number returned by GetStarElementCount(1, ...)
edge- [out,retval] - the i-th edge of star of this
vertex
Remarks:
Returns i-th edge joined at this vertex. When this is not an interior vertex the
edges are numbered starting from the "out" edge which lies on the edge of the
mesh. For an interior vertex numbering of vertices must be considered random.
HRESULT GetStarSimplex(int i, ISimplexEx_KC** simplex )
Parameters
i - [in] 0-based index of the simplex to retrieve. i
must be less than the number returned by GetStarElementCount(2, ...)
simplex - [out,retval] - the i-th simplex of star of this
vertex
Remarks:
Returns i-th simplex joined at this vertex. When this is not an interior vertex
the edges are numbered starting from the "out" edge which lies on the edge of
the mesh. For an interior vertex numbering of vertices must be considered
random.
HRESULT IsInteriorVertex(VARIANT_BOOL* interior)
-
- Remarks:
-
The method returns true when the vertex does not belong to the mesh edge. So the
number of simplexes joined at the vertex coinsides with the number of edges
HRESULT GetLinkingEdge(IVertex* vertex, IEdge_KC** edge )
Parameters
vertex- [in] A vertex to test for
linkage
edge- [out,retval] The returned linking
edge or NULL if it does not exist. See remarks
-
- Remarks:
-
The method returns the edge which joins this and vertex
if it exists or NULL if there is no simplex which has the two verticies as its
corners. The method can be used to test wether the verticies are neighbours.
HRESULT FindStarElement(IObject_KC* vertexSimplexOrEdge, int* index )
Parameters
vertexSimplexOrEdge- [in] The element to
find.
index- [out,retval] Index of the element
in start of this vertex or -1 if not found
-
- Remarks:
-
The method searches the star of this vertex for the element which implements
vertexSimplexOrEdge and returns its index as described in
GetStar*() methods above. The vertexSimplexOrEdge is
assumed to be queried from one of: ISimplex, ISimplexEx_KC, IVertex, IVertexEx_KC, IEdge_KC
|