ú΂‰*      !"#$%&'() *+,-./0123456789:;<=>?@ABC         DEFA solid is a predicate that is true if the point is inside the solid. FGHIJ   (KLMNOPQRSTUVWXYZ[\]^_`ab!&Creates a triangle mesh from a solid. cdefghijklmnopq!!!"+A sphere with radius 1 centered at origin. #0A sphere with edge length 2 centered at origin. $:A cylinder with radius 1 and height 2 centered at origin. "#$"#$"#$%0The Asm holds all the parts and sub-assemblies. rs&%Place a part (Solid) in an assembly. '+Assemble multiple sub-assemblies together. (GView an assembly given radius, precision, and vertex refinement level. %&'(%&'(%&'()A simple design example. t))) "  "#$%&'()u     !"#$%&'())*+,-./01234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy.Nz{ mecha-0.0.2Language.Mecha.OpenGLLanguage.Mecha.ViewerLanguage.Mecha.TypesLanguage.Mecha.SolidLanguage.Mecha.MeshLanguage.Mecha.PrimitivesLanguage.Mecha.AssemblyLanguage.Mecha.ExamplesLanguage.Mechavertex3normal3color3scale3 translate3rotate3viewerSetableunion intersection difference Colorablecolor ScaleablescaleMoveablemoverotateColorNormalVertexVectormoveXmoveYmoveZrotateXrotateYrotateZscaleXYZunionsdebugSolidmeshspherecubecylinderAsmplaceassembleviewexampletoFloatModelState leftButton middleButton rightButtonthetaphiscale'theta'phi'x'y'iji'j'runningsetViewredraw stateViewloophandler nextStateorignVector4Matrix4 transformmv4to4to3m4v3EdgeLKJIHGFEDCBAAxisZYXOpMirrorYMirrorXRotateYRotateXRotateXZInvertsdEdgeaveragecornersnormalspatternspolygonConfigurations findPatternunOp unOpInvert unOpRotateXZ unOpRotateX unOpRotateY unOpMirrorX unOpMirrorY vertexIndexdesign