Search Results for

    Show / Hide Table of Contents

    Class GraphSplitter2d

    This class is used to bisect an existing DGraph2 with infinite lines. This is easier than inserting new segments, which can be done using Arrangement2d.

    Computations are done in double precision. Use at your own risk.

    [TODO]

    • computation of signs for a split-line is currently O(N). If inserting many parallel lines, can improve this using standard sorting.
    Inheritance
    Object
    GraphSplitter2d
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: g3
    Assembly: cs.temp.dll.dll
    Syntax
    public class GraphSplitter2d

    Constructors

    GraphSplitter2d(DGraph2)

    Declaration
    public GraphSplitter2d(DGraph2 graph)
    Parameters
    Type Name Description
    DGraph2 graph

    Fields

    Graph

    Declaration
    public DGraph2 Graph
    Field Value
    Type Description
    DGraph2

    InsertedEdgesID

    default ID for new edges, can override in specific functions

    Declaration
    public int InsertedEdgesID
    Field Value
    Type Description
    Int32

    InsideTestF

    when inserting new segments, we check if their midpoint passes this test

    Declaration
    public Func<Vector2d, bool> InsideTestF
    Field Value
    Type Description
    Func<Vector2d, Boolean>

    OnVertexTol

    tolerance for WhichSide(vtx) tests

    Declaration
    public double OnVertexTol
    Field Value
    Type Description
    Double

    Methods

    do_split(Line2d, Boolean, Int32)

    Declaration
    protected virtual void do_split(Line2d line, bool insert_edges, int insert_gid)
    Parameters
    Type Name Description
    Line2d line
    Boolean insert_edges
    Int32 insert_gid

    InsertLine(Line2d, Int32)

    split all graph edges that intersect line, and insert segments connecting these points

    Declaration
    public void InsertLine(Line2d line, int insert_edges_id = -1)
    Parameters
    Type Name Description
    Line2d line
    Int32 insert_edges_id
    In This Article
    Back to top ViRGIS VR GIS