BowlerKernel
|
Classes | |
class | Node |
Public Member Functions | |
Edge (Vertex p1, Vertex p2) | |
Vertex | getP1 () |
Vertex | getP2 () |
boolean | colinear (Vector3d p) |
boolean | colinear (Vector3d p, double TOL) |
boolean | contains (Vector3d p, double TOL) |
boolean | contains (Vector3d p) |
int | hashCode () |
boolean | equals (Object obj) |
boolean | isThisPointOneOfMine (Vertex test) |
String | toString () |
Vector3d | getDirection () |
Optional< Vector3d > | getClosestPoint (Edge e) |
Optional< Vector3d > | getIntersection (Edge e) |
double | length () |
Static Public Member Functions | |
static List< Edge > | fromPolygon (Polygon poly) |
static List< Vertex > | toVertices (List< Edge > edges) |
static List< Vector3d > | toPoints (List< Edge > edges) |
static Polygon | toPolygon (List< Vector3d > points, Plane plane) |
static List< Polygon > | toPolygons (List< Edge > boundaryEdges, Plane plane) |
static List< Polygon > | boundaryPathsWithHoles (List< Polygon > boundaryPaths) |
static List< Polygon > | boundaryPaths (List< Edge > boundaryEdges) |
static List< Polygon > | _toPolygons (List< Edge > boundaryEdges, Plane plane) |
static List< Polygon > | boundaryPolygons (CSG csg) |
static List< Edge > | boundaryEdgesOfPlaneGroup (List< Polygon > planeGroup) |
static boolean | falseBoundaryEdgeSharedWithOtherEdge (Edge fbe, Edge e) |
Static Public Attributes | |
static final String | KEY_POLYGON_HOLES = "jcsg:edge:polygon-holes" |
Static Private Member Functions | |
static int | nextUnused (boolean[] usage) |
static List< Polygon > | boundaryPolygonsOfPlaneGroup (List< Polygon > planeGroup) |
static List< List< Polygon > > | searchPlaneGroups (List< Polygon > polygons) |
Private Attributes | |
final Vertex | p1 |
final Vertex | p2 |
final Vector3d | direction |
Instantiates a new edge.
p1 | the p1 |
p2 | the p2 |
Definition at line 39 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.direction, eu.mihosoft.vrl.v3d.Vector3d.minus(), eu.mihosoft.vrl.v3d.Vector3d.normalized(), eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, and eu.mihosoft.vrl.v3d.Vertex.pos.
Referenced by eu.mihosoft.vrl.v3d.Edge.equals(), and eu.mihosoft.vrl.v3d.Edge.fromPolygon().
|
static |
_to polygons.
boundaryEdges | the boundary edges |
plane | the plane |
Definition at line 491 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vertex.equals(), eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, eu.mihosoft.vrl.v3d.Vertex.pos, and eu.mihosoft.vrl.v3d.Edge.toPolygon().
|
static |
Boundary edges of plane group.
planeGroup | the plane group |
Definition at line 759 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.falseBoundaryEdgeSharedWithOtherEdge(), and eu.mihosoft.vrl.v3d.Edge.fromPolygon().
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPolygonsOfPlaneGroup().
Returns a list of all boundary paths.
boundaryEdges | boundary edges (all paths must be closed) |
Definition at line 407 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vertex.equals(), eu.mihosoft.vrl.v3d.Polygon.fromPoints(), eu.mihosoft.vrl.v3d.Edge.nextUnused(), eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, and eu.mihosoft.vrl.v3d.Vertex.pos.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPathsWithHoles(), and eu.mihosoft.vrl.v3d.Edge.boundaryPolygonsOfPlaneGroup().
|
static |
Boundary paths with holes.
boundaryPaths | the boundary paths |
Definition at line 333 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.boundaryPaths(), eu.mihosoft.vrl.v3d.Edge.KEY_POLYGON_HOLES, eu.mihosoft.vrl.v3d.Edge.p1, and eu.mihosoft.vrl.v3d.Edge.p2.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPolygonsOfPlaneGroup().
Boundary polygons.
csg | the csg |
Definition at line 743 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.boundaryPolygonsOfPlaneGroup(), eu.mihosoft.vrl.v3d.CSG.getPolygons(), and eu.mihosoft.vrl.v3d.Edge.searchPlaneGroups().
|
staticprivate |
Boundary polygons of plane group.
planeGroup | the plane group |
Definition at line 821 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.boundaryEdgesOfPlaneGroup(), eu.mihosoft.vrl.v3d.Edge.boundaryPaths(), eu.mihosoft.vrl.v3d.Edge.boundaryPathsWithHoles(), eu.mihosoft.vrl.v3d.ext.org.poly2tri.PolygonUtil.concaveToConvex(), and eu.mihosoft.vrl.v3d.Edge.KEY_POLYGON_HOLES.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPolygons().
boolean eu.mihosoft.vrl.v3d.Edge.colinear | ( | Vector3d | p | ) |
Determines whether the specified point is colinear
p | point to check |
true
if the specified point lies on this line segment; false
otherwise Definition at line 531 of file Edge.java.
References eu.mihosoft.vrl.v3d.Plane.EPSILON_Point.
Referenced by eu.mihosoft.vrl.v3d.Polygon.validateAndInit().
boolean eu.mihosoft.vrl.v3d.Edge.colinear | ( | Vector3d | p, |
double | TOL | ||
) |
Definition at line 534 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vertex.pos, eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
boolean eu.mihosoft.vrl.v3d.Edge.contains | ( | Vector3d | p | ) |
Determines whether the specified point lies on tthis edge.
p | point to check |
true
if the specified point lies on this line segment; false
otherwise Definition at line 598 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.contains(), and eu.mihosoft.vrl.v3d.Plane.EPSILON.
boolean eu.mihosoft.vrl.v3d.Edge.contains | ( | Vector3d | p, |
double | TOL | ||
) |
Determines whether the specified point lies on tthis edge.
p | point to check |
TOL | tolerance |
true
if the specified point lies on this line segment; false
otherwise Definition at line 570 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vertex.pos, eu.mihosoft.vrl.v3d.Vector3d.x(), eu.mihosoft.vrl.v3d.Vector3d.y(), and eu.mihosoft.vrl.v3d.Vector3d.z().
Referenced by eu.mihosoft.vrl.v3d.Edge.contains(), eu.mihosoft.vrl.v3d.Edge.falseBoundaryEdgeSharedWithOtherEdge(), eu.mihosoft.vrl.v3d.Edge.getClosestPoint(), and eu.mihosoft.vrl.v3d.Edge.getIntersection().
boolean eu.mihosoft.vrl.v3d.Edge.equals | ( | Object | obj | ) |
Definition at line 617 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.Edge(), eu.mihosoft.vrl.v3d.Plane.EPSILON_Point, eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, eu.mihosoft.vrl.v3d.Vertex.pos, and eu.mihosoft.vrl.v3d.Vector3d.test().
|
static |
False boundary edge shared with other edge.
fbe | the fbe |
e | the e |
Definition at line 854 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.contains(), eu.mihosoft.vrl.v3d.Vector3d.equals(), eu.mihosoft.vrl.v3d.Edge.getP1(), eu.mihosoft.vrl.v3d.Edge.getP2(), and eu.mihosoft.vrl.v3d.Vertex.pos.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryEdgesOfPlaneGroup().
From polygon.
poly | the poly |
Definition at line 82 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.Edge(), and eu.mihosoft.vrl.v3d.Polygon.vertices.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryEdgesOfPlaneGroup(), and eu.mihosoft.vrl.v3d.svg.SVGLoad.isCCW().
Returns the the point of this edge that is closest to the specified edge.
NOTE: returns an empty optional if the edges are parallel
e | the edge to check |
Definition at line 668 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.contains(), eu.mihosoft.vrl.v3d.Edge.direction, eu.mihosoft.vrl.v3d.Vector3d.dot(), eu.mihosoft.vrl.v3d.Plane.EPSILON, eu.mihosoft.vrl.v3d.Edge.getDirection(), eu.mihosoft.vrl.v3d.Vector3d.minus(), eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, eu.mihosoft.vrl.v3d.Vector3d.plus(), eu.mihosoft.vrl.v3d.Vertex.pos, and eu.mihosoft.vrl.v3d.Vector3d.times().
Referenced by eu.mihosoft.vrl.v3d.Edge.getIntersection().
Vector3d eu.mihosoft.vrl.v3d.Edge.getDirection | ( | ) |
Gets the direction.
Definition at line 656 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.direction.
Referenced by eu.mihosoft.vrl.v3d.Edge.getClosestPoint().
Returns the intersection point between this edge and the specified edge.
NOTE: returns an empty optional if the edges are parallel or if the intersection point is not inside the specified edge segment
e | edge to intersect |
Definition at line 719 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.contains(), and eu.mihosoft.vrl.v3d.Edge.getClosestPoint().
Vertex eu.mihosoft.vrl.v3d.Edge.getP1 | ( | ) |
Gets the p1.
Definition at line 51 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.p1.
Referenced by eu.mihosoft.vrl.v3d.Edge.falseBoundaryEdgeSharedWithOtherEdge(), and eu.mihosoft.vrl.v3d.Polygon.getDegeneratePoints().
Vertex eu.mihosoft.vrl.v3d.Edge.getP2 | ( | ) |
Gets the p2.
Definition at line 66 of file Edge.java.
References eu.mihosoft.vrl.v3d.Edge.p2.
Referenced by eu.mihosoft.vrl.v3d.Edge.falseBoundaryEdgeSharedWithOtherEdge(), and eu.mihosoft.vrl.v3d.Polygon.getDegeneratePoints().
boolean eu.mihosoft.vrl.v3d.Edge.isThisPointOneOfMine | ( | Vertex | test | ) |
Definition at line 640 of file Edge.java.
References eu.mihosoft.vrl.v3d.Plane.EPSILON_Point, eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, eu.mihosoft.vrl.v3d.Vertex.pos, and eu.mihosoft.vrl.v3d.Vector3d.test().
double eu.mihosoft.vrl.v3d.Edge.length | ( | ) |
Definition at line 920 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vector3d.minus(), eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, and eu.mihosoft.vrl.v3d.Vertex.pos.
Referenced by eu.mihosoft.vrl.v3d.Polygon.getLongEdge().
|
staticprivate |
Returns the next unused index as specified in the given boolean array.
usage | the usage array |
Definition at line 474 of file Edge.java.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPaths().
|
staticprivate |
Search plane groups.
polygons | the polygons |
Definition at line 876 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vector3d.angle(), eu.mihosoft.vrl.v3d.Plane.normal, and eu.mihosoft.vrl.v3d.Polygon.plane.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPolygons().
To polygon.
points | the points |
plane | the plane |
Definition at line 121 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vector3d.clone(), eu.mihosoft.vrl.v3d.Polygon.fromPoints(), eu.mihosoft.vrl.v3d.Plane.normal, and eu.mihosoft.vrl.v3d.Polygon.vertices.
Referenced by eu.mihosoft.vrl.v3d.Edge._toPolygons(), and eu.mihosoft.vrl.v3d.Edge.toPolygons().
|
static |
To polygons.
boundaryEdges | the boundary edges |
plane | the plane |
Definition at line 145 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vertex.equals(), eu.mihosoft.vrl.v3d.Edge.p1, eu.mihosoft.vrl.v3d.Edge.p2, eu.mihosoft.vrl.v3d.Vertex.pos, and eu.mihosoft.vrl.v3d.Edge.toPolygon().
String eu.mihosoft.vrl.v3d.Edge.toString | ( | ) |
Definition at line 645 of file Edge.java.
References eu.mihosoft.vrl.v3d.Vertex.getX(), eu.mihosoft.vrl.v3d.Vertex.getY(), and eu.mihosoft.vrl.v3d.Vertex.getZ().
|
private |
The direction.
Definition at line 31 of file Edge.java.
Referenced by eu.mihosoft.vrl.v3d.Edge.Edge(), eu.mihosoft.vrl.v3d.Edge.getClosestPoint(), and eu.mihosoft.vrl.v3d.Edge.getDirection().
|
static |
The Constant KEY_POLYGON_HOLES.
Definition at line 325 of file Edge.java.
Referenced by eu.mihosoft.vrl.v3d.Edge.boundaryPathsWithHoles(), and eu.mihosoft.vrl.v3d.Edge.boundaryPolygonsOfPlaneGroup().
|
private |
The p1.
Definition at line 25 of file Edge.java.
Referenced by eu.mihosoft.vrl.v3d.Edge._toPolygons(), eu.mihosoft.vrl.v3d.Edge.boundaryPaths(), eu.mihosoft.vrl.v3d.Edge.boundaryPathsWithHoles(), eu.mihosoft.vrl.v3d.Edge.Edge(), eu.mihosoft.vrl.v3d.Edge.equals(), eu.mihosoft.vrl.v3d.Edge.getClosestPoint(), eu.mihosoft.vrl.v3d.Edge.getP1(), eu.mihosoft.vrl.v3d.Edge.isThisPointOneOfMine(), eu.mihosoft.vrl.v3d.Edge.length(), and eu.mihosoft.vrl.v3d.Edge.toPolygons().
|
private |
The p2.
Definition at line 28 of file Edge.java.
Referenced by eu.mihosoft.vrl.v3d.Edge._toPolygons(), eu.mihosoft.vrl.v3d.Edge.boundaryPaths(), eu.mihosoft.vrl.v3d.Edge.boundaryPathsWithHoles(), eu.mihosoft.vrl.v3d.Edge.Edge(), eu.mihosoft.vrl.v3d.Edge.equals(), eu.mihosoft.vrl.v3d.Edge.getClosestPoint(), eu.mihosoft.vrl.v3d.Edge.getP2(), eu.mihosoft.vrl.v3d.Edge.isThisPointOneOfMine(), eu.mihosoft.vrl.v3d.Edge.length(), and eu.mihosoft.vrl.v3d.Edge.toPolygons().