Пример #1
0
        public static JointReciprocal[][] OrientJointsByBaseTile(this JointReciprocal joint, Plane[] p0, Plane[] p1)
        {
            JointReciprocal[][] joints = new JointReciprocal[p0.Length][];

            for (int i = 0; i < joints.Length; i++)
            {
                JointReciprocal jointCopy0 = joint.Duplicate();
                jointCopy0.Orient(jointCopy0.pl, p0[i]);
                JointReciprocal jointCopy1 = joint.Duplicate();
                jointCopy1.Orient(jointCopy1.pl, p1[i]);
                joints[i] = new JointReciprocal[] { jointCopy0, jointCopy1 };
            }

            return(joints);
        }
Пример #2
0
        public void AddReverseJoint(JointReciprocal joint)
        {
            var j = joint.Duplicate();
            var p = new Polyline[j._pln.Length];

            for (int i = 0; i < j._pln.Length; i += 2)
            {
                p[i]     = (j._pln[i + 1]);
                p[i + 1] = (j._pln[i]);
            }
            j._pln = p;
            this._jointsNei.Add(j);
        }
Пример #3
0
        public static JointReciprocal[] OrientJointsByBaseTile(this JointReciprocal joint, Plane[] planes)
        {
            JointReciprocal[] joints = new JointReciprocal[planes.Length];

            for (int i = 0; i < joints.Length; i++)
            {
                JointReciprocal jointCopy = joint.Duplicate();
                jointCopy.Orient(jointCopy.pl, planes[i]);
                joints[i] = jointCopy;
            }

            return(joints);
        }