Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Friends
jafar::facetsmap::Facet Class Reference

This class holds the information concerning a facet. More...


Detailed Description

This class holds the information concerning a facet.

Definition at line 24 of file facet.hpp.

#include <facet.hpp>

Inheritance diagram for jafar::facetsmap::Facet:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 Facet (const FacetsParams *params, unsigned int id, const ::jafar::gfm::InterestFeature &lpoint, const ::jafar::gfm::InterestFeature &rpoint, const jafar::image::Image &imgl, const homography::ImageGradients &imggradl, const jafar::image::Image &imgr, const homography::ImageGradients &imggradr, const camera::StereoBench &stereoBench, int time)
void update (const Facet *f, int time)
 Update the facets after a tracking.
void updatePreviousObservation (const boost::numeric::ublas::bounded_matrix< double, 4, 4 > &robotmovement)
 Update the previous observation using the estimated robotmovement, this is usefull when tracking and facets weren't retracked at a givent instant.
void changeRef (const jafar::facetsmap::Repere *r)
 This function change the reference of the facet, the origin, vector i, j and k are updated.
void setRef (const jafar::facetsmap::Repere *r)
 This function set the reference of the facet, the origin, vector i, j and k are _not_ updated.
jblas::vec3 localOrigin () const
jblas::vec3 globalOrigin () const
jafar::facetsmap::Repererepere ()
double halfSize () const
jblas::vec3 globalAxe1 () const
jblas::vec3 localAxe1 () const
jblas::vec3 globalAxe2 () const
jblas::vec3 localAxe2 () const
jblas::vec3 globalNormal () const
jblas::vec3 localNormal () const
const jafar::image::Imageimage () const
unsigned int id () const
int time () const
double distanceTo (jblas::vec3 pos) const
bool insideValidity (jblas::vec3 pos) const
bool insideValidity (double d) const
bool insideFacet (jblas::vec3 pos)
vUints_cit neighborhoodBegin () const
vUints_cit neighborhoodEnd () const
void neighborhoodAdd (uint fid)
void neighborhoodAdd (Facet *f)
double orientation () const
double quality () const
double compare (Facet *f)
FacetsGroupBasegroup () const
 This function return the group that holds this facet.
geom::InterestPoint ipDetection ()
jblas::mat33 positionVariance () const
int countSeen ()
int age ()
void incAge ()
const jblas::vec3previousObservationOrigin () const
const jblas::vec3previousObservationNormal () const
const jblas::vec3previousObservationAxe1 () const
const jblas::vec3previousObservationAxe2 () const
void print ()

Static Public Member Functions

static void computeTexture (const FacetsParams *params, image::Image &texdst, const image::Image &imgl, const jblas::vec3 &origin, const jblas::vec3 &axe1, const jblas::vec3 axe2, const camera::StereoBench &stereoBench)

Public Attributes

std::vector< jblas::vec3t_points

Private Member Functions

 Facet ()
 This constructor is used only for serialization.
void setNormal (jblas::vec3 n)
void setAxe1 (jblas::vec3 n)
void setAxe2 (jblas::vec3 n)
void seenAgain ()
void setGroup (FacetsGroupBase *fg)
 This function allow to set the group, this function is private to insure that only Facets::Group::add uses it.
void computeHomography (const FacetsParams *params, jblas::mat33 &homography, const ::jafar::gfm::InterestFeature &lpoint, const ::jafar::gfm::InterestFeature &rpoint, const jafar::image::Image &imgl, const homography::ImageGradients &imggradl, const jafar::image::Image &imgr, const homography::ImageGradients &imggradr)

Static Private Member Functions

static void computeAxes (jblas::vec3 &, jblas::vec3 &, jblas::vec3 normal, double orientation)
static void computeOriginAndNormal (jblas::vec3 &origin, jblas::mat33 &positionJac, jblas::vec3 &vnormal, const jblas::mat33 &homography, const ::jafar::gfm::InterestFeature &lpoint, const camera::StereoBench &stereoBench)

Private Attributes

int m_sizefacet
int m_time
 Size of the facet on the real image (equal SIZE_FACET at the begining)
uint m_id
double m_squareError
 identifiant of the facet, it is used for matching
double m_halfSize
 square error of the plan parameters
double m_inf_distance
 size of the facet
double m_sup_distance
double m_best_distance
 define the range of validity of the facet
double m_best_angle
 contains closest the distance at which the we have save the imagette
image::Imagem_imagette
 contains the value of the best angle with which the robot saw the facet
vUints m_neighborhood
double m_orientation
FacetsGroupBasem_facetsGroup
 orientation de l'imagette, calcule a partir du gradient
homography::HomographyEstimator::Statistics m_stats
 Groupe auquelle la facette appartient.
geom::InterestPoint m_ipDetection
int m_countSeen
int m_age
jblas::mat33 m_positionVariance
jblas::mat66 m_variance
jblas::vec m_mean
bool meannotset
jblas::vec3 m_previousObservationOrigin
jblas::vec3 m_previousObservationNormal
jblas::vec3 m_previousObservationAxe1
jblas::vec3 m_previousObservationAxe2

Friends

class AmersMap
class FacetsMap
bool FacetsGroupBase::add (Facet *)
vFacets_it FacetsGroupBase::remove (const vFacets_it &)
std::ostream & operator<< (std::ostream &, const Facet &)
 implement operator <<

Constructor & Destructor Documentation

jafar::facetsmap::Facet::Facet ( const FacetsParams params,
unsigned int  id,
const ::jafar::gfm::InterestFeature &  lpoint,
const ::jafar::gfm::InterestFeature &  rpoint,
const jafar::image::Image imgl,
const homography::ImageGradients imggradl,
const jafar::image::Image imgr,
const homography::ImageGradients imggradr,
const camera::StereoBench stereoBench,
int  time 
)
Parameters:
idid of the facet
robotposposition of the robot when the facet is created
pointthe interest point in the facet
imglleft image where the facet was seen
imgrright image where the facet was seen
imggradrgradient of the right image
timeused for debugging purpose only

Member Function Documentation

Returns:
the axe of the facet which is directed in the orientation of the texture of the facet (is equal to the second vector of the Repere)

Definition at line 79 of file facet.hpp.

References jafar::facetsmap::Repere::j(), and jafar::facetsmap::Repere::ref().

Returns:
the normal of the facet (is equal to the first vector of the Repere)

Definition at line 86 of file facet.hpp.

References jafar::facetsmap::Repere::i(), and jafar::facetsmap::Repere::ref().

Referenced by jafar::facetsmap::FacetsCloseness::parallelism().

void jafar::facetsmap::Facet::update ( const Facet f,
int  time 
)

Update the facets after a tracking.

Parameters:
robotmovementthe transformation between the previous position (whose observation are available through previousObservationOrigin, previousObservationNormal, previousObservationAxe1 and previousObservationAxe2)
lpointleft interest point
rpointright interest point

Update the previous observation using the estimated robotmovement, this is usefull when tracking and facets weren't retracked at a givent instant.

Parameters:
robotmovementthe transformation between the previous position (whose observation are available through previousObservationOrigin, previousObservationNormal, previousObservationAxe1 and previousObservationAxe2)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:35 for Jafar by doxygen 1.7.6.1
LAAS-CNRS