static public double TriangleQualityFromPositions(RHVector3 p1, RHVector3 p2, RHVector3 p3) { double a = p1.Distance(p2); double b = p1.Distance(p3); double c = p2.Distance(p3); double bc2 = 2 * b * c; double sinalpha = Math.Sin(Math.Acos((b * b + c * c - a * a) / (bc2))); return(a * (a + b + c) / (bc2 * sinalpha * sinalpha)); }
public TopoVertex SearchPoint(RHVector3 vertex) { int hash = vertextHash(vertex); if (!list.ContainsKey(hash)) return null; foreach (TopoVertex v in list[hash]) { if (vertex.Distance(v.pos) < TopoModel.epsilon) return v; } return null; }
public TopoVertex SearchPoint(RHVector3 vertex) { foreach (TopoVertex v in vertices) { if (vertex.Distance(v.pos) < TopoModel.epsilon) { return(v); } } return(null); }
public TopoVertex SearchPoint(RHVector3 vertex) { int hash = vertextHash(vertex); if (!list.ContainsKey(hash)) { return(null); } foreach (TopoVertex v in list[hash]) { if (vertex.Distance(v.pos) < TopoModel.epsilon) { return(v); } } return(null); }
public TopoVertex SearchPoint(RHVector3 vertex) { foreach (TopoVertex v in vertices) { if (vertex.Distance(v.pos) < TopoModel.epsilon) return v; } return null; }
public double distance(TopoVertex vertex) { return(pos.Distance(vertex.pos)); }