C# Class TriangleNet.NewLocation

Find new Steiner Point locations.
http://www.cise.ufl.edu/~ungor/aCute/index.html
Mostrar archivo Open project: RegrowthStudios/VoxelRTS Class Usage Examples

Public Methods

Method Description
FindLocation ( Vertex torg, Vertex tdest, Vertex tapex, double &xi, double &eta, bool offcenter, TriangleNet.Data.Otri badotri ) : System.Point

Find a new location for a Steiner point.

NewLocation ( Mesh mesh ) : System

Private Methods

Method Description
ChooseCorrectPoint ( double x1, double y1, double x2, double y2, double x3, double y3, bool isObtuse ) : bool

Given three points, check if the point is the correct point that we are looking for.

CircleLineIntersection ( double x1, double y1, double x2, double y2, double x3, double y3, double r, double &p ) : void

Given two points representing a line and a radius together with a center point representing a circle, returns the intersection points.

referenced to: http://local.wasp.uwa.edu.au/~pbourke/geometry/sphereline/

DoSmoothing ( TriangleNet.Data.Otri badotri, Vertex torg, Vertex tdest, Vertex tapex, double &newloc ) : int

Checks if smothing is possible for a given bad triangle.

FindNewLocation ( Vertex torg, Vertex tdest, Vertex tapex, double &xi, double &eta, bool offcenter, TriangleNet.Data.Otri badotri ) : System.Point

Find a new location for a Steiner point.

FindNewLocationWithoutMaxAngle ( Vertex torg, Vertex tdest, Vertex tapex, double &xi, double &eta, bool offcenter, TriangleNet.Data.Otri badotri ) : System.Point

Find a new location for a Steiner point.

FindPolyCentroid ( int numpoints, double points, double &centroid ) : void

Returns the centroid of a given polygon

GetNeighborsVertex ( TriangleNet.Data.Otri badotri, double first_x, double first_y, double second_x, double second_y, double &thirdpoint, TriangleNet.Data.Otri &neighotri ) : bool

Gets a neighbours vertex.

GetStarPoints ( TriangleNet.Data.Otri badotri, Vertex p, Vertex q, Vertex r, int whichPoint, double &points ) : int

Finds the star of a given point.

GetWedgeIntersection ( int numpoints, double points, double &newloc ) : bool

Find a new point location by wedge intersection.

GetWedgeIntersectionWithoutMaxAngle ( int numpoints, double points, double &newloc ) : bool

Find a new point location by wedge intersection.

HalfPlaneIntersection ( int numvertices, double &convexPoly, double x1, double y1, double x2, double y2 ) : int

Returns the convex polygon which is the intersection of the given convex polygon with the halfplane on the left side (regarding the directional vector) of the given line.

http://www.mathematik.uni-ulm.de/stochastik/lehre/ws03_04/rt/Geometry2D.ps

IsBadPolygonAngle ( double x1, double y1, double x2, double y2, double x3, double y3 ) : bool

Given three coordinates of a polygon, tests to see if it satisfies the minimum angle condition for relocation.

IsBadTriangleAngle ( double x1, double y1, double x2, double y2, double x3, double y3 ) : bool

Given three coordinates of a triangle, tests a triangle to see if it satisfies the minimum and/or maximum angle condition.

LineLineIntersection ( double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double &p ) : void

Given four points representing two lines, returns the intersection point.

referenced to: http://local.wasp.uwa.edu.au/~pbourke/geometry/

LineLineSegmentIntersection ( double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double &p ) : void

Given four points representing one line and a line segment, returns the intersection point

referenced to: http://local.wasp.uwa.edu.au/~pbourke/geometry/

LinePointLocation ( double x1, double y1, double x2, double y2, double x, double y ) : int

Determines on which side (relative to the direction) of the given line and the point lies (regarding the directional vector) of the given line.

http://www.mathematik.uni-ulm.de/stochastik/lehre/ws03_04/rt/Geometry2D.ps

LongestShortestEdge ( double aodist, double dadist, double dodist ) : int

Given square of edge lengths of a triangle, determine its orientation

MinDistanceToNeighbor ( double newlocX, double newlocY, TriangleNet.Data.Otri &searchtri ) : double

Given the triangulation, and a vertex returns the minimum distance to the vertices of the triangle where the given vertex located.

PointBetweenPoints ( double x1, double y1, double x2, double y2, double x, double y, double &p ) : void

This function returns a pointer array which first index indicates the whether the point is in between the other points, followed by coordinate pairs.

SplitConvexPolygon ( int numvertices, double convexPoly, double x1, double y1, double x2, double y2, double &polys ) : int

Splits a convex polygons into one or two polygons through the intersection with the given line (regarding the directional vector of the given line).

http://www.mathematik.uni-ulm.de/stochastik/lehre/ws03_04/rt/Geometry2D.ps

ValidPolygonAngles ( int numpoints, double points ) : bool

Check polygon for min angle.

Method Details

FindLocation() public method

Find a new location for a Steiner point.
public FindLocation ( Vertex torg, Vertex tdest, Vertex tapex, double &xi, double &eta, bool offcenter, TriangleNet.Data.Otri badotri ) : System.Point
torg Vertex
tdest Vertex
tapex Vertex
xi double
eta double
offcenter bool
badotri TriangleNet.Data.Otri
return System.Point

NewLocation() public method

public NewLocation ( Mesh mesh ) : System
mesh Mesh
return System