Module vecmath

Interface Mesh

All Known Implementing Classes:
PolygonArray, SubPatch

public interface Mesh
Instances of this interface define a polygonal mesh which can be used in MeshVolume to define a volume. The polygons are obtained through getPolygon(int, int[], int[]) as index arrays into the list of vertices which is obtained through getVertex(int, javax.vecmath.Tuple3d) and the list of normals which is obtained through getNormal(int, javax.vecmath.Tuple3d).
Author:
Ole Kniemeyer
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the maximum number of edges of a single polygon of the mesh.
    void
    getNormal(int index, Tuple3d out)
    Gets the normal vector of normal index.
    int
    Returns the number of normals of the mesh.
    int
    getPolygon(int index, int[] indicesOut, int[] normalsOut)
    Writes the vertex indices of polygon index to indicesOut and the normal indices to normalsOut and returns the number of vertices of the polygon.
    int
    Returns the number of polygons of the mesh.
    void
    getUV(int index, Tuple2d out)
    Gets the uv coordinates of vertex index.
    void
    getVertex(int index, Tuple3d out)
    Gets the spatial vertex coordinates of vertex index.
    int
    Returns the number of vertices of the mesh.
    boolean
    Indicates whether this mesh is a closed surface or not.
    boolean
    isPolygonPlanar(int index)
    Returns true iff the polygon number index is planar.
  • Method Details

    • getPolygonCount

      int getPolygonCount()
      Returns the number of polygons of the mesh.
      Returns:
      number of polygons
    • getMaxEdgeCount

      int getMaxEdgeCount()
      Returns the maximum number of edges of a single polygon of the mesh.
      Returns:
      maximum number of edges
    • getVertexCount

      int getVertexCount()
      Returns the number of vertices of the mesh.
      Returns:
      number of vertices
    • getNormalCount

      int getNormalCount()
      Returns the number of normals of the mesh.
      Returns:
      number of normals
    • isPolygonPlanar

      boolean isPolygonPlanar(int index)
      Returns true iff the polygon number index is planar.
      Parameters:
      index - polygon number
      Returns:
      is polygon planar?
    • getPolygon

      int getPolygon(int index, int[] indicesOut, int[] normalsOut)
      Writes the vertex indices of polygon index to indicesOut and the normal indices to normalsOut and returns the number of vertices of the polygon. If the mesh is closed (see isClosed()), inside and outside are determined by the ordering of the vertices: when seen from the outside, vertices have to be oriented in a counter-clockwise manner. Then also the normal vectors have to point to the outside.
      Parameters:
      index - polygon number
      indicesOut - the vertex indices will be placed in here
      normalsOut - the normal indices will be placed in here
      Returns:
      number of vertex indices of polygon
    • getVertex

      void getVertex(int index, Tuple3d out)
      Gets the spatial vertex coordinates of vertex index.
      Parameters:
      index - vertex number
      out - vertex coordinates will be placed in here
    • getNormal

      void getNormal(int index, Tuple3d out)
      Gets the normal vector of normal index. The normal vector is not necessarily normalized.
      Parameters:
      index - normal number
      out - normal vector will be placed in here
    • getUV

      void getUV(int index, Tuple2d out)
      Gets the uv coordinates of vertex index.
      Parameters:
      index - vertex number
      out - uv coordinates will be placed in here
    • isClosed

      boolean isClosed()
      Indicates whether this mesh is a closed surface or not. If it is closed, normal vectors have to point to the exterior.
      Returns:
      is surface closed?