public static bool ApproxEquals(NuGenPnt3F a, NuGenPnt3F b) { return (Math.Abs(a._x[0] - b._x[0]) < NuGenVector.TINY_FLOAT && Math.Abs(a._x[1] - b._x[1]) < NuGenVector.TINY_FLOAT && Math.Abs(a._x[2] - b._x[2]) < NuGenVector.TINY_FLOAT); }
public static NuGenPnt3F Max(NuGenPnt3F a, NuGenPnt3F b) { return(new NuGenPnt3F( Math.Max(a._x[0], b._x[0]), Math.Max(a._x[1], b._x[1]), Math.Max(a._x[2], b._x[2]) )); }
public override bool Equals(object obj) { NuGenPnt3F x = (NuGenPnt3F)obj; return( _x[0] == x._x[0] && _x[1] == x._x[1] && _x[2] == x._x[2] ); }
public NuGenRay3F(NuGenPnt3F p, NuGenVec3F v) { this.p = p; this.v = v; }
public static NuGenPnt3F Max(NuGenPnt3F a, NuGenPnt3F b) { return new NuGenPnt3F( Math.Max(a._x[0], b._x[0]), Math.Max(a._x[1], b._x[1]), Math.Max(a._x[2], b._x[2]) ); }
public static NuGenBox3F operator +(NuGenBox3F b, NuGenBox3F c) { return(new NuGenBox3F(NuGenPnt3F.Min(b.lower, c.lower), NuGenPnt3F.Max(b.upper, c.upper))); }
public bool IsOnBorder(NuGenPnt3F p) { return(IsInsideOrOnBorder(p) && !IsInside(p)); }
public bool IsInsideOrOnBorder(NuGenPnt3F p) { return(lower <= p && upper >= p); }
public NuGenSphere3F(NuGenPnt3F center, float radius) { this.center = center; this.radius = radius; }
public bool IsOnBorder(NuGenPnt3F p) { return IsInsideOrOnBorder(p) && !IsInside(p); }
public bool IsInsideOrOnBorder(NuGenPnt3F p) { return lower <= p && upper >= p; }
public bool IsInside(NuGenPnt3F p) { return lower < p && upper > p; }
public NuGenBox3F(NuGenPnt3F lower, NuGenPnt3F upper) { this.lower = lower; this.upper = upper; }
public NuGenTriangle3F(NuGenPnt3F a, NuGenPnt3F b, NuGenPnt3F c) { p0 = a; p1 = b; p2 = c; }
public bool IsInside(NuGenPnt3F p) { return(lower < p && upper > p); }