OGS
AnalyticalGeometry.cpp File Reference

Detailed Description

Implementation of analytical geometry functions.

Author
Thomas Fischer
Date
2010-03-17

Definition in file AnalyticalGeometry.cpp.

#include "AnalyticalGeometry.h"
#include <Eigen/Geometry>
#include <algorithm>
#include <cmath>
#include <limits>
#include "BaseLib/StringTools.h"
#include "MathLib/GeometricBasics.h"
#include "PointVec.h"
#include "Polyline.h"
Include dependency graph for AnalyticalGeometry.cpp:

Go to the source code of this file.

Namespaces

namespace  ExactPredicates
 
namespace  GeoLib
 

Functions

double orient2d (double *, double *, double *)
 
double orient2dfast (double *, double *, double *)
 
double ExactPredicates::getOrientation2d (MathLib::Point3d const &a, MathLib::Point3d const &b, MathLib::Point3d const &c)
 
double ExactPredicates::getOrientation2dFast (MathLib::Point3d const &a, MathLib::Point3d const &b, MathLib::Point3d const &c)
 
Orientation GeoLib::getOrientation (MathLib::Point3d const &p0, MathLib::Point3d const &p1, MathLib::Point3d const &p2)
 
Orientation GeoLib::getOrientationFast (MathLib::Point3d const &p0, MathLib::Point3d const &p1, MathLib::Point3d const &p2)
 
bool GeoLib::parallel (Eigen::Vector3d v, Eigen::Vector3d w)
 
bool GeoLib::lineSegmentIntersect (GeoLib::LineSegment const &s0, GeoLib::LineSegment const &s1, GeoLib::Point &s)
 
bool GeoLib::lineSegmentsIntersect (const GeoLib::Polyline *ply, GeoLib::Polyline::SegmentIterator &seg_it0, GeoLib::Polyline::SegmentIterator &seg_it1, GeoLib::Point &intersection_pnt)
 
void GeoLib::rotatePoints (Eigen::Matrix3d const &rot_mat, std::vector< GeoLib::Point * > &pnts)
 
Eigen::Matrix3d GeoLib::computeRotationMatrixToXY (Eigen::Vector3d const &n)
 
Eigen::Matrix3d GeoLib::rotatePointsToXY (std::vector< GeoLib::Point * > &pnts)
 
std::unique_ptr< GeoLib::PointGeoLib::triangleLineIntersection (MathLib::Point3d const &a, MathLib::Point3d const &b, MathLib::Point3d const &c, MathLib::Point3d const &p, MathLib::Point3d const &q)
 
void GeoLib::computeAndInsertAllIntersectionPoints (GeoLib::PointVec &pnt_vec, std::vector< GeoLib::Polyline * > &plys)
 
std::tuple< std::vector< GeoLib::Point * >, Eigen::Vector3d > GeoLib::rotatePolygonPointsToXY (GeoLib::Polygon const &polygon_in)
 
std::vector< MathLib::Point3dGeoLib::lineSegmentIntersect2d (GeoLib::LineSegment const &ab, GeoLib::LineSegment const &cd)
 
void GeoLib::sortSegments (MathLib::Point3d const &seg_beg_pnt, std::vector< GeoLib::LineSegment > &sub_segments)
 
Eigen::Matrix3d GeoLib::compute2DRotationMatrixToX (Eigen::Vector3d const &v)
 
Eigen::Matrix3d GeoLib::compute3DRotationMatrixToX (Eigen::Vector3d const &v)
 

Function Documentation

◆ orient2d()

double orient2d ( double * ,
double * ,
double *  )
extern

◆ orient2dfast()

double orient2dfast ( double * ,
double * ,
double *  )
extern