public override List <WFFul> CalcFulcrumPos(FrameRule clamp) { float x_Size = clamp.size1 / clamp.num1; float y_Size = clamp.size2 / clamp.num2; var startPos = -new Vector3(clamp.size1, -clamp.height, clamp.size2 - y_Size) * 0.5f; List <WFFul> positions = new List <WFFul>(); for (int i = 0; i < clamp.num1; i++) { for (int j = 0; j < clamp.num2; j++) { switch (clamp.fulcrumType) { case FulcrumType.downBound: CalcuteUtility.RecordQuadXieBound(i, j, clamp.num1, clamp.num2, startPos, x_Size, y_Size, positions, FulcrumType.downBound, clamp.height); break; default: break; } } } if (clamp.fulcrumType == FulcrumType.downBound && clamp.doubleLayer) { foreach (var item in positions) { item.AppendPosition(clamp.height * Vector3.down); } } return(positions); }
public override List <WFFul> CalcFulcrumPos(FrameRule clamp) { float x_Size = clamp.size1 / clamp.num1; float y_Size = clamp.size2 / clamp.num2; var startPos = -new Vector3(clamp.size1, -clamp.height, clamp.size2 - y_Size) * 0.5f; List <WFFul> positions = new List <WFFul>(); for (int i = 0; i < clamp.num1; i++) { for (int j = 0; j < clamp.num2; j++) { switch (clamp.fulcrumType) { case FulcrumType.upBound: CalcuteUtility.RecordQuadXieBound(i, j, clamp.num1, clamp.num2, startPos, x_Size, y_Size, positions, FulcrumType.upBound); break; case FulcrumType.downBound: if (!clamp.doubleLayer) { CalcuteUtility.RecordQuadrXieAngular(i, j, clamp.num1, clamp.num2, startPos, x_Size, y_Size, clamp.height, positions, FulcrumType.downBound); } else { CalcuteUtility.RecordQuadXieBound(i, j, clamp.num1, clamp.num2, startPos, x_Size, y_Size, positions, FulcrumType.downBound); } break; case FulcrumType.upPoint: break; case FulcrumType.downPoint: break; default: break; } } } if (clamp.doubleLayer && clamp.fulcrumType == FulcrumType.downBound) { for (int i = 0; i < positions.Count; i++) { positions[i].DoubleLayerPos(clamp.height); } } return(positions); }