contact_point.h
Go to the documentation of this file.
00001 #ifndef contact_point_h___
00002 #define contact_point_h___
00003 
00004 #include "utilities.h"
00005 #include <iostream>
00006 
00007 namespace ICR
00008 {
00009 //--------------------------------------------------------------------
00010 //--------------------------------------------------------------------
00019 class ContactPoint
00020 {
00021  private:
00022 
00023   Eigen::Vector3d vertex_;
00024   Eigen::Vector3d vertex_normal_;
00025   IndexList neighbors_;
00026   uint id_;
00027 
00028  public:
00029 
00030   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00031 
00032   ContactPoint();
00033   ContactPoint(double const vertex[3]);
00034   ContactPoint(Eigen::Vector3d const& vertex);
00035   ContactPoint(double const vertex[3],uint id);
00036   ContactPoint(Eigen::Vector3d const& vertex,uint id);
00037   ContactPoint(double const vertex[3],double const vertex_normal[3],uint id);
00038   ContactPoint(Eigen::Vector3d const& vertex, Eigen::Vector3d const& vertex_normal,uint id);
00039   ContactPoint(double const vertex[3],double const vertex_normal[3], IndexList const& neighbors,uint id);
00040   ContactPoint(Eigen::Vector3d const& vertex,Eigen::Vector3d const& vertex_normal, IndexList const& neighbors,uint id);
00041   ContactPoint(ContactPoint const& src);
00042   ContactPoint& operator=(ContactPoint const& src);
00043   friend std::ostream& operator<<(std::ostream& stream, ContactPoint const& cp);
00044   ~ContactPoint();
00045 
00046   Eigen::Vector3d* getVertex();
00047   Eigen::Vector3d const* getVertex() const;
00048   Eigen::Vector3d* getVertexNormal();
00049   Eigen::Vector3d const* getVertexNormal() const;
00050   void setVertex(Eigen::Vector3d const& vertex);
00051   void setVertex(double const vertex[3]);
00052   void setVertexNormal(Eigen::Vector3d const& vertex_normal);
00053   void setVertexNormal(double const vertex_normal[3]);
00054   void addNeighbor(uint neighbor);
00058   void filterDuplicateNeighbors();
00059   ConstIndexListIterator getNeighborItBegin()const;
00060   ConstIndexListIterator getNeighborItEnd()const;
00061   IndexList* getNeighbors();
00062   IndexList const* getNeighbors()const;
00063   uint getNumNeighbors()const;
00064   uint getId()const;
00065   void setId(uint id);
00066 };
00067 //--------------------------------------------------------------------
00068 //--------------------------------------------------------------------
00069 }//namespace ICR
00070 #endif
00071 
00072 


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:32:36