public static Vector2 CalcOffsetForOrigin(PatternPart part, OriginPositionEnum originPosition) { switch (originPosition) { default: case OriginPositionEnum.LeftBottom: { PartExtents dims = CalcPartExtents(part); return(new Vector2(dims.MinX, dims.MaxY)); } case OriginPositionEnum.LeftTop: { PartExtents dims = CalcPartExtents(part); return(new Vector2(dims.MinX, dims.MinY)); } case OriginPositionEnum.Center: { PartExtents dims = CalcPartExtents(part); float xOff = dims.MinX + ((dims.MaxX - dims.MinX) / 2); float yOff = dims.MinY + ((dims.MaxY - dims.MinY) / 2); return(new Vector2(xOff, yOff)); } } }
public void AddLinesToPattern(PatternPart part) { LineAt1 = part.AddLineEntity(StartOfLine, StartOfLine + PerpEndPointStartLine, EntityType); LineAt2 = part.AddLineEntity(EndOfLine, EndOfLine + PerpEndPointEndLine, EntityType); }
public static PartExtents CalcPartExtents(PatternPart part) { return(CalcPartExtents(part.Entities)); }