* VFP scripts (procedures) dependent upon the class * definitions in polyclasses.prg. Swap in procedures * for execution close tables set procedure to polyclasses clear * do one of the procedures listed below do testrotate release all set procedure to return procedure rhdodecas * create objects oRD = createobject("rhdodeca") oCubocta = createobject("cubocta") oSph = createobject("sphere") oWritePOV = createobject("WritePOV") oWritePOV.makeaxes() * draw shapes around the origin oWritePOV.writeoutput(oRD) oWritePOV.writeoutput(oSph) oWritePOV.writeoutput(oCubocta) * translate rh dodeca and sphere * and display oRD.translate(2,1,1,0) oSph.translate(2,1,1,0) oWritePOV.writeoutput(oRD) oWritePOV.writeoutput(oSph) * move them home, translate to another * corner of the cubocta, and display again oRD.gohome() oSph.gohome() oRD.translate(2,1,0,1) oSph.translate(2,1,0,1) oWritePOV.writeoutput(oRD) oWritePOV.writeoutput(oSph) return procedure rhdodeca2 oRD = createobject("rhdodeca") oCubocta = createobject("cubocta") oSph = createobject("sphere") oWriteVRML = createobject("WriteVRML") oWriteVRML.makeaxes() oWriteVRML.writeoutput(oRD) oWriteVRML.writeoutput(oSph) oWriteVRML.writeoutput(oCubocta) oRD.translate(2,1,1,0) oSph.translate(2,1,1,0) oWriteVRML.writeoutput(oRD) oWriteVRML.writeoutput(oSph) oRD.gohome() oSph.gohome() oRD.translate(2,1,0,1) oSph.translate(2,1,0,1) oWriteVRML.writeoutput(oRD) oWriteVRML.writeoutput(oSph) return procedure testrotate oTetra1 = createobject("tetrahedron") oTetra2 = createobject("tetrahedron") oWritePOV = createobject("WritePOV") oWritePOV.makeaxes() oWritePOV.writeoutput(oTetra1) oTetra2.translate(2^.5,0,0) oTetra2.shapecolor="Black" oTetra2.rotate("X",90) oWritePOV.writeoutput(oTetra2) return procedure smallbigtet oTetra1 = createobject("tetrahedron") ? oTetra1.shapevolume oWritePOV = createobject("WritePOV") oWritePOV.makeaxes() oWritePOV.writeoutput(oTetra1) oTetra1.scale(2) oTetra1.shapecolor="Black" ? oTetra1.shapevolume oWritePOV.writeoutput(oTetra1) return procedure rhtriac orhtriac = createobject("rhtriac") oIcosa = createobject("Icosahedron") oSph = createobject("sphere") oWriteVRML = createobject("WriteVRML") oWriteVRML.writeoutput(orhtriac) oWriteVRML.writeoutput(oIcosa) orhtriac.scale(orhtriac.emodfactor) orhtriac.scale(orhtriac.tmodfactor) oWriteVRML.writeoutput(orhtriac) oWriteVRML.makeaxes() oWriteVRML.writeoutput(oSph) return procedure rhtriac2 orhtriac = createobject("rhtriac") oIcosa = createobject("Icosahedron") oSph = createobject("sphere") oWritePOV = createobject("WritePOV") orhtriac.shapecolor = "Blue" oWritePOV.writeoutput(orhtriac) oWritePOV.writeoutput(oIcosa) ? orhtriac.shapevolume orhtriac.scale(orhtriac.emodfactor) ? orhtriac.shapevolume orhtriac.scale(orhtriac.tmodfactor) ? orhtriac.shapevolume orhtriac.shapecolor = "Magenta" oWritePOV.writeoutput(orhtriac) oWritePOV.makeaxes() oWritePOV.writeoutput(oSph) return