home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Examples / solidQuadrics / SolidCylinder2.wwModel / initialDefines.eve next >
Encoding:
Text File  |  1995-03-22  |  1.4 KB  |  45 lines

  1. set cylinder(color) {1.0 0.0 0.0}
  2. set cylinder(radius) 1.0
  3. set cylinder(zMin) -$cylinder(radius)
  4. set cylinder(zMax) $cylinder(radius)
  5. set cylinder(thetaMax) 360.0
  6.  
  7. set cylinder(volumePreservingScaleFactor) 1.0
  8.  
  9. EveCmd {set cylinder(xScale) [expr 1./sqrt($cylinder(volumePreservingScaleFactor))]}
  10. EveCmd {set cylinder(yScale) $cylinder(volumePreservingScaleFactor)}
  11. EveCmd {set cylinder(zScale) [expr 1./sqrt($cylinder(volumePreservingScaleFactor))]}
  12.  
  13. set cylinder(xTranslate) 0
  14. set cylinder(yTranslate) 0
  15. set cylinder(zTranslate) 0
  16. set cylinder(xRotate) 0
  17. set cylinder(yRotate) 0
  18. set cylinder(zRotate) 0
  19.  
  20. EveCmd {set cylinder(innerX) [expr {$cylinder(radius) * cos(radians($cylinder(thetaMax)))}]}
  21. EveCmd {set cylinder(innerY) [expr {$cylinder(radius) * sin(radians($cylinder(thetaMax)))}]}
  22.  
  23. proc drawInside {thetaMax zMin zMax radius innerX innerY} { 
  24.   if {int($thetaMax) && [expr int($thetaMax)] % 360} \
  25.   {  Patch bilinear P "0 0 $zMax  \
  26.                        $radius 0 $zMax  \
  27.                        0 0 $zMin        \
  28.                        $radius 0 $zMin  \
  29.                       ";
  30.      Patch bilinear P "0 0 $zMax  \
  31.                        $innerX $innerY $zMax  \
  32.                        0 0 $zMin        \
  33.                        $innerX $innerY $zMin  \
  34.                       ";
  35.   } {}
  36. }
  37.  
  38.  
  39. # some animation stuff
  40. set shape cylinder
  41. set ${shape}(heightFactor) 2
  42. set ${shape}(radiusFactor) 2
  43. set ${shape}(zMinFactor) 2
  44. set ${shape}(zMaxFactor) 2
  45.