roguestar-gl-0.4.0.1: src/Models/EnergySwords.hs
module Models.EnergySwords
(energySword) where
import RSAGL.Modeling
import RSAGL.Math
import Quality
import Models.LibraryData
import Control.Monad
import Models.Materials
energySword :: EnergyColor -> Integer -> Quality -> Modeling ()
energySword energy_color size_count _ = model $
do model $ do closedCone (Point3D 0 (negate $ realToFrac size_count) 0,1.0) (Point3D 0 3 0,1.0)
concordance_metal
model $ do closedDisc (Point3D 0 3.01 0) (Vector3D 0 1 0) 0.6
when (size_count >= 2) $ openDisc (Point3D 0 3.01 0) (Vector3D 0 1 0) 0.75 1.0
when (size_count >= 3) $ openCone (Point3D 0 2.75 0,1.1) (Point3D 0 2.25 0,1.1)
when (size_count >= 4) $ openCone (Point3D 0 (-2.25) 0,1.1) (Point3D 0 (-2.75) 0,1.1)
when (size_count >= 5) $ openCone (Point3D 0 (-4.25) 0,1.1) (Point3D 0 (-4.75) 0,1.1)
energyMaterial energy_color