C# Class RobustGeometry.Predicates.GeometricPredicates

Implements the four geometric predicates described by Shewchuck, and implemented in predicates.c. For each predicate, exports a ~Fast version that is a non-robust implementation directly with double arithmetic, an ~Exact version which completed the full calculation in exact arithmetic, and the preferred version which implements the adaptive routines returning the correct sign and an approximate value.
Afficher le fichier Open project: govert/RobustGeometry.NET Class Usage Examples

Méthodes publiques

Méthode Description
InCircle ( double pa, double pb, double pc, double pd ) : double
InCircleFast ( double pa, double pb, double pc, double pd ) : double
InSphere ( double pa, double pb, double pc, double pd, double pe ) : double
InSphereFast ( double pa, double pb, double pc, double pd, double pe ) : double
Orient2D ( double pa, double pb, double pc ) : double

Adaptive, robust 2D orientation test.

Orient2DFast ( double pa, double pb, double pc ) : double

Non-robust approximate 2D orientation test.

The implementation computed the determinant using simple double arithmetic.

Orient3D ( double pa, double pb, double pc, double pd ) : double
Orient3DFast ( double pa, double pb, double pc, double pd ) : double

Private Methods

Méthode Description
InCircleAdapt ( double pa, double pb, double pc, double pd, double permanent ) : double
InCircleExact ( double pa, double pb, double pc, double pd ) : double
InCircleSlow ( double pa, double pb, double pc, double pd ) : double
InSphereAdapt ( double pa, double pb, double pc, double pd, double pe, double permanent ) : double
InSphereExact ( double pa, double pb, double pc, double pd, double pe ) : double
InSphereSlow ( double pa, double pb, double pc, double pd, double pe ) : double
Orient2DAdapt ( double pa, double pb, double pc, double detsum ) : double
Orient2DExact ( double pa, double pb, double pc ) : double
Orient2DSlow ( double pa, double pb, double pc ) : double
Orient3DAdapt ( double pa, double pb, double pc, double pd, double permanent ) : double
Orient3DExact ( double pa, double pb, double pc, double pd ) : double
Orient3DSlow ( double pa, double pb, double pc, double pd ) : double

Method Details

InCircle() public static méthode

public static InCircle ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Résultat double

InCircleFast() public static méthode

public static InCircleFast ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Résultat double

InSphere() public static méthode

public static InSphere ( double pa, double pb, double pc, double pd, double pe ) : double
pa double
pb double
pc double
pd double
pe double
Résultat double

InSphereFast() public static méthode

public static InSphereFast ( double pa, double pb, double pc, double pd, double pe ) : double
pa double
pb double
pc double
pd double
pe double
Résultat double

Orient2D() public static méthode

Adaptive, robust 2D orientation test.
public static Orient2D ( double pa, double pb, double pc ) : double
pa double array with x and y coordinates of pa.
pb double array with x and y coordinates of pb.
pc double array with x and y coordinates of pc.
Résultat double

Orient2DFast() public static méthode

Non-robust approximate 2D orientation test.
The implementation computed the determinant using simple double arithmetic.
public static Orient2DFast ( double pa, double pb, double pc ) : double
pa double array with x and y coordinates of pa.
pb double array with x and y coordinates of pb.
pc double array with x and y coordinates of pc.
Résultat double

Orient3D() public static méthode

public static Orient3D ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Résultat double

Orient3DFast() public static méthode

public static Orient3DFast ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Résultat double