public double Area() { double areaSum = 0; foreach (AKT_MeshFace f in Faces) { AKT_Point3d a = aKT_Mesh.Vertices[f.A]; AKT_Point3d b = aKT_Mesh.Vertices[f.B]; AKT_Point3d c = aKT_Mesh.Vertices[f.C]; AKT_Point3d d = aKT_Mesh.Vertices[f.D]; AKT_Vector3d ab = a - b; AKT_Vector3d bc = b - c; double area = AKT_Vector3d.CrossProduct(ab, bc).Length; if (f.MeshType == MeshTypology.Triangular) { area /= 2; } areaSum += area; } return(areaSum); }
public override AKT_Line To3DObject() { AKT_Point3d a = from.To3DObject(); AKT_Point3d b = to.To3DObject(); AKT_Line line = new AKT_Line(a, b); return(line); }
public void Add(object obj) { AKT_Point3d k = (AKT_Point3d)obj; if (k != null) { AddPoints(k); } }
private void AddPoints(AKT_Point3d pnts) { AKT_Point3d[] p = new AKT_Point3d[] { pnts }; if (_v == null || _v.Count() == 0) { this._v = p; } else { _v = this._v.Concat(p).ToArray(); } }