Class TVoronoiDiagram

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TVoronoiDiagram = class(TObject)

Description

Hierarchy

Overview

Fields

Private FEpsilon: extended;
Private FVerticies: TVertexList;
Private FPoints: TPointList;
Private xmin: extended;
Private xmax: extended;
Private ymin: extended;
Private ymax: extended;
Private Rxmin: extended;
Private Rxmax: extended;
Private Rymin: extended;
Private Rymax: extended;
Private FQuadTree: TRbwQuadTree;

Methods

Private function StartingVertex : longint;
Private procedure AssignVerticesToDelete(VerticesToDelete : TLongIntList);
Private procedure AssignNewVertices(VerticesToDelete : TLongIntList; NewVertices : TVertexList);
Private procedure AddNewVertices(NewVertices : TVertexList; VerticesToDelete : TLongIntList);
Private procedure TestNewVertices(NewVertices: TVertexList; NewVertexPositions: TLongIntList);
Private function GetPoint(Index: integer): TDelaunayPoint;
Private function GetPointCount: integer;
Private function GetVertexCount: integer;
Private function GetVoronoiVertex(Index: integer): TVoronoiVertex;
Private procedure ReplaceExistingVertices(NewVertices: TVertexList; VerticesToDelete: TLongIntList; vertex_mapping: TLongIntList);
Private procedure AddAdditionaVerticesAtEnd(vertex_mapping: TLongIntList; NewVertices: TVertexList; VerticesToDelete: TLongIntList);
Private procedure UpdateLinkagesForNewVertices( VertexIndicesToRestore: TLongIntList; VerticesToRestore: TVertexList; vertex_mapping: TLongIntList; NewVertices: TVertexList);
Private procedure UpdateRemainingLinkages(vertex_mapping: TLongIntList; VertexIndicesToRestore: TLongIntList; VerticesToRestore: TVertexList);
Private procedure SetPoint(Index: integer; const Value: TDelaunayPoint);
Private procedure SetPointCount(const Value: integer);
Private procedure SetVertexCount(const Value: integer);
Private procedure SetVoronoiVertex(Index: integer; const Value: TVoronoiVertex);
Private function StartingVertex2: longint;
Private function StartingVertex3: longint;
Public constructor Create(XLow,YLow,XHigh,YHigh : extended; Epsilon: extended = 1E-5);
Public destructor Destroy; override;
Public procedure AddPoint(DelaunayPoint : TDelaunayPoint);
Public procedure CheckNewPoint(DelaunayPoint: TDelaunayPoint; NewVertexPositions: TLongIntList; New_Vertices: TVertexList);

Properties

Public property PointCount: integer read GetPointCount write SetPointCount;
Public property Points[Index:integer]: TDelaunayPoint read GetPoint write SetPoint;
Public property VertexCount: integer read GetVertexCount write SetVertexCount;
Public property VoronoiVertices[Index:integer]: TVoronoiVertex read GetVoronoiVertex write SetVoronoiVertex;

Description

Fields

Private FEpsilon: extended;
 
Private FVerticies: TVertexList;
 
Private FPoints: TPointList;
 
Private xmin: extended;
 
Private xmax: extended;
 
Private ymin: extended;
 
Private ymax: extended;
 
Private Rxmin: extended;
 
Private Rxmax: extended;
 
Private Rymin: extended;
 
Private Rymax: extended;
 
Private FQuadTree: TRbwQuadTree;
 

Methods

Private function StartingVertex : longint;

StartingVertex finds the vertex number of a Voronoi vertex that is closer to the last Delaunay point than to the closest of its forming points.

Private procedure AssignVerticesToDelete(VerticesToDelete : TLongIntList);

AssignVerticesToDelete adds the positions of all the Voronoi vertices that are closer to the last Delaunay point than to the closest of their forming points to VerticesToDelete.

Private procedure AssignNewVertices(VerticesToDelete : TLongIntList; NewVertices : TVertexList);

AssignNewVertices fills NewVertices with the Voronoi vertices for the last Delaunay point.

Private procedure AddNewVertices(NewVertices : TVertexList; VerticesToDelete : TLongIntList);

AddNewVertices inserts the new Voronoi vertices in NewVertices into the Voronoi diagram. First, existing Voronoi vertices whose indices are listed in VerticesToDelete are replaced. Any additional Voronoi vertices are added to the end of FVerticies.

Private procedure TestNewVertices(NewVertices: TVertexList; NewVertexPositions: TLongIntList);
 
Private function GetPoint(Index: integer): TDelaunayPoint;
 
Private function GetPointCount: integer;
 
Private function GetVertexCount: integer;
 
Private function GetVoronoiVertex(Index: integer): TVoronoiVertex;
 
Private procedure ReplaceExistingVertices(NewVertices: TVertexList; VerticesToDelete: TLongIntList; vertex_mapping: TLongIntList);
 
Private procedure AddAdditionaVerticesAtEnd(vertex_mapping: TLongIntList; NewVertices: TVertexList; VerticesToDelete: TLongIntList);
 
Private procedure UpdateLinkagesForNewVertices( VertexIndicesToRestore: TLongIntList; VerticesToRestore: TVertexList; vertex_mapping: TLongIntList; NewVertices: TVertexList);
 
Private procedure UpdateRemainingLinkages(vertex_mapping: TLongIntList; VertexIndicesToRestore: TLongIntList; VerticesToRestore: TVertexList);
 
Private procedure SetPoint(Index: integer; const Value: TDelaunayPoint);
 
Private procedure SetPointCount(const Value: integer);
 
Private procedure SetVertexCount(const Value: integer);
 
Private procedure SetVoronoiVertex(Index: integer; const Value: TVoronoiVertex);
 
Private function StartingVertex2: longint;
 
Private function StartingVertex3: longint;
 
Public constructor Create(XLow,YLow,XHigh,YHigh : extended; Epsilon: extended = 1E-5);
 
Public destructor Destroy; override;
 
Public procedure AddPoint(DelaunayPoint : TDelaunayPoint);
 
Public procedure CheckNewPoint(DelaunayPoint: TDelaunayPoint; NewVertexPositions: TLongIntList; New_Vertices: TVertexList);
 

Properties

Public property PointCount: integer read GetPointCount write SetPointCount;
 
Public property Points[Index:integer]: TDelaunayPoint read GetPoint write SetPoint;
 
Public property VertexCount: integer read GetVertexCount write SetVertexCount;
 
Public property VoronoiVertices[Index:integer]: TVoronoiVertex read GetVoronoiVertex write SetVoronoiVertex;
 

Generated by PasDoc 0.12.1 on 2013-05-13 15:41:30