SpatiumLib
Public Member Functions | List of all members
spatium::geom3d::Geometry Class Referenceabstract

Abstract Geometry class. More...

#include <Geometry.h>

Inheritance diagram for spatium::geom3d::Geometry:
Inheritance graph
[legend]

Public Member Functions

 Geometry ()=default
 
virtual ~Geometry ()=default
 
virtual double distanceTo (const Point3 &point) const =0
 Compute Euclidean distance to point. More...
 
virtual Point3 projectPoint (const Point3 &point) const =0
 Project point onto geometry. More...
 
virtual bool intersectLine (const Point3 &origin, const Vector3 &direction, Point3 &intersection) const =0
 Intersect line with geometry. More...
 

Detailed Description

Abstract Geometry class.

Every concrete implementation of this class has to implement the following functions:

Constructor & Destructor Documentation

◆ Geometry()

spatium::geom3d::Geometry::Geometry ( )
default

◆ ~Geometry()

virtual spatium::geom3d::Geometry::~Geometry ( )
virtualdefault

Member Function Documentation

◆ distanceTo()

virtual double spatium::geom3d::Geometry::distanceTo ( const Point3 point) const
pure virtual

Compute Euclidean distance to point.

Parameters
[in]pointPoint
Returns
Distance to point

Implemented in spatium::geom3d::Ellipsoid, spatium::geom3d::Plane, and spatium::geom3d::Sphere.

◆ intersectLine()

virtual bool spatium::geom3d::Geometry::intersectLine ( const Point3 origin,
const Vector3 direction,
Point3 intersection 
) const
pure virtual

Intersect line with geometry.

Parameters
[in]originOrigin of line
[in]directionDirection of line
[out]intersectionIntersection point
Returns
True if there is an intersection, otherwise false

Implemented in spatium::geom3d::Ellipsoid, spatium::geom3d::Plane, and spatium::geom3d::Sphere.

◆ projectPoint()

virtual Point3 spatium::geom3d::Geometry::projectPoint ( const Point3 point) const
pure virtual

Project point onto geometry.

Parameters
[in]point
Returns
Projected point

Implemented in spatium::geom3d::Ellipsoid, spatium::geom3d::Plane, and spatium::geom3d::Sphere.


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