All Downloads are FREE. Search and download functionalities are using the official Maven repository.

signalprocesser.voronoi.representation.triangulation.VHalfEdge Maven / Gradle / Ivy

Go to download

ModularImageAnalysis (MIA) is an ImageJ plugin which provides a modular framework for assembling image and object analysis workflows. Detected objects can be transformed, filtered, measured and related. Analysis workflows are batch-enabled by default, allowing easy processing of high-content datasets.

There is a newer version: 1.6.12
Show newest version
/*
 * "Concave" hulls by Glenn Hudson and Matt Duckham
 *
 * Source code downloaded from https://archive.md/l3Un5#selection-571.0-587.218 on 3rd November 2021.
 *
 * - This software is Copyright (C) 2008 Glenn Hudson released under Gnu Public License (GPL). Under 
 *   GPL you are free to use, modify, and redistribute the software. Please acknowledge Glenn Hudson 
 *   and Matt Duckham as the source of this software if you do use or adapt the code in further research 
 *   or other work. For full details of GPL see http://www.gnu.org/licenses/gpl-3.0.txt.
 * - This software comes with no warranty of any kind, expressed or implied.
 * 
 * A paper with full details of the characteristic hulls algorithm is published in Pattern Recognition.
 * Duckham, M., Kulik, L., Worboys, M.F., Galton, A. (2008) Efficient generation of simple polygons for
 * characterizing the shape of a set of points in the plane. Pattern Recognition v41, 3224-3236
 *
 * The software was developed by Glenn Hudson while working with me as an RA. The characteristic shapes 
 * algorithm is collaborative work between Matt Duckham, Lars Kulik, Antony Galton, and Mike Worboys.
 * 
 */

package signalprocesser.voronoi.representation.triangulation;

public class VHalfEdge {

    /* ***************************************************** */
    // Variables
    
    public int vertexnumber;
    public VHalfEdge next;
    
    public VVertex vertex;
    
    private int length = -1;
    
    public boolean shownonminimumspanningtree = false;
    
    
    /* ***************************************************** */
    // Constructors
    
    public VHalfEdge(int _vertexnumber, VVertex _vertex) {
        this.vertexnumber = _vertexnumber;
        this.vertex = _vertex;
    }
    
    public VHalfEdge(int _vertexnumber, VVertex _vertex, VHalfEdge _next) {
        this.vertexnumber = _vertexnumber;
        this.vertex = _vertex;
        this.next = _next;
    }

    /* ***************************************************** */
    // Methods

    public boolean isOuterEdge() {
        return ( vertexnumber==TriangulationRepresentation.OUTER_VERTEXNUMBER );
    }
    
    public VVertex getConnectedVertex() {
        return next.vertex;
    }
    
    public int getLength() {
        if ( length==-1 ) {
            length = (int) vertex.distanceTo(next.vertex);
        }
        return length;
    }
    
    public int getX() {
        return vertex.x;
    }
    
    public int getY() {
        return vertex.y;
    }
    
    /* ***************************************************** */
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy