C# Класс 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.
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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

Приватные методы

Метод Описание
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

Описание методов

InCircle() публичный статический Метод

public static InCircle ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Результат double

InCircleFast() публичный статический Метод

public static InCircleFast ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Результат double

InSphere() публичный статический Метод

public static InSphere ( double pa, double pb, double pc, double pd, double pe ) : double
pa double
pb double
pc double
pd double
pe double
Результат double

InSphereFast() публичный статический Метод

public static InSphereFast ( double pa, double pb, double pc, double pd, double pe ) : double
pa double
pb double
pc double
pd double
pe double
Результат double

Orient2D() публичный статический Метод

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.
Результат double

Orient2DFast() публичный статический Метод

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.
Результат double

Orient3D() публичный статический Метод

public static Orient3D ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Результат double

Orient3DFast() публичный статический Метод

public static Orient3DFast ( double pa, double pb, double pc, double pd ) : double
pa double
pb double
pc double
pd double
Результат double