예제 #1
0
        /// <summary>
        /// Исследование характеристик работы с геометрией
        /// в виде одиночного параллелепипеда
        /// </summary>
        private static void GeometryParallelepipedTests()
        {
            // Примитив - параллелепипед
            Coordinate3D coordinate3D = new Coordinate3D(1m, 1m, 1m);
            GeometryPrimitive3DParallelepiped parallelepiped = new GeometryPrimitive3DParallelepiped(coordinate3D, 5m, 1m, 0.5m);

            NagruzkaRaspredRavnomern nagr1 = new NagruzkaRaspredRavnomern();

            nagr1.Q = new Q(200000, 100000, 50000);
            var areaRectangle1 = new AreaRectangle();

            areaRectangle1.Coordinate3DPointMinDistant = new Coordinate3D(1m, 2m, 0.5m);
            areaRectangle1.Coordinate3DPointMaxDistant = new Coordinate3D(6m, 2m, 1.5m);
            nagr1.Area = areaRectangle1;
            parallelepiped.NagruzkaList.Add(nagr1);

            GeometryElement geometryElement = new GeometryElement3D(new Coordinate3D(0.5m, 1m, 1.5m));

            geometryElement.GeometryPrimitives.Add(parallelepiped);
            geometryElement.GeometryPrimitives.Add(new GeometryPrimitive3DCube(new Coordinate3D(1.1m, 1.2m, 1.1m), 0.15m, true));

            Geometry3D geometry = new Geometry3D();

            geometry.GeometryElements.Add(geometryElement);

            /////////////////////////
            Console.WriteLine("Сериализация объекта: {0}", geometry.ExportToXML("", "GeometryParallelepiped.xml"));
            Geometry3D g2 = (Geometry3D)Geometry.ImportFromXML("", "GeometryParallelepiped.xml");

            Console.WriteLine("Проверка на равенство серализованного и десериализованного объектов: {0}", Geometry3D.IsGeometryValuesEquals(geometry, g2));
        }
예제 #2
0
        /// <summary>
        /// Исследование характеристик работы с объектом GridWithGeometryPreCalculated
        /// </summary>
        private static void GridWithGeometryPreCalculatedTests()
        {
            Grid3D grid = new Grid3D(10m, 10m, 10m, 5, 10, 20);

            Geometry3D      geometry        = new Geometry3D();
            GeometryElement geometryElement = new GeometryElement3D(new Coordinate3D(1m, 2m, 3m));

            geometryElement.GeometryPrimitives.Add(new GeometryPrimitive3DParallelepiped(new Coordinate3D(0.1m, 0.2m, 0.3m), 3m, 1m, 2m));
            geometry.GeometryElements.Add(geometryElement);

            var gridWithGeometryPreCalculated = new GridWithGeometryPreCalculated3D(grid, geometry);

            /////////////////////////
            Console.WriteLine("Сериализация объекта GridWithGeometryPreCalculated: {0}", gridWithGeometryPreCalculated.ExportToXML("", "GridWithGeometryPreCalculated.xml"));
            GridWithGeometryPreCalculated3D g2 = (GridWithGeometryPreCalculated3D)GridWithGeometryPreCalculated.ImportFromXML("", "GridWithGeometryPreCalculated.xml");
            //Console.WriteLine("Проверка на равенство серализованного и десериализованного объектов: {0}", GridWithGeometryPreCalculated.IsGridWithGeometryPreCalculatedValuesEquals(gridWithGeometryPreCalculated, g2));
        }
예제 #3
0
        //public string ModelName { get; set; }

        // public double ScaleFactor { get; set; }
        //  public Transform3D PointsTransform { get; set; }

        public ModelExporter(GeometryElement3D element, I3dModelEncoder encoder)
        {
            Element = element;
            Encoder = encoder;
            // ScaleFactor = 1.0;
        }