Ejemplo n.º 1
0
 public void Visit(Triangle3D triangle)
 {
     var globalTriangle = new Triangle3D {
         A = ToAbsolute(triangle.A),
         B = ToAbsolute(triangle.B),
         C = ToAbsolute(triangle.C),
         Material = triangle.Material
     };
     _decoratedShape = new RETriangle(globalTriangle);
 }
Ejemplo n.º 2
0
 public void Visit(Sphere3D sphere)
 {
     _decoratedShape = new RESphere(sphere);
 }
Ejemplo n.º 3
0
 public void Visit(Shape3DComposite composite)
 {
     _context.PushCoordinateSystem(composite.CoordinateSystem);
     var decorated = new REShapeComposite(composite);
     foreach (Shape3D child in composite) {
         child.AcceptVisitor(this);
         decorated.Add(_decoratedShape);
     }
     OptimizeComposite(decorated);
     _context.PopCoordinateSystem();
     _decoratedShape = decorated;
 }
Ejemplo n.º 4
0
 public void Visit(Rectangle3D rect)
 {
     var globalRectangle = new Rectangle3D {
         A = ToAbsolute(rect.A),
         B = ToAbsolute(rect.B),
         C = ToAbsolute(rect.C),
         Material = rect.Material
     };
     _decoratedShape = new RERectangle(globalRectangle);
 }
Ejemplo n.º 5
0
 public void Visit(CustomShape3D shape)
 {
     _decoratedShape = null;
 }
Ejemplo n.º 6
0
 protected virtual RayTracingOptions GetRayTracingOptions(REBaseShape shape)
 {
     return RayTracingOptions.Diffuse | RayTracingOptions.Speculate;
 }