public JointReciprocal OrientCopy(Plane s, Plane t) { var r = new JointReciprocal(_pln); r.Orient(s, t); return(r); }
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); }
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); }
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); }