public static Primitive.ConstructionData BuildBasicShape(PrimType type)
{
Primitive.ConstructionData prim = new Primitive.ConstructionData();
prim.PCode = PCode.Prim;
prim.Material = Material.Wood;
switch (type)
{
case PrimType.Box:
prim.ProfileCurve = ProfileCurve.Square;
prim.PathCurve = PathCurve.Line;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 1f;
prim.PathRevolutions = 1f;
break;
case PrimType.Cylinder:
prim.ProfileCurve = ProfileCurve.Circle;
prim.PathCurve = PathCurve.Line;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 1f;
prim.PathRevolutions = 1f;
break;
case PrimType.Prism:
prim.ProfileCurve = ProfileCurve.EqualTriangle;
prim.PathCurve = PathCurve.Line;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 0f;
prim.PathScaleY = 0f;
prim.PathRevolutions = 1f;
break;
case PrimType.Ring:
prim.ProfileCurve = ProfileCurve.EqualTriangle;
prim.PathCurve = PathCurve.Circle;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 0.25f;
prim.PathRevolutions = 1f;
break;
case PrimType.Sphere:
prim.ProfileCurve = ProfileCurve.HalfCircle;
prim.PathCurve = PathCurve.Circle;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 1f;
prim.PathRevolutions = 1f;
break;
case PrimType.Torus:
prim.ProfileCurve = ProfileCurve.Circle;
prim.PathCurve = PathCurve.Circle;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 0.25f;
prim.PathRevolutions = 1f;
break;
case PrimType.Tube:
prim.ProfileCurve = ProfileCurve.Square;
prim.PathCurve = PathCurve.Circle;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 0.25f;
prim.PathRevolutions = 1f;
break;
case PrimType.Sculpt:
prim.ProfileCurve = ProfileCurve.Circle;
prim.PathCurve = PathCurve.Circle;
prim.ProfileEnd = 1f;
prim.PathEnd = 1f;
prim.PathScaleX = 1f;
prim.PathScaleY = 0.5f;
prim.PathRevolutions = 1f;
break;
default:
throw new NotSupportedException("Unsupported shape: " + type.ToString());
}
return prim;
}