#include <surface_nurbs.h>
Classes | |
struct | Functor |
struct | PT_GRID |
Public Member Functions | |
virtual float | _merge (SurfaceNurbs o, const float this_w, const float o_w, const SWINDOW &wind_t, const SWINDOW &wind_o) |
virtual Eigen::Vector3f | _project2world (const Eigen::Vector2f &pt) const |
virtual float | area () const |
calc approx. area | |
virtual bool | fitsCurvature (const Surface &o, const float thr) const |
check form against | |
virtual const char * | getName () const |
const SURFACE & | getNurbs () const |
virtual int | getSurfaceType () const |
get implementation details | |
virtual void | init (const boost::array< float, 6 > ¶ms, const float min_x, const float max_x, const float min_y, const float max_y, const float weight) |
init with 6 parameters | |
virtual float | merge (const Surface &o, const float this_w, const float o_w, const SWINDOW &wind_t, const SWINDOW &wind_o) |
merge parameters | |
virtual Eigen::Vector2f | nextPoint (const Eigen::Vector3f &v) const |
find nearest point to manifold | |
virtual Eigen::Vector3f | normalAt (const Eigen::Vector2f &v) const |
get normal at 2D point | |
virtual Eigen::Vector3f | project2world (const Eigen::Vector2f &pt) const |
project a 2D point to 3D | |
virtual void | transform (const Eigen::Matrix3f &rot, const Eigen::Vector3f &tr) |
transform basis | |
Private Types | |
typedef PlNurbsSurfaceSPf | SURFACE |
Private Member Functions | |
virtual float | _merge2 (SurfaceNurbs o, const float this_w, const float o_w, const SWINDOW &wind_t, const SWINDOW &wind_o) |
Eigen::Vector2f | _nextPoint (const Eigen::Vector3f &v) const |
find nearest point to manifold | |
virtual Eigen::Vector3f | _normalAt (const Eigen::Vector2f &v) const |
virtual Eigen::Vector2f | correct (const Eigen::Vector2f &v) const |
offset correction | |
int | myprojectOn (const SURFACE &s, const Eigen::Vector3f &p, float &u, float &v, const int maxIt) const |
Private Attributes | |
float | c_x_m_ |
float | c_x_o_ |
float | c_y_m_ |
float | c_y_o_ |
SURFACE | nurbs_ |
MatrixRTf | weights_ |
Definition at line 16 of file surface_nurbs.h.
typedef PlNurbsSurfaceSPf Slam_Surface::SurfaceNurbs::SURFACE [private] |
Definition at line 18 of file surface_nurbs.h.
float Slam_Surface::SurfaceNurbs::_merge | ( | SurfaceNurbs | o, |
const float | this_w, | ||
const float | o_w, | ||
const SWINDOW & | wind_t, | ||
const SWINDOW & | wind_o | ||
) | [virtual] |
Definition at line 372 of file surface_nurbs.hpp.
float Slam_Surface::SurfaceNurbs::_merge2 | ( | SurfaceNurbs | o, |
const float | this_w, | ||
const float | o_w, | ||
const SWINDOW & | wind_t, | ||
const SWINDOW & | wind_o | ||
) | [private, virtual] |
Definition at line 763 of file surface_nurbs.hpp.
Eigen::Vector2f Slam_Surface::SurfaceNurbs::_nextPoint | ( | const Eigen::Vector3f & | v | ) | const [private] |
find nearest point to manifold
Definition at line 271 of file surface_nurbs.hpp.
Eigen::Vector3f Slam_Surface::SurfaceNurbs::_normalAt | ( | const Eigen::Vector2f & | v | ) | const [private, virtual] |
Definition at line 123 of file surface_nurbs.hpp.
Eigen::Vector3f Slam_Surface::SurfaceNurbs::_project2world | ( | const Eigen::Vector2f & | pt | ) | const [virtual] |
Definition at line 110 of file surface_nurbs.hpp.
virtual float Slam_Surface::SurfaceNurbs::area | ( | ) | const [inline, virtual] |
Eigen::Vector2f Slam_Surface::SurfaceNurbs::correct | ( | const Eigen::Vector2f & | v | ) | const [private, virtual] |
offset correction
Definition at line 99 of file surface_nurbs.hpp.
bool Slam_Surface::SurfaceNurbs::fitsCurvature | ( | const Surface & | o, |
const float | thr | ||
) | const [virtual] |
check form against
Implements Slam_Surface::Surface.
Definition at line 156 of file surface_nurbs.hpp.
virtual const char* Slam_Surface::SurfaceNurbs::getName | ( | void | ) | const [inline, virtual] |
Implements Slam_Surface::Surface.
Definition at line 96 of file surface_nurbs.h.
const SURFACE& Slam_Surface::SurfaceNurbs::getNurbs | ( | ) | const [inline] |
Definition at line 118 of file surface_nurbs.h.
virtual int Slam_Surface::SurfaceNurbs::getSurfaceType | ( | ) | const [inline, virtual] |
get implementation details
Implements Slam_Surface::Surface.
Definition at line 95 of file surface_nurbs.h.
void Slam_Surface::SurfaceNurbs::init | ( | const boost::array< float, 6 > & | params, |
const float | min_x, | ||
const float | max_x, | ||
const float | min_y, | ||
const float | max_y, | ||
const float | weight | ||
) | [virtual] |
init with 6 parameters
Implements Slam_Surface::Surface.
Definition at line 12 of file surface_nurbs.hpp.
float Slam_Surface::SurfaceNurbs::merge | ( | const Surface & | o, |
const float | this_w, | ||
const float | o_w, | ||
const SWINDOW & | wind_t, | ||
const SWINDOW & | wind_o | ||
) | [virtual] |
merge parameters
Implements Slam_Surface::Surface.
Definition at line 359 of file surface_nurbs.hpp.
int Slam_Surface::SurfaceNurbs::myprojectOn | ( | const SURFACE & | s, |
const Eigen::Vector3f & | p, | ||
float & | u, | ||
float & | v, | ||
const int | maxIt | ||
) | const [private] |
Definition at line 165 of file surface_nurbs.hpp.
Eigen::Vector2f Slam_Surface::SurfaceNurbs::nextPoint | ( | const Eigen::Vector3f & | v | ) | const [virtual] |
find nearest point to manifold
Implements Slam_Surface::Surface.
Definition at line 262 of file surface_nurbs.hpp.
Eigen::Vector3f Slam_Surface::SurfaceNurbs::normalAt | ( | const Eigen::Vector2f & | v | ) | const [virtual] |
get normal at 2D point
Implements Slam_Surface::Surface.
Definition at line 119 of file surface_nurbs.hpp.
Eigen::Vector3f Slam_Surface::SurfaceNurbs::project2world | ( | const Eigen::Vector2f & | pt | ) | const [virtual] |
project a 2D point to 3D
Implements Slam_Surface::Surface.
Definition at line 106 of file surface_nurbs.hpp.
void Slam_Surface::SurfaceNurbs::transform | ( | const Eigen::Matrix3f & | rot, |
const Eigen::Vector3f & | tr | ||
) | [virtual] |
float Slam_Surface::SurfaceNurbs::c_x_m_ [private] |
Definition at line 23 of file surface_nurbs.h.
float Slam_Surface::SurfaceNurbs::c_x_o_ [private] |
Definition at line 23 of file surface_nurbs.h.
float Slam_Surface::SurfaceNurbs::c_y_m_ [private] |
Definition at line 23 of file surface_nurbs.h.
float Slam_Surface::SurfaceNurbs::c_y_o_ [private] |
Definition at line 23 of file surface_nurbs.h.
SURFACE Slam_Surface::SurfaceNurbs::nurbs_ [private] |
Definition at line 19 of file surface_nurbs.h.
MatrixRTf Slam_Surface::SurfaceNurbs::weights_ [private] |
Definition at line 20 of file surface_nurbs.h.