/// <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)); }
/// <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)); }
//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; }