Top Fields Constructors Methods
jogamp.graph.curve.tess

public Class Loop

extends Object
Class Inheritance
Imports
java.util.ArrayList, com.jogamp.graph.geom.Vertex, .Triangle, com.jogamp.opengl.math.VectorUtil, com.jogamp.opengl.math.geom.AABBox

Field Summary

Modifier and TypeField and Description
private final AABBox
private GraphOutline
private HEdge

Constructor Summary

AccessConstructor and Description
public
Loop(final GraphOutline polyline, final VectorUtil.Winding winding)

Method Summary

Modifier and TypeMethod and Description
public void
public boolean
private boolean[]
public int
private Triangle

Returns:

the triangle iff it satisfies, null otherwise
createTriangle
(final Vertex
vertex 1
v1
,
final Vertex
vertex 2
v2
,
final Vertex
vertex 3
v3
,
final HEdge
and edge of this triangle
rootT
)

Create a triangle from the param vertices only if the triangle is valid.

public Triangle
cut(final boolean delaunay)

private HEdge
findClosestValidNeighbor(final HEdge edge, final boolean delaunay)

public HEdge
private HEdge
initFromPolyline(final GraphOutline outline, final VectorUtil.Winding
requested winding of edges (CCW or CW)
reqWinding
)

Create a connected list of half edges (loop) from the boundary profile

public boolean
private GraphVertex

Returns:

the vertex that is closest to the newly set root Hedge.
locateClosestVertex
(final GraphOutline
the control polyline to search for closestvertices
polyline
)

Locates the vertex and update the loops root to have (root + vertex) as closest pair

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

boxback to summary
private final AABBox box
initialOutlineback to summary
private GraphOutline initialOutline
rootback to summary
private HEdge root

Constructor Detail

Loopback to summary
public Loop(final GraphOutline polyline, final VectorUtil.Winding winding)

Method Detail

addConstraintCurveback to summary
public void addConstraintCurve(final GraphOutline polyline)
checkInsideback to summary
public boolean checkInside(final Vertex v)
checkVerticesBoundaryback to summary
private boolean[] checkVerticesBoundary(final HEdge rootT)
computeLoopSizeback to summary
public int computeLoopSize()
createTriangleback to summary
private Triangle createTriangle(final Vertex v1, final Vertex v2, final Vertex v3, final HEdge rootT)

Create a triangle from the param vertices only if the triangle is valid. IE not outside region.

Parameters
v1:Vertex

vertex 1

v2:Vertex

vertex 2

v3:Vertex

vertex 3

rootT:HEdge

and edge of this triangle

Returns:Triangle

the triangle iff it satisfies, null otherwise

cutback to summary
public Triangle cut(final boolean delaunay)
findClosestValidNeighborback to summary
private HEdge findClosestValidNeighbor(final HEdge edge, final boolean delaunay)
getHEdgeback to summary
public HEdge getHEdge()
initFromPolylineback to summary
private HEdge initFromPolyline(final GraphOutline outline, final VectorUtil.Winding reqWinding)

Create a connected list of half edges (loop) from the boundary profile

Parameters
reqWinding:VectorUtil.Winding

requested winding of edges (CCW or CW)

isSimplexback to summary
public boolean isSimplex()
locateClosestVertexback to summary
private GraphVertex locateClosestVertex(final GraphOutline polyline)

Locates the vertex and update the loops root to have (root + vertex) as closest pair

Parameters
polyline:GraphOutline

the control polyline to search for closestvertices

Returns:GraphVertex

the vertex that is closest to the newly set root Hedge.