public static Cone CreateConeShape(Transform o2w, Transform w2o, bool reverseOrientation, ParamSet parameters)
 {
     double radius = parameters.FindOneDouble("radius", 1);
     double height = parameters.FindOneDouble("height", 1);
     double phimax = parameters.FindOneDouble("phimax", 360);
     return new Cone(o2w, w2o, reverseOrientation, height, radius, phimax);
 }
 public static Paraboloid CreateParaboloidShape(Transform o2w, Transform w2o, bool reverseOrientation, ParamSet parameters)
 {
     double radius = parameters.FindOneDouble("radius", 1);
     double zmin = parameters.FindOneDouble("zmin", 0);
     double zmax = parameters.FindOneDouble("zmax", 1);
     double phimax = parameters.FindOneDouble("phimax", 360);
     return new Paraboloid(o2w, w2o, reverseOrientation, radius, zmin, zmax, phimax);
 }
 public static Disk CreateDiskShape(Transform o2w, Transform w2o, bool reverseOrientation, ParamSet parameters)
 {
     double height = parameters.FindOneDouble("height", 0.0d);
     double radius = parameters.FindOneDouble("radius", 1);
     double inner_radius = parameters.FindOneDouble("innerradius", 0);
     double phimax = parameters.FindOneDouble("phimax", 360);
     return new Disk(o2w, w2o, reverseOrientation, height, radius, inner_radius, phimax);
 }
 public static Sphere CreateSphereShape(Transform o2w, Transform w2o, bool reverseOrientation, ParamSet parameters)
 {
     double radius = parameters.FindOneDouble("radius", 1.0d);
     double zmin = parameters.FindOneDouble("zmin", -radius);
     double zmax = parameters.FindOneDouble("zmax", radius);
     double phimax = parameters.FindOneDouble("phimax", 360.0d);
     return new Sphere(o2w, w2o, reverseOrientation, radius, zmin, zmax, phimax);
 }
 public static Hyperboloid CreateHyperboloidShape(Transform o2w, Transform w2o, bool reverseOrientation, ParamSet parameters)
 {
     Point p1 = parameters.FindOnePoint("p1", new Point(0, 0, 0));
     Point p2 = parameters.FindOnePoint("p2", new Point(1, 1, 1));
     double phimax = parameters.FindOneDouble("phimax", 360);
     return new Hyperboloid(o2w, w2o, reverseOrientation, p1, p2, phimax);
 }