Java 类javafx.scene.transform.NonInvertibleTransformException 实例源码

项目:iso-game-engine    文件:StageInfo.java   
/**
 * Convert an iso coordinate to the (uncorrected) map tile that lives there.
 * */
public MapPoint fromIsoCoord(final Point2D in, final CameraAngle a) {
    Point2D t;
    try {
        switch (a) {
            case UL:
                t = rUL.inverseTransform(isoTransform.inverseTransform(in));
                return new MapPoint((int) (t.getX() - 0.5), (int) t.getY());
            case LL:
                t = rLL.inverseTransform(isoTransform.inverseTransform(in));
                return new MapPoint((int) (t.getX() + 0.5), (int) (t.getY() + 1.5));
            case LR:
                t = rLR.inverseTransform(isoTransform.inverseTransform(in));
                return new MapPoint((int) (t.getX() + 1.5), (int) t.getY());
            case UR:
                t = rUR.inverseTransform(isoTransform.inverseTransform(in));
                return new MapPoint((int) (t.getX() - 1.5), (int) (t.getY() + 0.5));
            default: throw new RuntimeException(
                "Invalid camera angle.  This cannot happen");
        }
    } catch (NonInvertibleTransformException e) {
        throw new RuntimeException("This cannot happen", e);
    }
}
项目:FX-Map-Control    文件:MapProjection.java   
public void setViewportTransform(Location projectionCenter, Location mapCenter, Point2D viewportCenter, double zoomLevel, double heading) {
    viewportScale = getViewportScale(zoomLevel);

    Point2D center = locationToPoint(mapCenter);

    Affine transform = new Affine();
    transform.prependTranslation(-center.getX(), -center.getY());
    transform.prependScale(viewportScale, -viewportScale);
    transform.prependRotation(heading);
    transform.prependTranslation(viewportCenter.getX(), viewportCenter.getY());
    viewportTransform.setToTransform(transform);

    try {
        transform.invert();
    } catch (NonInvertibleTransformException ex) {
        throw new RuntimeException(ex); // this will never happen
    }

    inverseViewportTransform.setToTransform(transform);
}
项目:GestureFX    文件:GesturePane.java   
/**
 * The point on the target at which the current centre point of the viewport is.
 *
 * @return a point on the target using target's coordinate system
 */
public Point2D targetPointAtViewportCentre() {
    try {
        return affine.inverseTransform(viewportCentre());
    } catch (NonInvertibleTransformException e) {
        // TODO what can be done?
        throw new RuntimeException(e);
    }
}
项目:GestureFX    文件:GesturePane.java   
/**
 * Computes the point on the target at the given viewport point.
 *
 * @param viewportPoint a point on the viewport
 * @return a point on the target that corresponds to the viewport point or empty if the point
 * is not within the the bound returned by {@link #getViewportBound()}
 */
public Optional<Point2D> targetPointAt(Point2D viewportPoint) {
    if (!getViewportBound().contains(viewportPoint)) return Optional.empty();
    try {
        return Optional.of(affine.inverseTransform(viewportPoint));
    } catch (NonInvertibleTransformException e) {
        // TODO does this ever happen with just translate and scale?
        return Optional.empty();
    }
}
项目:iso-game-engine    文件:View.java   
/**
 * Get the tile at the mouse position.
 * @return null if there is no tile under the mouse.
 * */
public MapPoint tileAtMouse(final Point2D mouse, final Stage stage) {
    try {
        return stage.collisions.mouseTileCollision(
            totalScreenTransform.inverseTransform(mouse), angle);
    } catch (NonInvertibleTransformException e) {
        throw new RuntimeException("This cannot happen", e);
    }
}
项目:iso-game-engine    文件:View.java   
/**
 * Get the sprite at the mouse position.
 * @return null if there is no sprite under the mouse.
 * */
public MapPoint spriteAtMouse(final Point2D mouse, final Stage stage) {
    try {
        return stage.collisions.mouseSpriteCollision(
            totalScreenTransform.inverseTransform(mouse), angle);
    } catch (NonInvertibleTransformException e) {
        throw new RuntimeException("This cannot happen", e);
    }
}
项目:dnainator    文件:AbstractView.java   
/**
 * Transforms a given bounding box from camera coordinates to world coordinates.
 * @param b the given bounding box
 * @return  the transformed bounding box
 */
public Bounds cameraToWorld(Bounds b) {
    Bounds world = null;
    try {
        world = worldToCamera().inverseTransform(b);
    } catch (NonInvertibleTransformException e) {
        e.printStackTrace();
    }
    return world;
}
项目:dnainator    文件:AbstractView.java   
/**
 * Compute the transformation to be applied for the zoom.
 * @param zoom    the scale of the zoom.
 * @param center  the center of the zoom, in camera space
 * @return the transformation for the zoom.
 */
protected Transform computeZoom(double zoom, Point2D center) {
    Point2D world;
    Transform newScale = scale;
    try {
        world = scale.inverseTransform(center.getX() - toCenter.getX() - translate.getX(),
                center.getY() - toCenter.getY() - translate.getY());
        newScale = scale.createConcatenation(new Scale(zoom, zoom,
                                    world.getX(), world.getY()));
    } catch (NonInvertibleTransformException e) {
        e.printStackTrace();
    }
    return newScale;
}
项目:fr.xs.jtk    文件:CuboidMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:fr.xs.jtk    文件:PrismMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:fr.xs.jtk    文件:SegmentedSphereMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:fr.xs.jtk    文件:FrustumMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:fr.xs.jtk    文件:TetrahedraMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FXyzLib    文件:PrismMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FXyzLib    文件:FrustumMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FXyzLib    文件:BillBoardBehaviorTest.java   
@Override
public void start(Stage stage) throws NonInvertibleTransformException {

    createSubscene();        
    createCameraView();
    createOverlay();

    Scene scene = new Scene(rootPane, 1024, 668);          

    stage.setTitle("Billbording Test!");
    stage.setScene(scene);
    stage.setMaximized(true);
    stage.show();                        

}
项目:Trydent    文件:GameObject.java   
/**
 * Sets the global position.
 *
 * @param position
 *            the 2D position
 */
public void setPosition(Position position) {
    try {
        Point2D p = getParentFxNode().getLocalToSceneTransform().inverseTransform(position.getX(), position.getY());
        setTranslateMatrix(Transform.translate(p.getX(), p.getY()));
    } catch (NonInvertibleTransformException e) {
        throw new TrydentInternalException("Local -> Scene not invertable! " + e);
    }
}
项目:FX3DAndroid    文件:CuboidMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FX3DAndroid    文件:PrismMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FX3DAndroid    文件:SegmentedSphereMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FX3DAndroid    文件:FrustumMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}
项目:FX3DAndroid    文件:TetrahedraMesh.java   
public Point3D unTransform(Point3D p){
    try {
        javafx.geometry.Point3D ta = a.inverseTransform(p.x,p.y,p.z);
        return new Point3D((float)ta.getX(), (float)ta.getY(), (float)ta.getZ());
    } catch (NonInvertibleTransformException ex) {
        System.out.println("p not invertible "+p);
    }
    return p;
}