Example #1
0
        private static Dictionary <Triangle, TriangleHL> ConvertFace(Face face, Matrix44D cameraBodyFrame, double nearPlane)
        {
            var faceHL = new FaceHL()
            {
                HasBorder = face.HasBorder, HasFacets = face.HasFacets
            };
            var triangleDict = face.Triangles.ToDictionary(t => t, t => ConvertTriangle(t, faceHL, cameraBodyFrame, nearPlane));

            return(triangleDict);
        }
Example #2
0
        private static TriangleHL ConvertTriangle(Triangle triangle, FaceHL face, Matrix44D cameraBodyFrame, double nearPlane)
        {
            // var normal = cameraBodyFrame * triangle.Normal;
            var p1 = cameraBodyFrame * triangle.P1.Point.Position;
            var p2 = cameraBodyFrame * triangle.P2.Point.Position;
            var p3 = cameraBodyFrame * triangle.P3.Point.Position;

            var ex     = p2 - p1;
            var ey     = p3 - p1;
            var normal = (ex & ey).Normalize();

            var triangleHL = new TriangleHL()
            {
                Normal   = normal,
                P1       = p1,
                P2       = p2,
                P3       = p3,
                Face     = face,
                Spin     = DetermineTriangleSpin(p1, p2, p3, nearPlane),
                Triangle = triangle
            };

            return(triangleHL);
        }