// Path: library/src/main/java/com/linheimx/app/library/data/Entry.java
// public class Entry {
// 
//     double x;
//     double y;
// 
//     boolean isNull_Y = false;
// 
//     public Entry(double x, double y) {
//         this.x = x;
//         this.y = y;
//     }
// 
// 
//     public double getX() {
//         return x;
//     }
// 
//     public Entry setX(double x) {
//         this.x = x;
//         return this;
//     }
// 
//     public double getY() {
//         return y;
//     }
// 
//     public Entry setY(double y) {
//         this.y = y;
//         return this;
//     }
// 
//     public boolean isNull_Y() {
//         return isNull_Y;
//     }
// 
//     public Entry setNull_Y() {
//         isNull_Y = true;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return "entry x:" + x + " y:" + y;
//     }
// }
// 
// Path: library/src/main/java/com/linheimx/app/library/utils/RectD.java
// public class RectD {
// 
//     public double left;
//     public double top;
//     public double right;
//     public double bottom;
// 
//     public RectD() {
//     }
// 
//     public RectD(double left, double top, double right, double bottom) {
//         this.left = left;
//         this.top = top;
//         this.right = right;
//         this.bottom = bottom;
//     }
// 
//     public RectD(RectD rectD) {
//         setRectD(rectD);
//     }
// 
//     public void setRectD(RectD rectD) {
//         left = rectD.left;
//         top = rectD.top;
//         right = rectD.right;
//         bottom = rectD.bottom;
//     }
// 
//     public double width() {
//         return right - left;
//     }
// 
//     public double height() {
//         return top - bottom;
//     }
// 
// 
//     public String toString() {
//         return "RectD(" + left + ", " + top + ", "
//                 + right + ", " + bottom + ")";
//     }
// }
// 
// Path: library/src/main/java/com/linheimx/app/library/utils/SingleD_XY.java
// public class SingleD_XY {
//     private double x;
//     private double y;
// 
//     private static SingleD_XY value;
// 
//     private SingleD_XY() {
// 
//     }
// 
//     public synchronized static SingleD_XY getInstance() {
//         if (value == null) {
//             value = new SingleD_XY();
//         }
//         return value;
//     }
// 
//     public double getX() {
//         return x;
//     }
// 
//     public SingleD_XY setX(double x) {
//         this.x = x;
//         return this;
//     }
// 
//     public double getY() {
//         return y;
//     }
// 
//     public SingleD_XY setY(double y) {
//         this.y = y;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return "U_XY  x: " + x + " y:" + y;
//     }
// }
// 
// Path: library/src/main/java/com/linheimx/app/library/utils/SingleF_XY.java
// public class SingleF_XY {
//     private float x;
//     private float y;
// 
//     private static SingleF_XY value;
// 
//     private SingleF_XY() {
// 
//     }
// 
//     public synchronized static SingleF_XY getInstance() {
//         if (value == null) {
//             value = new SingleF_XY();
//         }
//         return value;
//     }
// 
//     public float getX() {
//         return x;
//     }
// 
//     public SingleF_XY setX(float x) {
//         this.x = x;
//         return this;
//     }
// 
//     public float getY() {
//         return y;
//     }
// 
//     public SingleF_XY setY(float y) {
//         this.y = y;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return "U_XY  x: " + x + " y:" + y;
//     }
// }


import android.graphics.RectF;
import com.linheimx.app.library.data.Entry;
import com.linheimx.app.library.utils.RectD;
import com.linheimx.app.library.utils.SingleD_XY;
import com.linheimx.app.library.utils.SingleF_XY;
        return current2Fat;
    }

    /**
     * 当前视图是否跟约束视图一样大
     *
     * @param current2Fat
     */
    public void setCurrent2Fat(boolean current2Fat) {
        this.current2Fat = current2Fat;
    }


    /**
     * 设置约束视图的肥胖因子
     * -------------------
     * 和最大的数据视图做比较:
     * 1. 约束视图 是 最大视图的 1.1 倍，那么这个肥胖因子就是 1.1
     *
     * @param fatFactor
     */
    public void setFatFactor(float fatFactor) {

        if (fatFactor < 1) {
            throw new RuntimeException("肥胖因子必须大于1！");
        }

        this.fatFactor = fatFactor;

        double w = _maxViewPort.width();
// Path: library/src/main/java/com/linheimx/app/library/data/Entry.java
// public class Entry {
// 
//     double x;
//     double y;
// 
//     boolean isNull_Y = false;
// 
//     public Entry(double x, double y) {
//         this.x = x;
//         this.y = y;
//     }
// 
// 
//     public double getX() {
//         return x;
//     }
// 
//     public Entry setX(double x) {
//         this.x = x;
//         return this;
//     }
// 
//     public double getY() {
//         return y;
//     }
// 
//     public Entry setY(double y) {
//         this.y = y;
//         return this;
//     }
// 
//     public boolean isNull_Y() {
//         return isNull_Y;
//     }
// 
//     public Entry setNull_Y() {
//         isNull_Y = true;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return "entry x:" + x + " y:" + y;
//     }
// }
// 
// Path: library/src/main/java/com/linheimx/app/library/utils/RectD.java
// public class RectD {
// 
//     public double left;
//     public double top;
//     public double right;
//     public double bottom;
// 
//     public RectD() {
//     }
// 
//     public RectD(double left, double top, double right, double bottom) {
//         this.left = left;
//         this.top = top;
//         this.right = right;
//         this.bottom = bottom;
//     }
// 
//     public RectD(RectD rectD) {
//         setRectD(rectD);
//     }
// 
//     public void setRectD(RectD rectD) {
//         left = rectD.left;
//         top = rectD.top;
//         right = rectD.right;
//         bottom = rectD.bottom;
//     }
// 
//     public double width() {
//         return right - left;
//     }
// 
//     public double height() {
//         return top - bottom;
//     }
// 
// 
//     public String toString() {
//         return "RectD(" + left + ", " + top + ", "
//                 + right + ", " + bottom + ")";
//     }
// }
// 
// Path: library/src/main/java/com/linheimx/app/library/utils/SingleD_XY.java
// public class SingleD_XY {
//     private double x;
//     private double y;
// 
//     private static SingleD_XY value;
// 
//     private SingleD_XY() {
// 
//     }
// 
//     public synchronized static SingleD_XY getInstance() {
//         if (value == null) {
//             value = new SingleD_XY();
//         }
//         return value;
//     }
// 
//     public double getX() {
//         return x;
//     }
// 
//     public SingleD_XY setX(double x) {
//         this.x = x;
//         return this;
//     }
// 
//     public double getY() {
//         return y;
//     }
// 
//     public SingleD_XY setY(double y) {
//         this.y = y;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return "U_XY  x: " + x + " y:" + y;
//     }
// }
// 
// Path: library/src/main/java/com/linheimx/app/library/utils/SingleF_XY.java
// public class SingleF_XY {
//     private float x;
//     private float y;
// 
//     private static SingleF_XY value;
// 
//     private SingleF_XY() {
// 
//     }
// 
//     public synchronized static SingleF_XY getInstance() {
//         if (value == null) {
//             value = new SingleF_XY();
//         }
//         return value;
//     }
// 
//     public float getX() {
//         return x;
//     }
// 
//     public SingleF_XY setX(float x) {
//         this.x = x;
//         return this;
//     }
// 
//     public float getY() {
//         return y;
//     }
// 
//     public SingleF_XY setY(float y) {
//         this.y = y;
//         return this;
//     }
// 
//     @Override
//     public String toString() {
//         return "U_XY  x: " + x + " y:" + y;
//     }
// }


// Path: library/src/main/java/com/linheimx/app/library/manager/MappingManager.java
import android.graphics.RectF;
import com.linheimx.app.library.data.Entry;
import com.linheimx.app.library.utils.RectD;
import com.linheimx.app.library.utils.SingleD_XY;
import com.linheimx.app.library.utils.SingleF_XY;

        return current2Fat;
    }

    /**
     * 当前视图是否跟约束视图一样大
     *
     * @param current2Fat
     */
    public void setCurrent2Fat(boolean current2Fat) {
        this.current2Fat = current2Fat;
    }


    /**
     * 设置约束视图的肥胖因子
     * -------------------
     * 和最大的数据视图做比较:
     * 1. 约束视图 是 最大视图的 1.1 倍，那么这个肥胖因子就是 1.1
     *
     * @param fatFactor
     */
    public void setFatFactor(float fatFactor) {

        if (fatFactor < 1) {
            throw new RuntimeException("肥胖因子必须大于1！");
        }

        this.fatFactor = fatFactor;

        double w = _maxViewPort.width();
        double h = _maxViewPort.height();