Beispiel #1
0
 public SplitByRayNode(Point3D raystart, Vector3D raydir, Mesh.ESplitMode sm, params Node[] nodes)
 {
     SetChildren(nodes);
     RayStart  = raystart;
     RayDir    = raydir;
     SplitMode = sm;
 }
Beispiel #2
0
 public Shape Split2d(Point3D raystart, Vector3D raydir, Mesh.ESplitMode sm)
 {
     Mesh[] convexes = Convexes.ToArray();
     foreach (Mesh m in convexes)
     {
         Mesh newmesh = null;
         if (sm != Mesh.ESplitMode.KEEP_BOTH)
         {
             newmesh = CreateConvex();
         }
         m.Split2d(raystart, raydir, sm, newmesh);
     }
     Convexes = convexes.ToList();
     return(this);
 }
Beispiel #3
0
 public Node SplitByRay(double raystart_x, double raystart_y, double raystart_z, double raydir_x, double raydir_y, double raydir_z, Mesh.ESplitMode sm, params Node[] nodes)
 {
     return(new SplitByRayNode(new Point3D(raystart_x, raystart_y, raystart_z), new Vector3D(raydir_x, raydir_y, raydir_z), sm, nodes));
 }
Beispiel #4
0
 public SplitByRayNode(Point3D raystart, Vector3D raydir, Mesh.ESplitMode sm, params Node[] nodes)
 {
     SetChildren(nodes);
     RayStart = raystart;
     RayDir = raydir;
     SplitMode = sm;
 }