![]() |
RobWorkProject
23.9.11-
|
A ray - an infinitely extending half-line described by a starting position and a direction. More...
#include <Ray.hpp>
Inherits Line.
Public Member Functions | |
| Ray (rw::math::Vector3D< double > &pos, rw::math::Vector3D< double > &dir) | |
| constructor More... | |
| virtual | ~Ray () |
| Destructor. | |
| rw::math::Vector3D< double > & | pos () |
| Get the position from which the ray starts. | |
| const rw::math::Vector3D< double > & | pos () const |
| Get the position from which the ray starts. | |
| rw::math::Vector3D< double > & | dir () |
| Get the direction in which the ray shoots. | |
| const rw::math::Vector3D< double > & | dir () const |
| Get the direction in which the ray shoots. | |
| TriMesh::Ptr | createMesh (int resolution) const |
| make a trimesh from this primitive. Use granularity to specify minimum number of line segments a half circle is split into More... | |
| rw::math::Q | getParameters () const |
| get the parameters that define this primitive More... | |
| GeometryType | getType () const |
| the type of this primitive More... | |
Public Member Functions inherited from Line | |
| Line () | |
| Constructor. More... | |
| Line (const rw::math::Q ¶ms) | |
| Constructor. More... | |
| Line (const rw::math::Vector3D< double > &p1, const rw::math::Vector3D< double > &p2) | |
| Constructor. More... | |
| virtual | ~Line () |
| destructor | |
| rw::math::Vector3D< double > & | p1 () |
| Get point 1. | |
| const rw::math::Vector3D< double > & | p1 () const |
| Get point 1. | |
| rw::math::Vector3D< double > & | p2 () |
| Get point 2. | |
| const rw::math::Vector3D< double > & | p2 () const |
| Get point 2. | |
| rw::math::Vector3D< double > | dir () const |
| Get a direction vector u = normalize(p2 - p1). | |
| double | distance (const rw::math::Vector3D< double > &point) const |
| Calculates the shortest distance from a point to the line. More... | |
| double | distance (const Line &line) const |
| Calculates the shortest distance to another line. More... | |
| rw::math::Vector3D< double > | closestPoint (const rw::math::Vector3D< double > &point) const |
| Finds a point on the line closest to specified point. More... | |
| double | refit (const std::vector< rw::math::Vector3D< double >> &data) |
| Fit this line to a set of points. More... | |
| double | refit (const std::vector< rw::math::Vector3D< double >>::const_iterator begin, const std::vector< rw::math::Vector3D< double >>::const_iterator end) |
| virtual void | setParameters (const rw::math::Q &q) |
| set the parameters that define this primitive More... | |
Public Member Functions inherited from Primitive | |
| virtual | ~Primitive () |
| destructor | |
| TriMesh::Ptr | getTriMesh (bool forceCopy=true) |
| gets a trimesh representation of this geometry data. More... | |
| virtual bool | isConvex () |
| test if this geometry data is convex More... | |
| bool | isInside (const rw::math::Vector3D< double > &point) |
| test if a point is on the border or inside this primitive | |
Public Member Functions inherited from GeometryData | |
| virtual | ~GeometryData () |
| Destructor. | |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const Ray &ray) |
| Streaming operator. | |
Additional Inherited Members | |
Public Types inherited from Line | |
| typedef rw::core::Ptr< Line > | Ptr |
| Smart pointer to Line. | |
| typedef double | value_type |
| Type of internal values. | |
Public Types inherited from Primitive | |
| typedef rw::core::Ptr< Primitive > | Ptr |
| Smart pointer to this type of class. | |
Public Types inherited from GeometryData | |
| enum | GeometryType { PointCloud , LineMesh , PlainTriMesh , IdxTriMesh , SpherePrim , BoxPrim , OBBPrim , AABBPrim , LinePrim , PointPrim , PyramidPrim , ConePrim , TrianglePrim , CylinderPrim , TubePrim , PlanePrim , RayPrim , Implicit , Quadratic , UserType } |
| geometry data types | |
| typedef rw::core::Ptr< GeometryData > | Ptr |
| smart pointer type to this class | |
| typedef rw::core::Ptr< const GeometryData > | CPtr |
| const smart pointer type to this class | |
Static Public Member Functions inherited from Line | |
| static std::vector< Line > | makeGrid (int dim_x, int dim_y, double size_x=1.0, double size_y=1.0, const rw::math::Vector3D< double > &xdir=rw::math::Vector3D< double >::x(), const rw::math::Vector3D< double > &ydir=rw::math::Vector3D< double >::y()) |
| Create set of lines making a grid. | |
| static rw::math::Metric< Line >::Ptr | makeMetric (double angToDistWeight=1.0) |
| create a metric that can be used to compare the difference between two lines. The distance between two lines is computed as follows: More... | |
Static Public Member Functions inherited from GeometryData | |
| static std::string | toString (GeometryType type) |
| format GeometryType to string More... | |
Protected Member Functions inherited from Primitive | |
| virtual bool | doIsInside (const rw::math::Vector3D< double > &point) |
| Check if point lies inside geometry. More... | |
| Primitive (int levels=20) | |
| Constructor. More... | |
A ray - an infinitely extending half-line described by a starting position and a direction.
|
inline |
constructor
| pos | [in] position from which the ray starts |
| dir | [in] direction in which the ray shoots |
|
inlinevirtual |
make a trimesh from this primitive. Use granularity to specify minimum number of line segments a half circle is split into
| resolution | [in] |
Reimplemented from Line.
|
inlinevirtual |
get the parameters that define this primitive
Reimplemented from Line.
|
inlinevirtual |
the type of this primitive
Reimplemented from Line.