# CuboctaFrame.slf
# Offset surface to make Leonardo-frames of the RegPolys
#####################################################################


################## INITIALIZATIONS #########################

tclinit {
  package require slideui

  set winName .slfWindow

  toplevel .slfWindow.uiOffset
  CreateSLIDEOffsetObject oOffset
  set widget [CreateSLIDEOffsetUI .slfWindow.uiOffset oOffset]
  pack $widget

  toplevel .slfWindow.gRoot
  CreateSLIDEObjectObject gRoot
  set widget [CreateSLIDEGroupUI .slfWindow.gRoot gRoot]
  pack $widget
}
 

######## GEOMETRY ###############

mesh mPatchA


# Cuboctahedron

vertex XYXYZ (  1.00000000000000e+00  1.00000000000000e+00  0.00000000000000e+00 ) endvertex
vertex YZXYZ (  0.00000000000000e+00  1.00000000000000e+00  1.00000000000000e+00 ) endvertex
vertex XZXYZ (  1.00000000000000e+00  0.00000000000000e+00  1.00000000000000e+00 ) endvertex
vertex YYZ ( -1.00000000000000e+00  1.00000000000000e+00  0.00000000000000e+00 ) endvertex
vertex ZYZ ( -1.00000000000000e+00  0.00000000000000e+00  1.00000000000000e+00 ) endvertex
vertex ZXZ (  0.00000000000000e+00 -1.00000000000000e+00  1.00000000000000e+00 ) endvertex
vertex XXZ (  1.00000000000000e+00 -1.00000000000000e+00  0.00000000000000e+00 ) endvertex
vertex NZ ( -1.00000000000000e+00 -1.00000000000000e+00  0.00000000000000e+00 ) endvertex
vertex XXY (  1.00000000000000e+00  0.00000000000000e+00 -1.00000000000000e+00 ) endvertex
vertex YXY (  0.00000000000000e+00  1.00000000000000e+00 -1.00000000000000e+00 ) endvertex
vertex NY ( -1.00000000000000e+00  0.00000000000000e+00 -1.00000000000000e+00 ) endvertex
vertex NX (  0.00000000000000e+00 -1.00000000000000e+00 -1.00000000000000e+00 ) endvertex

facet cc ( NY YXY XXY NX )  endfacet
facet bb ( NX XXZ ZXZ NZ )  endfacet
facet aa ( NZ ZYZ YYZ NY )  endfacet
facet z ( ZXZ XZXYZ YZXYZ ZYZ )  endfacet
facet y ( YYZ YZXYZ XYXYZ YXY )  endfacet
facet x ( XXY XYXYZ XZXYZ XXZ )  endfacet
facet fN ( NX NZ NY ) endfacet
facet fZ ( ZXZ ZYZ NZ ) endfacet
facet fY ( NY YYZ YXY ) endfacet
facet fX ( XXY XXZ NX ) endfacet
facet fYZ ( ZYZ YZXYZ YYZ ) endfacet
facet fXZ ( XXZ XZXYZ ZXZ ) endfacet
facet fXY ( YXY XYXYZ XXY ) endfacet
facet fXYZ ( XZXYZ XYXYZ YZXYZ ) endfacet

endmesh

#######################################################

offset oOffset
  lod {expr $oOffset(lod)}
  shading {expr $oOffset(shading)}

  type {expr $oOffset(type)}

  height {expr $oOffset(height)}
  width {expr $oOffset(width)}
  drawcontrols {expr $oOffset(drawcontrols)}

  instance mPatchA
  endinstance
endoffset

#######################################################

group oMySurface
    instance oOffset
      surface YEL
    endinstance
endgroup

surface YEL color ( 1 1 0 ) endsurface

include "view.slf"