/*************** 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; }