roguestar-gl-0.4.0.0: src/Models/Stargate.hs
module Models.Stargate
(portal)
where
import RSAGL.Math
import RSAGL.Modeling
import Models.Materials
import Quality
portal :: Quality -> Modeling ()
portal q =
do model $
do model $
do box (Point3D (-0.6) 0 (-0.05)) (Point3D (-0.5) 1.618 0.05)
box (Point3D 0.6 0 (-0.05)) (Point3D 0.5 1.618 0.05)
box (Point3D (-1.1) 1.568 (-0.05))
(Point3D (1.1) 1.668 0.05)
minorFixedQuality q
let cone =
do openCone (Point3D 0 (1.618/6) 0,0.4)
(Point3D 0 (1.618/3) 0,0)
openCone (Point3D 0 (1.618/6) 0,0.4) (Point3D 0 0 0,0)
cone_stack = scale (Vector3D 1 (7/8) 1) $
do cone
translate (Vector3D 0 (1.618/3) 0) cone
translate (Vector3D 0 (2*1.618/3) 0) cone
translate (Vector3D 0 1.618 0) cone
translate (Vector3D 1.1 0 0) cone_stack
translate (Vector3D (-1.1) 0 0) cone_stack
material treaty_metal
model $
do quadralateral (Point3D (-0.55) 0 0)
(Point3D (-0.55) 1.618 0)
(Point3D 0.55 1.618 0)
(Point3D 0.55 0 0)
twoSided True
material treaty_energy_field