Class FastPointWinding
Formulas for point-set winding number approximation
Inheritance
FastPointWinding
Namespace: g3
Assembly: cs.temp.dll.dll
Syntax
public static class FastPointWinding
Methods
ComputeCoeffs(IPointSet, IEnumerable<Int32>, Double[], ref Vector3d, ref Double, ref Vector3d, ref Matrix3d)
precompute constant coefficients of point winding number approximation
pointAreas must be provided, and pointSet must have vertex normals!
p: 'center' of expansion for points (area-weighted point avg)
r: max distance from p to points
order1: first-order vector coeff
order2: second-order matrix coeff
Declaration
public static void ComputeCoeffs(IPointSet pointSet, IEnumerable<int> points, double[] pointAreas, ref Vector3d p, ref double r, ref Vector3d order1, ref Matrix3d order2)
Parameters
EvaluateOrder1Approx(ref Vector3d, ref Vector3d, ref Vector3d)
Evaluate first-order FWN approximation at point q, relative to center c
Declaration
public static double EvaluateOrder1Approx(ref Vector3d center, ref Vector3d order1Coeff, ref Vector3d q)
Parameters
Returns
EvaluateOrder2Approx(ref Vector3d, ref Vector3d, ref Matrix3d, ref Vector3d)
Evaluate second-order FWN approximation at point q, relative to center c
Declaration
public static double EvaluateOrder2Approx(ref Vector3d center, ref Vector3d order1Coeff, ref Matrix3d order2Coeff, ref Vector3d q)
Parameters
Returns
ExactEval(ref Vector3d, ref Vector3d, Double, ref Vector3d)
Declaration
public static double ExactEval(ref Vector3d x, ref Vector3d xn, double xA, ref Vector3d q)
Parameters
Returns
Order1Approx(ref Vector3d, ref Vector3d, ref Vector3d, Double, ref Vector3d)
Declaration
public static double Order1Approx(ref Vector3d x, ref Vector3d p, ref Vector3d xn, double xA, ref Vector3d q)
Parameters
Returns
Order2Approx(ref Vector3d, ref Vector3d, ref Vector3d, Double, ref Vector3d)
Declaration
public static double Order2Approx(ref Vector3d x, ref Vector3d p, ref Vector3d xn, double xA, ref Vector3d q)
Parameters
Returns