// cube_transforms.inc // View transform generators for cube-based symmetries. // The cube is of side two centered at the origin. // Meant to be #include'd in the top of TPMS datafiles. // See cube_views.cmd for commands using these. // For labelling types of edges. define edge attribute edgetype integer parameter gridedge = 0 // general edge, usually not shown in images parameter c2edge = 1 // C2 axis parameter cubefaceedge = 2 // on outer surface of cube parameter diagfaceedge = 3 // on x=y face of tetrahedron parameter slantfaceedge = 4 // on slanted, lower face of tetrahedron parameter vertfaceedge = 5 // on x=0 (or y=0) face of tetrahedron parameter cubeedge = 6 // outline edge for cube parameter cubeletedge = 7 // outline edge for cubelet, but not cubeedge parameter tetraedge = 8 // other tetrahedron outline parameter outlineedge = 9 // other outline edge parameter mirroredge = 10 // valence 1 on mirror plane // Types of fundamental regions, one to be assigned to cube_symmetry_type: parameter quadri_full = 1001 parameter quadri_up_half = 1002 parameter quadri_down_half = 1003 parameter trirect_full = 1004 parameter disphenoid_full = 1005 parameter disphenoid_short = 1006 // with short C2 axis parameter disphenoid_long = 1007 // with C2 from (1/2,-1/2,1/2) to (1/2,1/2,3/2) parameter disphenoid_short_long = 1008 // as in dcell.fe parameter disphenoid_two_long = 1009 parameter disphenoid_three = 1010 parameter equilateral_prism = 1011 parameter rectangular_parallelpiped = 1012 parameter isoscoles_prism = 1013 parameter prism_30_60_90 = 1014 parameter cubelet_sym = 1015 parameter cube_sym = 1016 view_transform_generators 22 0,1,0,0 // a: x = y mirror 1,0,0,0 0,0,1,0 0,0,0,1 swap_colors -1,0,0,1 // b: C2 axis of first orthant top front 0,0,-1,1 // quadrirectangular tetrahedron, (1/2,0,1) to (1/2,1/2,1/2) 0,-1,0,1 0,0,0,1 -1 0 0 0 // c: x = 0 mirror 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 // d: y = 0 mirror 0 -1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 // e: z = 0 mirror 0 1 0 0 0 0 -1 0 0 0 0 1 -1 0 0 2 // f: x = 1 mirror 0 1 0 0 0 0 1 0 0 0 0 1 -1 0 0 -2 // g: x = -1 mirror 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 // h: y = 1 mirror 0 -1 0 2 0 0 1 0 0 0 0 1 1 0 0 0 // i: y = -1 mirror 0 -1 0 -2 0 0 1 0 0 0 0 1 1,0,0,0 // j: z = 1 mirror 0,1,0,0 0,0,-1,2 0,0,0,1 1,0,0,0 // k: z = -1 mirror 0,1,0,0 0,0,-1,-2 0,0,0,1 0,0,1,0 // l: x = z mirror 0,1,0,0 1,0,0,0 0,0,0,1 swap_colors 1 0 0 0 // m: short C2 axis for tetragonal disphenoid 0 -1 0 0 0 0 -1 2 0 0 0 1 1 0 0 0 // n: X axis as C2 axis 0 -1 0 0 0 0 -1 0 0 0 0 1 -1 0 0 0 // o: Y axis as C2 axis 0 1 0 0 0 0 -1 0 0 0 0 1 -1 0 0 0 // p: Z axis as C2 axis 0 -1 0 0 0 0 1 0 0 0 0 1 swap_colors -1 0 0 0 // q: vertical edge on +y face of cube as C2 axis 0 -1 0 2 0 0 1 0 0 0 0 1 swap_colors // r: horizontal edge on +z face of cube as C2 axis -1 0 0 0 0 1 0 0 0 0 -1 2 0 0 0 1 // s: horizontal top front edge of cube as C2 axis -1 0 0 2 0 1 0 2 0 0 -1 0 0 0 0 1 // t: translation by 2 in x swap_colors 1 0 0 2 0 1 0 0 0 0 1 0 0 0 0 1 // u: translation by 2 in y swap_colors 1 0 0 0 0 1 0 2 0 0 1 0 0 0 0 1 // v: translation by 2 in z swap_colors 1 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1