HE_Mesh  5.1.2
wblut.hemesh.HET_MeshOp Class Reference

Static Public Member Functions

static HE_Selection splitEdge (final HE_Mesh mesh, final HE_Halfedge edge)
 
static HE_Selection splitEdge (final HE_Mesh mesh, final HE_Halfedge edge, final double f)
 
static void splitEdge (final HE_Mesh mesh, final HE_Halfedge edge, final double x, final double y, final double z)
 
static void splitEdge (final HE_Mesh mesh, final HE_Halfedge edge, final double[] f)
 
static void splitEdge (final HE_Mesh mesh, final HE_Halfedge edge, final float[] f)
 
static HE_Selection splitEdge (final HE_Mesh mesh, final HE_Halfedge edge, final WB_Coord v)
 
static HE_Selection splitEdge (final HE_Mesh mesh, final long key)
 
static HE_Selection splitEdge (final HE_Mesh mesh, final long key, final double f)
 
static void splitEdge (final HE_Mesh mesh, final long key, final double x, final double y, final double z)
 
static void splitEdge (final HE_Mesh mesh, final long key, final double[] f)
 
static void splitEdge (final HE_Mesh mesh, final long key, final float[] f)
 
static HE_Selection splitEdge (final HE_Mesh mesh, final Long key, final WB_Point v)
 
static HE_Selection splitEdges (final HE_Mesh mesh)
 
static HE_Selection splitEdges (final HE_Mesh mesh, final double offset)
 
static HE_Selection splitEdges (final HE_Selection selection)
 
static HE_Selection splitEdges (final HE_Selection selection, final double offset)
 
static void divideEdge (final HE_Mesh mesh, final HE_Halfedge origE, final int n)
 
static void divideEdge (final HE_Mesh mesh, final long key, final int n)
 
static HE_Selection splitFace (final HE_Mesh mesh, final HE_Face face, final HE_Vertex vi, final HE_Vertex vj)
 
static HE_Selection splitFace (final HE_Mesh mesh, final long fkey, final long vkeyi, final long vkeyj)
 
static HE_Selection splitFacesCenter (final HE_Mesh mesh)
 
static HE_Selection splitFacesCenter (final HE_Mesh mesh, final double d)
 
static HE_Selection splitFacesCenter (final HE_Mesh mesh, final double d, final double c)
 
static HE_Selection splitFacesCenter (final HE_Selection faces)
 
static HE_Selection splitFacesCenter (final HE_Selection faces, final double d)
 
static HE_Selection splitFacesCenter (final HE_Selection faces, final double d, final double c)
 
static HE_Selection splitFacesCenterHole (final HE_Mesh mesh)
 
static HE_Selection splitFacesCenterHole (final HE_Mesh mesh, final double d)
 
static HE_Selection splitFacesCenterHole (final HE_Mesh mesh, final double d, final double c)
 
static HE_Selection splitFacesCenterHole (final HE_Selection faces)
 
static HE_Selection splitFacesCenterHole (final HE_Selection faces, final double d)
 
static HE_Selection splitFacesCenterHole (final HE_Selection faces, final double d, final double c)
 
static HE_Selection splitFacesHybrid (final HE_Mesh mesh)
 
static HE_Selection splitFacesHybrid (final HE_Selection sel)
 
static HE_Selection splitFacesMidEdge (final HE_Mesh mesh)
 
static HE_Selection splitFacesMidEdge (final HE_Selection selection)
 
static HE_Selection splitFacesMidEdgeHole (final HE_Mesh mesh)
 
static HE_Selection splitFacesMidEdgeHole (final HE_Selection selection)
 
static HE_Selection splitFacesQuad (final HE_Mesh mesh)
 
static HE_Selection splitFacesQuad (final HE_Mesh mesh, final double d)
 
static HE_Selection splitFacesQuad (final HE_Selection sel)
 
static HE_Selection splitFacesQuad (final HE_Selection sel, final double d)
 
static HE_Selection splitFacesTri (final HE_Mesh mesh)
 
static HE_Selection splitFacesTri (final HE_Mesh mesh, final double d)
 
static HE_Selection splitFacesTri (final HE_Selection selection)
 
static HE_Selection splitFacesTri (final HE_Selection selection, final double d)
 
static HE_Selection triangulate (final HE_Mesh mesh)
 
static HE_Selection triangulate (final HE_Mesh mesh, final HE_Face face)
 
static HE_Selection triangulate (final HE_Selection sel)
 
static HE_Selection triangulate (final HE_Mesh mesh, final long key)
 
static HE_Selection triangulateConcaveFace (final HE_Mesh mesh, final HE_Face face)
 
static HE_Selection triangulateConcaveFace (final HE_Mesh mesh, final long key)
 
static HE_Selection triangulateConcaveFaces (final HE_Mesh mesh)
 
static HE_Selection triangulateConcaveFaces (final HE_Mesh mesh, final List< HE_Face > sel)
 
static HE_Selection triangulateFaceStar (final HE_Mesh mesh, final HE_Vertex v)
 
static HE_Selection triangulateFaceStar (final HE_Mesh mesh, final long vertexkey)
 
static HE_Face createFaceFromHalfedgeLoop (final HE_Mesh mesh, final HE_Halfedge he)
 
static List< HE_FacecreateFaceFromHalfedgeLoop (final HE_Mesh mesh, final List< HE_Halfedge > hes)
 
static HE_RAS< HE_FaceselectAllFacesConnectedToUnpairedHalfedge (final HE_Mesh mesh, final HE_Halfedge unpairedHalfedge)
 
static HE_Mesh flipFaces (final HE_Mesh mesh)
 
static void flipFaces (final HE_Mesh mesh, final HE_RAS< HE_Face > faces)
 
static boolean flipEdge (final HE_Mesh mesh, final HE_Halfedge he)
 
static boolean flipEdgeConditional (final HE_Mesh mesh, final HE_Halfedge he)
 
static boolean flipPlanarEdgeConditional (final HE_Mesh mesh, final HE_Halfedge he, final double cosa)
 
static boolean flipPlanarEdgeConditional (final HE_Mesh mesh, final HE_Halfedge he)
 
static void improveTriangulation (final HE_Mesh mesh, final HE_Selection triangles)
 
static void improveTriangulation (final HE_Mesh mesh)
 
static void improveTriangulation (final HE_Mesh mesh, final double cosa)
 
static void improveTriangulation (final HE_Mesh mesh, final HE_Selection triangles, final double cosa)
 
static HE_MeshStructure cleanUnusedElementsByFace (final HE_MeshStructure mesh)
 
static void assignFaceToLoop (final HE_Mesh mesh, final HE_Face face, final HE_Halfedge halfedge)
 
static HE_FaceIntersection getIntersection (final HE_Face face, final WB_Line line)
 
static HE_FaceIntersection getIntersection (final HE_Face face, final WB_Ray ray)
 
static HE_FaceIntersection getIntersection (final HE_Face face, final WB_Segment segment)
 
static double getIntersection (final HE_Halfedge e, final WB_Plane P)
 
static List< HE_FaceIntersectiongetIntersection (final WB_AABBTree tree, final WB_Ray ray)
 
static boolean isInside (final HE_Mesh mesh, final WB_Coord p)
 
static boolean isInside (final WB_AABBTree tree, final WB_Coord p)
 
static List< HE_FaceIntersectiongetIntersection (final WB_AABBTree tree, final WB_Segment segment)
 
static List< HE_FaceIntersectiongetIntersection (final WB_AABBTree tree, final WB_Line line)
 
static List< WB_SegmentgetIntersection (final WB_AABBTree tree, final WB_Plane P)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_Plane P)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_Triangle T)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_AABB AABB)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_Coord p)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_Ray R)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_Line L)
 
static List< HE_FacegetPotentialIntersectedFaces (final WB_AABBTree tree, final WB_Segment segment)
 
static HE_FaceIntersection getClosestIntersection (final WB_AABBTree tree, final WB_Ray ray)
 
static HE_FaceIntersection getFurthestIntersection (final WB_AABBTree tree, final WB_Ray ray)
 
static HE_FaceIntersection getClosestIntersection (final WB_AABBTree tree, final WB_Line line)
 
static HE_FaceIntersection getFurthestIntersection (final WB_AABBTree tree, final WB_Line line)
 
static HE_FaceIntersection getClosestIntersection (final WB_AABBTree tree, final WB_Segment segment)
 
static HE_FaceIntersection getFurthestIntersection (final WB_AABBTree tree, final WB_Segment segment)
 
static List< HE_FaceIntersectiongetIntersection (final HE_Mesh mesh, final WB_Ray ray)
 
static List< HE_FaceIntersectiongetIntersection (final HE_Mesh mesh, final WB_Segment segment)
 
static List< HE_FaceIntersectiongetIntersection (final HE_Mesh mesh, final WB_Line line)
 
static List< WB_SegmentgetIntersection (final HE_Mesh mesh, final WB_Plane P)
 
static List< HE_FacegetPotentialIntersectedFaces (final HE_Mesh mesh, final WB_Plane P)
 
static List< HE_FacegetPotentialIntersectedFaces (final HE_Mesh mesh, final WB_Ray R)
 
static List< HE_FacegetPotentialIntersectedFaces (final HE_Mesh mesh, final WB_Line L)
 
static List< HE_FacegetPotentialIntersectedFaces (final HE_Mesh mesh, final WB_Segment segment)
 
static HE_FaceIntersection getClosestIntersection (final HE_Mesh mesh, final WB_Ray ray)
 
static HE_FaceIntersection getFurthestIntersection (final HE_Mesh mesh, final WB_Ray ray)
 
static HE_FaceIntersection getClosestIntersection (final HE_Mesh mesh, final WB_Line line)
 
static HE_FaceIntersection getFurthestIntersection (final HE_Mesh mesh, final WB_Line line)
 
static HE_FaceIntersection getClosestIntersection (final HE_Mesh mesh, final WB_Segment segment)
 
static HE_FaceIntersection getFurthestIntersection (final HE_Mesh mesh, final WB_Segment segment)
 
static WB_Classification classifyFaceToPlane3D (final HE_Face f, final WB_Plane P)
 
static WB_Classification classifyEdgeToPlane3D (final HE_Halfedge edge, final WB_Plane P)
 
static WB_Classification classifyVertexToPlane3D (final HE_Vertex v, final WB_Plane P)
 
static WB_Classification getVertexType (final HE_Vertex vertex)
 
static WB_CoordinateSystem3D getVertexCS (final HE_Vertex v)
 
static WB_Coord getVertexNormal (final HE_Vertex v)
 
static WB_Coord getVertexAverageNormal (final HE_Vertex v)
 
static WB_Coord getVertexAreaNormal (final HE_Vertex v)
 
static WB_Coord getVertexAngleNormal (final HE_Vertex vertex)
 
static double getUmbrellaAngle (final HE_Vertex v)
 
static double getGaussianCurvature (final HE_Vertex vertex, final WB_Vector meanCurvatureVector)
 
static double getGaussianCurvature (final HE_Vertex vertex)
 
static WB_CoordinateSystem3D getCurvatureDirections (final HE_Vertex v)
 
static WB_Coord getFaceNormal (final HE_Face face)
 
static WB_Coord getNonNormFaceNormal (final HE_Face face)
 
static double getFaceArea (final HE_Face face)
 
static WB_Classification getFaceType (final HE_Face face)
 
static boolean collapseHalfedge (final HE_Mesh mesh, final HE_Halfedge he)
 
static boolean collapseHalfedgeBoundaryPreserving (final HE_Mesh mesh, final HE_Halfedge he)
 
static boolean collapseEdge (final HE_Mesh mesh, final HE_Halfedge e)
 
static boolean collapseEdgeBoundaryPreserving (final HE_Mesh mesh, final HE_Halfedge e, final boolean strict)
 
static boolean pointIsInFace (final WB_Coord p, final HE_Face f)
 
static boolean pointIsStrictlyInFace (final WB_Coord p, final HE_Face f)
 
static void expandVertexToEdge (final HE_Mesh mesh, final HE_Vertex v, final HE_Face f1, final HE_Face f2, final WB_Coord vn)
 
static double getVolume (final HE_Mesh mesh)
 
static WB_Coord[] getClosestPointToTriangleFace (final WB_Coord p, final HE_Face T)
 
static WB_Coord[] getClosestPointToTriangleMesh (final WB_Coord p, final HE_Mesh mesh)
 

Static Public Attributes

static final WB_ProgressTracker tracker = WB_ProgressTracker.instance()
 

Private Member Functions

 HET_MeshOp ()
 

Static Private Member Functions

static double computeNormal3D (final WB_Coord p0, final WB_Coord p1, final WB_Coord p2, WB_Vector tempD1, WB_Vector tempD2, final WB_Vector ret)
 
static WB_Vector findOptimalSolution (final HE_Vertex v, final WB_Vector normal, final WB_Vector t1, final WB_Vector t2)
 
static double signedVolume (final HE_Face f, final WB_Coord center)
 

Static Private Attributes

static WB_GeometryFactory gf = new WB_GeometryFactory()
 

Constructor & Destructor Documentation

wblut.hemesh.HET_MeshOp.HET_MeshOp ( )
private

Member Function Documentation

static void wblut.hemesh.HET_MeshOp.assignFaceToLoop ( final HE_Mesh  mesh,
final HE_Face  face,
final HE_Halfedge  halfedge 
)
static

Assign face to halfedge loop.

Parameters
mesh
faceface
halfedgehalfedge loop
static WB_Classification wblut.hemesh.HET_MeshOp.classifyEdgeToPlane3D ( final HE_Halfedge  edge,
final WB_Plane  P 
)
static
static WB_Classification wblut.hemesh.HET_MeshOp.classifyFaceToPlane3D ( final HE_Face  f,
final WB_Plane  P 
)
static
static WB_Classification wblut.hemesh.HET_MeshOp.classifyVertexToPlane3D ( final HE_Vertex  v,
final WB_Plane  P 
)
static
static HE_MeshStructure wblut.hemesh.HET_MeshOp.cleanUnusedElementsByFace ( final HE_MeshStructure  mesh)
static

Clean all mesh elements not used by any faces.

Parameters
mesh
Returns
self
static boolean wblut.hemesh.HET_MeshOp.collapseEdge ( final HE_Mesh  mesh,
final HE_Halfedge  e 
)
static

Collapse edge. End vertices are averaged. Degenerate faces are removed. This function can result in non-manifold meshes.

Parameters
mesh
eedge to collapse
Returns
true, if successful
static boolean wblut.hemesh.HET_MeshOp.collapseEdgeBoundaryPreserving ( final HE_Mesh  mesh,
final HE_Halfedge  e,
final boolean  strict 
)
static

Collapse edge to its midpoint or to point on boundary

Parameters
mesh
e
strictif true then an edge with two vertices on the boundary is always preserved
Returns
static boolean wblut.hemesh.HET_MeshOp.collapseHalfedge ( final HE_Mesh  mesh,
final HE_Halfedge  he 
)
static
static boolean wblut.hemesh.HET_MeshOp.collapseHalfedgeBoundaryPreserving ( final HE_Mesh  mesh,
final HE_Halfedge  he 
)
static

Collapse halfedge if its vertex doesn't belong to the boundary

Parameters
mesh
hehe
Returns
true, if successful
static double wblut.hemesh.HET_MeshOp.computeNormal3D ( final WB_Coord  p0,
final WB_Coord  p1,
final WB_Coord  p2,
WB_Vector  tempD1,
WB_Vector  tempD2,
final WB_Vector  ret 
)
staticprivate
Parameters
p0
p1
p2
tempD1
tempD2
ret
Returns
static HE_Face wblut.hemesh.HET_MeshOp.createFaceFromHalfedgeLoop ( final HE_Mesh  mesh,
final HE_Halfedge  he 
)
static
Parameters
mesh
he
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.createFaceFromHalfedgeLoop ( final HE_Mesh  mesh,
final List< HE_Halfedge hes 
)
static
Parameters
mesh
hes
Returns
static void wblut.hemesh.HET_MeshOp.divideEdge ( final HE_Mesh  mesh,
final HE_Halfedge  origE,
final int  n 
)
static

Divide edge.

Parameters
mesh
origEedge to divide
nnumber of parts
static void wblut.hemesh.HET_MeshOp.divideEdge ( final HE_Mesh  mesh,
final long  key,
final int  n 
)
static
Parameters
mesh
key
n
static void wblut.hemesh.HET_MeshOp.expandVertexToEdge ( final HE_Mesh  mesh,
final HE_Vertex  v,
final HE_Face  f1,
final HE_Face  f2,
final WB_Coord  vn 
)
static

Expand vertex to new edge.

Parameters
mesh
vvertex to expand
f1first face
f2second face
vnposition of new vertex
static WB_Vector wblut.hemesh.HET_MeshOp.findOptimalSolution ( final HE_Vertex  v,
final WB_Vector  normal,
final WB_Vector  t1,
final WB_Vector  t2 
)
staticprivate
Parameters
v
normal
t1
t2
Returns
static boolean wblut.hemesh.HET_MeshOp.flipEdge ( final HE_Mesh  mesh,
final HE_Halfedge  he 
)
static
Parameters
mesh
he
Returns
static boolean wblut.hemesh.HET_MeshOp.flipEdgeConditional ( final HE_Mesh  mesh,
final HE_Halfedge  he 
)
static
static HE_Mesh wblut.hemesh.HET_MeshOp.flipFaces ( final HE_Mesh  mesh)
static

Reverse all faces. Flips normals.

Parameters
mesh
Returns
static void wblut.hemesh.HET_MeshOp.flipFaces ( final HE_Mesh  mesh,
final HE_RAS< HE_Face faces 
)
static
Parameters
mesh
faces
static boolean wblut.hemesh.HET_MeshOp.flipPlanarEdgeConditional ( final HE_Mesh  mesh,
final HE_Halfedge  he,
final double  cosa 
)
static
static boolean wblut.hemesh.HET_MeshOp.flipPlanarEdgeConditional ( final HE_Mesh  mesh,
final HE_Halfedge  he 
)
static
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getClosestIntersection ( final WB_AABBTree  tree,
final WB_Ray  ray 
)
static
Parameters
tree
ray
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getClosestIntersection ( final WB_AABBTree  tree,
final WB_Line  line 
)
static
Parameters
tree
line
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getClosestIntersection ( final WB_AABBTree  tree,
final WB_Segment  segment 
)
static
Parameters
tree
segment
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getClosestIntersection ( final HE_Mesh  mesh,
final WB_Ray  ray 
)
static
Parameters
mesh
ray
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getClosestIntersection ( final HE_Mesh  mesh,
final WB_Line  line 
)
static
Parameters
mesh
line
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getClosestIntersection ( final HE_Mesh  mesh,
final WB_Segment  segment 
)
static
Parameters
mesh
segment
Returns
static WB_Coord [] wblut.hemesh.HET_MeshOp.getClosestPointToTriangleFace ( final WB_Coord  p,
final HE_Face  T 
)
static

Get the closest point to triangle face and its normal.

Parameters
ppoint
T
Returns
WB_Coord[2], first WB_Coord is the closest point, second WB_Coord is the normal
static WB_Coord [] wblut.hemesh.HET_MeshOp.getClosestPointToTriangleMesh ( final WB_Coord  p,
final HE_Mesh  mesh 
)
static
static WB_CoordinateSystem3D wblut.hemesh.HET_MeshOp.getCurvatureDirections ( final HE_Vertex  v)
static
Returns
static double wblut.hemesh.HET_MeshOp.getFaceArea ( final HE_Face  face)
static
static WB_Coord wblut.hemesh.HET_MeshOp.getFaceNormal ( final HE_Face  face)
static
static WB_Classification wblut.hemesh.HET_MeshOp.getFaceType ( final HE_Face  face)
static
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getFurthestIntersection ( final WB_AABBTree  tree,
final WB_Ray  ray 
)
static
Parameters
tree
ray
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getFurthestIntersection ( final WB_AABBTree  tree,
final WB_Line  line 
)
static
Parameters
tree
line
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getFurthestIntersection ( final WB_AABBTree  tree,
final WB_Segment  segment 
)
static
Parameters
tree
segment
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getFurthestIntersection ( final HE_Mesh  mesh,
final WB_Ray  ray 
)
static
Parameters
mesh
ray
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getFurthestIntersection ( final HE_Mesh  mesh,
final WB_Line  line 
)
static
Parameters
mesh
line
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getFurthestIntersection ( final HE_Mesh  mesh,
final WB_Segment  segment 
)
static
Parameters
mesh
segment
Returns
static double wblut.hemesh.HET_MeshOp.getGaussianCurvature ( final HE_Vertex  vertex,
final WB_Vector  meanCurvatureVector 
)
static

Returns the discrete Gaussian curvature and the mean normal. These discrete operators are described in "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds", Mark Meyer, Mathieu Desbrun, Peter Schr�der, and Alan H. Barr. http://www.cs.caltech.edu/~mmeyer/Publications/diffGeomOps.pdf http://www.cs.caltech.edu/~mmeyer/Publications/diffGeomOps.pdf Note: on a sphere, the Gaussian curvature is very accurate, but not the mean curvature. Guoliang Xu suggests improvements in his papers http://lsec.cc.ac.cn/~xuguo/xuguo3.htm

Parameters
vertex
meanCurvatureVector
Returns
static double wblut.hemesh.HET_MeshOp.getGaussianCurvature ( final HE_Vertex  vertex)
static

Returns the discrete Gaussian curvature. These discrete operators are described in "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds", Mark Meyer, Mathieu Desbrun, Peter Schröder, and Alan H. Barr. http://www.cs.caltech.edu/~mmeyer/Publications/diffGeomOps.pdf http://www.cs.caltech.edu/~mmeyer/Publications/diffGeomOps.pdf Note: on a sphere, the Gaussian curvature is very accurate, but not the mean curvature. Guoliang Xu suggests improvements in his papers http://lsec.cc.ac.cn/~xuguo/xuguo3.htm

Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Face  face,
final WB_Line  line 
)
static
Parameters
face
line
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Face  face,
final WB_Ray  ray 
)
static
Parameters
face
ray
Returns
static HE_FaceIntersection wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Face  face,
final WB_Segment  segment 
)
static
Parameters
face
segment
Returns
static double wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Halfedge  e,
final WB_Plane  P 
)
static
Parameters
e
P
Returns
static List<HE_FaceIntersection> wblut.hemesh.HET_MeshOp.getIntersection ( final WB_AABBTree  tree,
final WB_Ray  ray 
)
static
Parameters
tree
ray
Returns
static List<HE_FaceIntersection> wblut.hemesh.HET_MeshOp.getIntersection ( final WB_AABBTree  tree,
final WB_Segment  segment 
)
static
Parameters
tree
segment
Returns
static List<HE_FaceIntersection> wblut.hemesh.HET_MeshOp.getIntersection ( final WB_AABBTree  tree,
final WB_Line  line 
)
static
Parameters
tree
line
Returns
static List<WB_Segment> wblut.hemesh.HET_MeshOp.getIntersection ( final WB_AABBTree  tree,
final WB_Plane  P 
)
static
Parameters
tree
P
Returns
static List<HE_FaceIntersection> wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Mesh  mesh,
final WB_Ray  ray 
)
static
Parameters
mesh
ray
Returns
static List<HE_FaceIntersection> wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Mesh  mesh,
final WB_Segment  segment 
)
static
Parameters
mesh
segment
Returns
static List<HE_FaceIntersection> wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Mesh  mesh,
final WB_Line  line 
)
static
Parameters
mesh
line
Returns
static List<WB_Segment> wblut.hemesh.HET_MeshOp.getIntersection ( final HE_Mesh  mesh,
final WB_Plane  P 
)
static
Parameters
mesh
P
Returns
static WB_Coord wblut.hemesh.HET_MeshOp.getNonNormFaceNormal ( final HE_Face  face)
static
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_Plane  P 
)
static
Parameters
tree
P
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_Triangle  T 
)
static
Parameters
tree
T
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_AABB  AABB 
)
static
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_Coord  p 
)
static
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_Ray  R 
)
static
Parameters
tree
R
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_Line  L 
)
static
Parameters
tree
L
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final WB_AABBTree  tree,
final WB_Segment  segment 
)
static
Parameters
tree
segment
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final HE_Mesh  mesh,
final WB_Plane  P 
)
static
Parameters
mesh
P
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final HE_Mesh  mesh,
final WB_Ray  R 
)
static
Parameters
mesh
R
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final HE_Mesh  mesh,
final WB_Line  L 
)
static
Parameters
mesh
L
Returns
static List<HE_Face> wblut.hemesh.HET_MeshOp.getPotentialIntersectedFaces ( final HE_Mesh  mesh,
final WB_Segment  segment 
)
static
Parameters
mesh
segment
Returns
static double wblut.hemesh.HET_MeshOp.getUmbrellaAngle ( final HE_Vertex  v)
static
Returns
static WB_Coord wblut.hemesh.HET_MeshOp.getVertexAngleNormal ( final HE_Vertex  vertex)
static
Returns
static WB_Coord wblut.hemesh.HET_MeshOp.getVertexAreaNormal ( final HE_Vertex  v)
static
Returns
static WB_Coord wblut.hemesh.HET_MeshOp.getVertexAverageNormal ( final HE_Vertex  v)
static
Returns
static WB_CoordinateSystem3D wblut.hemesh.HET_MeshOp.getVertexCS ( final HE_Vertex  v)
static
Returns
static WB_Coord wblut.hemesh.HET_MeshOp.getVertexNormal ( final HE_Vertex  v)
static
Returns
static WB_Classification wblut.hemesh.HET_MeshOp.getVertexType ( final HE_Vertex  vertex)
static
static double wblut.hemesh.HET_MeshOp.getVolume ( final HE_Mesh  mesh)
static
static void wblut.hemesh.HET_MeshOp.improveTriangulation ( final HE_Mesh  mesh,
final HE_Selection  triangles 
)
static
static void wblut.hemesh.HET_MeshOp.improveTriangulation ( final HE_Mesh  mesh)
static
static void wblut.hemesh.HET_MeshOp.improveTriangulation ( final HE_Mesh  mesh,
final double  cosa 
)
static
static void wblut.hemesh.HET_MeshOp.improveTriangulation ( final HE_Mesh  mesh,
final HE_Selection  triangles,
final double  cosa 
)
static
static boolean wblut.hemesh.HET_MeshOp.isInside ( final HE_Mesh  mesh,
final WB_Coord  p 
)
static
static boolean wblut.hemesh.HET_MeshOp.isInside ( final WB_AABBTree  tree,
final WB_Coord  p 
)
static
static boolean wblut.hemesh.HET_MeshOp.pointIsInFace ( final WB_Coord  p,
final HE_Face  f 
)
static

Check if point lies inside or on edge of face.

Parameters
ppoint
fthe f
Returns
true/false
static boolean wblut.hemesh.HET_MeshOp.pointIsStrictlyInFace ( final WB_Coord  p,
final HE_Face  f 
)
static

Check if point lies strictly inside face.

Parameters
ppoint
fthe f
Returns
true/false
static HE_RAS<HE_Face> wblut.hemesh.HET_MeshOp.selectAllFacesConnectedToUnpairedHalfedge ( final HE_Mesh  mesh,
final HE_Halfedge  unpairedHalfedge 
)
static
Parameters
mesh
unpairedHalfedge
Returns
static double wblut.hemesh.HET_MeshOp.signedVolume ( final HE_Face  f,
final WB_Coord  center 
)
staticprivate
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final HE_Halfedge  edge 
)
static

Split edge in half.

Parameters
mesh
edgeedge to split.
Returns
selection of new vertex and new edge
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final HE_Halfedge  edge,
final double  f 
)
static

Split edge in two parts.

Parameters
mesh
edgeedge to split
ffraction of first part (0..1)
Returns
selection of new vertex and new edge
static void wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final HE_Halfedge  edge,
final double  x,
final double  y,
final double  z 
)
static

Insert vertex in edge.

Parameters
mesh
edgeedge to split
xx-coordinate of new vertex
yy-coordinate of new vertex
zz-coordinate of new vertex
static void wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final HE_Halfedge  edge,
final double[]  f 
)
static

Split edge in multiple parts.

Parameters
mesh
edgeedge to split
farray of fractions (0..1)
static void wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final HE_Halfedge  edge,
final float[]  f 
)
static

Split edge in multiple parts.

Parameters
mesh
edgeedge to split
farray of fractions (0..1)
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final HE_Halfedge  edge,
final WB_Coord  v 
)
static

Insert vertex in edge.

Parameters
mesh
edgeedge to split
vposition of new vertex
Returns
selection of new vertex and new edge
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final long  key 
)
static

Split edge in half.

Parameters
mesh
keykey of edge to split.
Returns
selection of new vertex and new edge
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final long  key,
final double  f 
)
static

Split edge in two parts.

Parameters
mesh
keykey of edge to split
ffraction of first part (0..1)
Returns
selection of new vertex and new edge
static void wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final long  key,
final double  x,
final double  y,
final double  z 
)
static

Insert vertex in edge.

Parameters
mesh
keykey of edge to split
xx-coordinate of new vertex
yy-coordinate of new vertex
zz-coordinate of new vertex
static void wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final long  key,
final double[]  f 
)
static

Split edge in multiple parts.

Parameters
mesh
keykey of edge to split
farray of fractions (0..1)
static void wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final long  key,
final float[]  f 
)
static

Split edge in multiple parts.

Parameters
mesh
keykey of edge to split
farray of fractions (0..1)
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdge ( final HE_Mesh  mesh,
final Long  key,
final WB_Point  v 
)
static

Insert vertex in edge.

Parameters
mesh
keykey of edge to split
vposition of new vertex
Returns
selection of new vertex and new edge
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdges ( final HE_Mesh  mesh)
static

Split all edges in half.

Parameters
mesh
Returns
selection of new vertices and new edges
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdges ( final HE_Mesh  mesh,
final double  offset 
)
static

Split all edges in half, offset the center by a given distance along the edge normal.

Parameters
mesh
offsetthe offset
Returns
selection of new vertices and new edges
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdges ( final HE_Selection  selection)
static

Split edge in half.

Parameters
selectionedges to split.
Returns
selection of new vertices and new edges
static HE_Selection wblut.hemesh.HET_MeshOp.splitEdges ( final HE_Selection  selection,
final double  offset 
)
static

Split edge in half, offset the center by a given distance along the edge normal.

Parameters
selectionedges to split.
offsetthe offset
Returns
selection of new vertices and new edges
static HE_Selection wblut.hemesh.HET_MeshOp.splitFace ( final HE_Mesh  mesh,
final HE_Face  face,
final HE_Vertex  vi,
final HE_Vertex  vj 
)
static

Divide face along two vertices.

Parameters
mesh
faceface to divide
vifirst vertex
vjsecond vertex
Returns
new face and edge
static HE_Selection wblut.hemesh.HET_MeshOp.splitFace ( final HE_Mesh  mesh,
final long  fkey,
final long  vkeyi,
final long  vkeyj 
)
static

Divide face along two vertices.

Parameters
mesh
fkeykey of face
vkeyikey of first vertex
vkeyjkey of second vertex
Returns
new face and edge
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenter ( final HE_Mesh  mesh)
static
Parameters
mesh
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenter ( final HE_Mesh  mesh,
final double  d 
)
static
Parameters
mesh
d
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenter ( final HE_Mesh  mesh,
final double  d,
final double  c 
)
static
Parameters
mesh
d
c
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenter ( final HE_Selection  faces)
static
Parameters
faces
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenter ( final HE_Selection  faces,
final double  d 
)
static
Parameters
faces
d
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenter ( final HE_Selection  faces,
final double  d,
final double  c 
)
static
Parameters
faces
d
c
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenterHole ( final HE_Mesh  mesh)
static
Parameters
mesh
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenterHole ( final HE_Mesh  mesh,
final double  d 
)
static
Parameters
mesh
d
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenterHole ( final HE_Mesh  mesh,
final double  d,
final double  c 
)
static
Parameters
mesh
d
c
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenterHole ( final HE_Selection  faces)
static
Parameters
faces
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenterHole ( final HE_Selection  faces,
final double  d 
)
static
Parameters
faces
d
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesCenterHole ( final HE_Selection  faces,
final double  d,
final double  c 
)
static
Parameters
faces
d
c
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesHybrid ( final HE_Mesh  mesh)
static

Hybrid split faces: midsplit for triangles, quad split otherwise.

Parameters
mesh
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesHybrid ( final HE_Selection  sel)
static

Hybrid split faces: midsplit for triangles, quad split otherwise.

Parameters
selthe sel
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesMidEdge ( final HE_Mesh  mesh)
static

Midedge split faces.

Parameters
mesh
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesMidEdge ( final HE_Selection  selection)
static

Mid edge split selected faces.

Parameters
selectionselection to split
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesMidEdgeHole ( final HE_Mesh  mesh)
static

Mid edge split faces.

Parameters
mesh
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesMidEdgeHole ( final HE_Selection  selection)
static
Parameters
selection
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesQuad ( final HE_Mesh  mesh)
static

Quad split faces.

Parameters
mesh
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesQuad ( final HE_Mesh  mesh,
final double  d 
)
static

Quad split faces.

Parameters
mesh
d
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesQuad ( final HE_Selection  sel)
static

Quad split selected faces.

Parameters
selselection to split
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesQuad ( final HE_Selection  sel,
final double  d 
)
static

Quad split selected faces.

Parameters
selselection to split
d
Returns
selection of new faces and new vertices
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesTri ( final HE_Mesh  mesh)
static

Tri split faces.

Parameters
mesh
Returns
selection of new faces and new vertex
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesTri ( final HE_Mesh  mesh,
final double  d 
)
static

Tri split faces with offset along face normal.

Parameters
mesh
doffset along face normal
Returns
selection of new faces and new vertex
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesTri ( final HE_Selection  selection)
static

Tri split faces.

Parameters
selectionface selection to split
Returns
selection of new faces and new vertex
static HE_Selection wblut.hemesh.HET_MeshOp.splitFacesTri ( final HE_Selection  selection,
final double  d 
)
static

Tri split faces with offset along face normal.

Parameters
selectionface selection to split
doffset along face normal
Returns
selection of new faces and new vertex
static HE_Selection wblut.hemesh.HET_MeshOp.triangulate ( final HE_Mesh  mesh)
static

Triangulate all faces.

Parameters
mesh
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulate ( final HE_Mesh  mesh,
final HE_Face  face 
)
static
Parameters
mesh
face
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulate ( final HE_Selection  sel)
static

Triangulate.

Parameters
selselection
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulate ( final HE_Mesh  mesh,
final long  key 
)
static

Triangulate face.

Parameters
mesh
keykey of face
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulateConcaveFace ( final HE_Mesh  mesh,
final HE_Face  face 
)
static

Triangulate face if concave.

Parameters
mesh
facekey of face
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulateConcaveFace ( final HE_Mesh  mesh,
final long  key 
)
static

Triangulate face if concave.

Parameters
mesh
keykey of face
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulateConcaveFaces ( final HE_Mesh  mesh)
static

Triangulate all concave faces.

Parameters
mesh
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulateConcaveFaces ( final HE_Mesh  mesh,
final List< HE_Face sel 
)
static
Parameters
mesh
sel
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulateFaceStar ( final HE_Mesh  mesh,
final HE_Vertex  v 
)
static
Parameters
mesh
v
Returns
static HE_Selection wblut.hemesh.HET_MeshOp.triangulateFaceStar ( final HE_Mesh  mesh,
final long  vertexkey 
)
static
Parameters
mesh
vertexkey
Returns

Member Data Documentation

WB_GeometryFactory wblut.hemesh.HET_MeshOp.gf = new WB_GeometryFactory()
staticprivate
final WB_ProgressTracker wblut.hemesh.HET_MeshOp.tracker = WB_ProgressTracker.instance()
static

The documentation for this class was generated from the following file: