Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

geometry.h File Reference

Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment, DPolygon, DRect, DIntersectableRect. More...

#include <ogdf/basic/Array.h>
#include <ogdf/basic/EpsilonTest.h>
#include <ogdf/basic/List.h>
#include <ogdf/basic/Math.h>
#include <ogdf/basic/basic.h>
#include <algorithm>
#include <cmath>
#include <limits>
#include <ostream>
#include <utility>

Go to the source code of this file.

Classes

class  ogdf::DefHashFunc< K >
 Default hash functions. More...
 
class  ogdf::DefHashFunc< IPoint >
 
class  ogdf::DIntersectableRect
 Rectangles with real coordinates. More...
 
class  ogdf::DPolygon
 Polygons with real coordinates. More...
 
class  ogdf::DRect
 Rectangles with real coordinates. More...
 
class  ogdf::GenericLine< PointType >
 Infinite lines. More...
 
class  ogdf::GenericPoint< T >
 Parameterized base class for points. More...
 
class  ogdf::GenericPolyline< PointType >
 Polylines with PointType points. More...
 
class  ogdf::GenericSegment< PointType >
 Finite line segments. More...
 

Namespaces

 ogdf
 The namespace for all OGDF objects.
 

Typedefs

using ogdf::DLine = GenericLine< DPoint >
 Lines with real coordinates. More...
 
using ogdf::DPoint = GenericPoint< double >
 Representing two-dimensional point with real coordinates. More...
 
using ogdf::DPolyline = GenericPolyline< DPoint >
 Polylines with DPoint points. More...
 
using ogdf::DSegment = GenericSegment< DPoint >
 Segments with real coordinates. More...
 
using ogdf::IPoint = GenericPoint< int >
 Representing a two-dimensional point with integer coordinates. More...
 
using ogdf::IPolyline = GenericPolyline< IPoint >
 Polylines with IPoint points. More...
 

Enumerations

enum  ogdf::IntersectionType { ogdf::IntersectionType::None, ogdf::IntersectionType::SinglePoint, ogdf::IntersectionType::Overlapping }
 Determines the type of intersection of two geometric objects. More...
 
enum  ogdf::Orientation { ogdf::Orientation::topToBottom, ogdf::Orientation::bottomToTop, ogdf::Orientation::leftToRight, ogdf::Orientation::rightToLeft }
 Determines the orientation in hierarchical layouts. More...
 

Functions

DPoint ogdf::contourPointFromAngle (double angle, int n, double rotationOffset=0, const DPoint &center=DPoint(), const DPoint &vSize=DPoint(1, 1))
 returns the point where a vector, pointing from center in direction of angle, intersects with the contour of any regular n-polygon. More...
 
DPoint ogdf::contourPointFromAngle (double angle, Shape shape, const DPoint &center=DPoint(), const DPoint &vSize=DPoint(1, 1))
 returns the point where a vector, pointing from center in direction of angle, intersects with the contour of any Shape. More...
 
bool ogdf::isPointCoveredByNode (const DPoint &point, const DPoint &v, const DPoint &vSize, const Shape &shape)
 Check whether this point lies within a node (using node shapes with same size and aspect as in TikZ). More...
 
std::ostream & ogdf::operator<< (std::ostream &os, const DPolygon &dop)
 Output operator for polygons. More...
 
template<class PointType >
std::ostream & ogdf::operator<< (std::ostream &os, const GenericLine< PointType > &line)
 Output operator for lines. More...
 
template<typename T >
std::ostream & ogdf::operator<< (std::ostream &os, const GenericPoint< T > &p)
 Output operator for generic points. More...
 
template<class PointType >
std::ostream & ogdf::operator<< (std::ostream &os, const GenericSegment< PointType > &dl)
 Output operator for line segments. More...
 
int ogdf::orientation (const DPoint &p, const DPoint &q, const DPoint &r)
 
int ogdf::orientation (const DSegment &s, const DPoint &p)
 

Variables

const EpsilonTest ogdf::OGDF_GEOM_ET
 

Detailed Description

Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment, DPolygon, DRect, DIntersectableRect.

Author
Joachim Kupke, Rene Weiskircher, Ivo Hedtke
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file geometry.h.