예제 #1
0
        /*************** CONSTRUCTORS ***************/
        public Shutter(FaceComponent parent, ShutterSide side)
        {
            this.parent = parent;
            this.side = side;
            angles = 0;
            boundaries = new Vector3[8];

            if (side == ShutterSide.Right)
            {
              boundaries[0] = Vector3.zero;
              boundaries[1] = - parent.parentFace.right * (parent.width / 2);
              boundaries[2] = boundaries[1] + Vector3.up * parent.height;
              boundaries[3] = Vector3.up * parent.height;

              meshOrigin = parent.boundaries[0];
            }
            else
            {
              boundaries[0] = parent.parentFace.right * (parent.width / 2);
              boundaries[1] = Vector3.zero;
              boundaries[2] = Vector3.up * parent.height;
              boundaries[3] = boundaries[0] + boundaries[2];

              meshOrigin = parent.boundaries[1];
            }

            for (var i = 0; i < 4; ++i)
            boundaries[i + 4] = boundaries[i] - parent.normal * parent.depth / 2;
        }
        public ComponentDecor(FaceComponent parent, bool isSimple = false)
        {
            parentComponent = parent;
            _isSimple = isSimple;
            _parentIsWindow = parent.GetType().Equals(typeof(Window)) ? true : false;

            if (_isSimple)
              initSimpleDecor();
            else
              initDecor();
        }
        /*************** CONSTRUCTORS ***************/
        public ComponentBody(FaceComponent parent)
        {
            parentComponent = parent;

            boundaries = new Vector3[4];
            for (var i = 0; i < parentComponent.boundaries.Length; ++i)
              boundaries[i] = parentComponent.boundaries[i] -
                      parentComponent.depth * parentComponent.normal;

            FindMeshOrigin(boundaries[0],
                   boundaries[2],
                   boundaries[1],
                   boundaries[3]);

            for (var i = 0; i < boundaries.Length; ++i)
              boundaries[i] -= meshOrigin;
        }
        /*************** CONSTRUCTORS ***************/
        public ComponentFrame(FaceComponent parent)
        {
            parentComponent = parent;

            boundaries = new Vector3[8];
            for (var i = 0; i < 4; ++i)
            {
              boundaries[i] = parentComponent.boundaries[i];
              // subtract a small amount to prevent overlaping triangles
              boundaries[i + 4] = boundaries[i] - parentComponent.depth * parentComponent.normal;
            }

            FindMeshOrigin(boundaries[0],
                   boundaries[6],
                   boundaries[2],
                   boundaries[4]);

            for (var i = 0; i < boundaries.Length; ++i)
              boundaries[i] -= meshOrigin;
        }