// 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;
package com.linheimx.app.library.manager;



/**
 * 数据源与绘出来的图之间的映射关系
 * -------------------
 * 人与照片直接的映射关系
 * <p>
 * Created by lijian on 2016/11/13.
 */

public class MappingManager {

    /**
     * 区域视图
     */
    RectF _contentRect;

    /**
     * 数据视图
     */
    RectD _maxViewPort;
    RectD _currentViewPort;


    /**
     * 数据视图的约束
     */
    float fatFactor = 1.3f;//肥胖因子
// 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;

package com.linheimx.app.library.manager;



/**
 * 数据源与绘出来的图之间的映射关系
 * -------------------
 * 人与照片直接的映射关系
 * <p>
 * Created by lijian on 2016/11/13.
 */

public class MappingManager {

    /**
     * 区域视图
     */
    RectF _contentRect;

    /**
     * 数据视图
     */
    RectD _maxViewPort;
    RectD _currentViewPort;


    /**
     * 数据视图的约束
     */
    float fatFactor = 1.3f;//肥胖因子
    RectD _constrainViewPort;