Require Class/basicPolyhedron

basicPolyhedron Subclass Polyhedron {
  Method Compute {} {
    Vars F vertices faces
    set F [uplevel [list Self VF2Faces $vertices $faces]]
    uplevel Self Recolor
  }

  Var vertices
  Method <Vertices> {list} {set [var vertices] $list}
  ClassVar "Vertices-template\
	 {{\n a: (0,0,0)\n b: (1,0,0)\n c: (0,1,0)\n d: (0,0,1)\n}}"

  Var faces
  Method <Faces> {list} {set [var faces] $list}
  ClassVar "Faces-template {{\n {a b c}\n {a b d}\n {a c d}\n {b c d}\n}}"

  ClassVar {script-templates {Vertices Faces}}

  Method ScriptBegin {} {
    Vars vertices faces
    Parent ScriptBegin
    set vertices {}
    set faces {}
  }
}

Polyhedron Register
