@@ -110,8 +110,8 @@ standard library package ShapeItems {
110110 */
111111
112112 attribute :>> radius [1];
113- attribute :>> semiMajorAxis [1] = radius;
114- attribute :>> semiMinorAxis [1] = radius;
113+ attribute :>> semiMajorAxis [1] = radius;
114+ attribute :>> semiMinorAxis [1] = radius;
115115
116116 item :>> edges {
117117 attribute length [1] = Circle::radius * TrigFunctions::pi * 2;
@@ -260,7 +260,10 @@ standard library package ShapeItems {
260260 * A CircularDisc is a Disc bound by a Circle.
261261 */
262262
263- attribute :>> radius [1] = semiMajorAxis;
263+ attribute :>> radius [1];
264+ attribute :>> semiMajorAxis [1] = radius;
265+ attribute :>> semiMinorAxis [1] = radius;
266+
264267 item :>> shape : Circle;
265268 item :>> edges : Circle;
266269 }
@@ -297,10 +300,10 @@ standard library package ShapeItems {
297300 * A Sphere is an Ellipsoid with all the same semiaxes.
298301 */
299302
300- attribute :>> radius [1] = semiAxis1 ;
301-
302- assert constraint { ( semiAxis1 == semiAxis2 ) &
303- ( semiAxis2 == semiAxis3 ) }
303+ attribute :>> radius [1];
304+ attribute :>> semiAxis1 [1] = radius;
305+ attribute :>> semiAxis2 [1] = radius;
306+ attribute :>> semiAxis3 [1] = radius;
304307 }
305308
306309 item def Paraboloid :> ConicSurface {
@@ -444,9 +447,9 @@ standard library package ShapeItems {
444447 * A CircularCone is a Cone with a circular base.
445448 */
446449
447- attribute :>> radius [1] = semiMajorAxis ;
448-
449- assert constraint { semiMajorAxis == semiMinorAxis }
450+ attribute :>> radius [1];
451+ attribute :>> semiMajorAxis [1] = radius;
452+ attribute :>> semiMinorAxis [1] = radius;
450453
451454 item :>> base : CircularDisc;
452455 }
@@ -491,9 +494,9 @@ standard library package ShapeItems {
491494 * A CircularCylinder is a Cylinder with two circular sides.
492495 */
493496
494- attribute :>> radius [1] = semiMajorAxis ;
495-
496- assert constraint { semiMajorAxis == semiMinorAxis }
497+ attribute :>> radius [1];
498+ attribute :>> semiMajorAxis [1] = radius;
499+ attribute :>> semiMinorAxis [1] = radius;
497500
498501 item :>> base : CircularDisc;
499502 item :>> af : CircularDisc;
0 commit comments