Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::davidson_harel::UniformGrid Class Reference

#include <ogdf/energybased/davidson_harel/UniformGrid.h>

Public Member Functions

 UniformGrid (const GraphAttributes &)
 
 UniformGrid (const GraphAttributes &, const node, const DPoint &)
 
 UniformGrid (const UniformGrid &, const node, const DPoint &)
 
bool newGridNecessary (const node v, const DPoint &p)
 
int numberOfCrossings () const
 

Private Member Functions

void checkBresenham (DPoint, DPoint) const
 
void checkBresenham (IPoint, IPoint) const
 
void computeCrossings (const List< edge > &, const node, const DPoint &)
 
void computeGridGeometry (const node, const DPoint &, DIntersectableRect &) const
 
IPoint computeGridPoint (const DPoint &dp) const
 
DPoint computeRealPoint (const IPoint &ip) const
 
bool crossesCell (DPoint, DPoint, const IPoint &) const
 
bool crossesCell (IPoint, IPoint, const IPoint &) const
 
template<typename TPoint , typename TNum >
bool crossesCell (TPoint &A, TPoint &B, TNum xlow, TNum xhigh, TNum ylow, TNum yhigh, const IPoint &CellAdr) const
 
bool crossingTest (const edge, const edge, const node, const DPoint &, const IPoint &)
 
void DoubleModifiedBresenham (const DPoint &, const DPoint &, SList< IPoint > &) const
 
bool intervalIntersect (double, double, double, double) const
 
bool isInt (double d) const
 
void markCells (SList< IPoint > &, Array2D< bool > &) const
 
void ModifiedBresenham (const IPoint &, const IPoint &, SList< IPoint > &) const
 
UniformGridoperator= (const UniformGrid &ug)
 

Private Attributes

EdgeArray< List< IPoint > > m_cells
 
double m_CellSize
 
EdgeArray< List< edge > > m_crossings
 
int m_crossingTests
 
int m_crossNum
 
const Graphm_graph
 
HashArray2D< int, int, List< edge > > m_grid
 
const GraphAttributesm_layout
 
int m_maxEdgesPerCell
 
double m_time
 

Static Private Attributes

const static double m_edgeMultiplier
 
const static double m_epsilon
 

Friends

std::ostream & operator<< (std::ostream &, const UniformGrid &)
 

Detailed Description

Definition at line 47 of file UniformGrid.h.

Constructor & Destructor Documentation

◆ UniformGrid() [1/3]

ogdf::davidson_harel::UniformGrid::UniformGrid ( const GraphAttributes )
explicit

◆ UniformGrid() [2/3]

ogdf::davidson_harel::UniformGrid::UniformGrid ( const GraphAttributes ,
const  node,
const DPoint  
)

◆ UniformGrid() [3/3]

ogdf::davidson_harel::UniformGrid::UniformGrid ( const UniformGrid ,
const  node,
const DPoint  
)

Member Function Documentation

◆ checkBresenham() [1/2]

void ogdf::davidson_harel::UniformGrid::checkBresenham ( DPoint  ,
DPoint   
) const
private

◆ checkBresenham() [2/2]

void ogdf::davidson_harel::UniformGrid::checkBresenham ( IPoint  ,
IPoint   
) const
private

◆ computeCrossings()

void ogdf::davidson_harel::UniformGrid::computeCrossings ( const List< edge > &  ,
const  node,
const DPoint  
)
private

◆ computeGridGeometry()

void ogdf::davidson_harel::UniformGrid::computeGridGeometry ( const  node,
const DPoint ,
DIntersectableRect  
) const
private

◆ computeGridPoint()

IPoint ogdf::davidson_harel::UniformGrid::computeGridPoint ( const DPoint dp) const
inlineprivate

Definition at line 85 of file UniformGrid.h.

◆ computeRealPoint()

DPoint ogdf::davidson_harel::UniformGrid::computeRealPoint ( const IPoint ip) const
inlineprivate

Definition at line 94 of file UniformGrid.h.

◆ crossesCell() [1/3]

bool ogdf::davidson_harel::UniformGrid::crossesCell ( DPoint  ,
DPoint  ,
const IPoint  
) const
private

◆ crossesCell() [2/3]

bool ogdf::davidson_harel::UniformGrid::crossesCell ( IPoint  ,
IPoint  ,
const IPoint  
) const
private

◆ crossesCell() [3/3]

template<typename TPoint , typename TNum >
bool ogdf::davidson_harel::UniformGrid::crossesCell ( TPoint &  A,
TPoint &  B,
TNum  xlow,
TNum  xhigh,
TNum  ylow,
TNum  yhigh,
const IPoint CellAdr 
) const
inlineprivate

Definition at line 128 of file UniformGrid.h.

◆ crossingTest()

bool ogdf::davidson_harel::UniformGrid::crossingTest ( const  edge,
const  edge,
const  node,
const DPoint ,
const IPoint  
)
private

◆ DoubleModifiedBresenham()

void ogdf::davidson_harel::UniformGrid::DoubleModifiedBresenham ( const DPoint ,
const DPoint ,
SList< IPoint > &   
) const
private

◆ intervalIntersect()

bool ogdf::davidson_harel::UniformGrid::intervalIntersect ( double  ,
double  ,
double  ,
double   
) const
private

◆ isInt()

bool ogdf::davidson_harel::UniformGrid::isInt ( double  d) const
inlineprivate

Definition at line 102 of file UniformGrid.h.

◆ markCells()

void ogdf::davidson_harel::UniformGrid::markCells ( SList< IPoint > &  ,
Array2D< bool > &   
) const
private

◆ ModifiedBresenham()

void ogdf::davidson_harel::UniformGrid::ModifiedBresenham ( const IPoint ,
const IPoint ,
SList< IPoint > &   
) const
private

◆ newGridNecessary()

bool ogdf::davidson_harel::UniformGrid::newGridNecessary ( const node  v,
const DPoint p 
)
inline

Definition at line 62 of file UniformGrid.h.

◆ numberOfCrossings()

int ogdf::davidson_harel::UniformGrid::numberOfCrossings ( ) const
inline

Definition at line 60 of file UniformGrid.h.

◆ operator=()

UniformGrid& ogdf::davidson_harel::UniformGrid::operator= ( const UniformGrid ug)
private

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  ,
const UniformGrid  
)
friend

Member Data Documentation

◆ m_cells

EdgeArray<List<IPoint> > ogdf::davidson_harel::UniformGrid::m_cells
private

Definition at line 165 of file UniformGrid.h.

◆ m_CellSize

double ogdf::davidson_harel::UniformGrid::m_CellSize
private

Definition at line 166 of file UniformGrid.h.

◆ m_crossings

EdgeArray<List<edge> > ogdf::davidson_harel::UniformGrid::m_crossings
private

Definition at line 163 of file UniformGrid.h.

◆ m_crossingTests

int ogdf::davidson_harel::UniformGrid::m_crossingTests
private

Definition at line 155 of file UniformGrid.h.

◆ m_crossNum

int ogdf::davidson_harel::UniformGrid::m_crossNum
private

Definition at line 169 of file UniformGrid.h.

◆ m_edgeMultiplier

const static double ogdf::davidson_harel::UniformGrid::m_edgeMultiplier
staticprivate

Definition at line 168 of file UniformGrid.h.

◆ m_epsilon

const static double ogdf::davidson_harel::UniformGrid::m_epsilon
staticprivate

Definition at line 167 of file UniformGrid.h.

◆ m_graph

const Graph& ogdf::davidson_harel::UniformGrid::m_graph
private

Definition at line 160 of file UniformGrid.h.

◆ m_grid

HashArray2D<int, int, List<edge> > ogdf::davidson_harel::UniformGrid::m_grid
private

Definition at line 161 of file UniformGrid.h.

◆ m_layout

const GraphAttributes& ogdf::davidson_harel::UniformGrid::m_layout
private

Definition at line 159 of file UniformGrid.h.

◆ m_maxEdgesPerCell

int ogdf::davidson_harel::UniformGrid::m_maxEdgesPerCell
private

Definition at line 156 of file UniformGrid.h.

◆ m_time

double ogdf::davidson_harel::UniformGrid::m_time
private

Definition at line 157 of file UniformGrid.h.


The documentation for this class was generated from the following file: