Choreonoid  1.5
Public Member Functions | List of all members
cnoid::ColdetModelPair Class Reference

#include <ColdetModelPair.h>

Inherited by cnoid::CFSImpl::LinkPair.

Public Member Functions

 ColdetModelPair ()
 
 ColdetModelPair (const ColdetModelPtr &model0, const ColdetModelPtr &model1, double tolerance=0.0)
 
 ColdetModelPair (const ColdetModelPair &org)
 
virtual ~ColdetModelPair ()
 
void set (const ColdetModelPtr &model0, const ColdetModelPtr &model1)
 
const ColdetModelPtrmodel (int index)
 
std::vector< collision_data > & detectCollisions ()
 
std::vector< collision_data > & collisions ()
 
void clearCollisions ()
 
bool checkCollision ()
 
double computeDistance (double *point0, double *point1)
 
double computeDistance (int &out_triangle0, double *out_point0, int &out_triangle1, double *out_point1)
 
bool detectIntersection ()
 
double tolerance () const
 
void setTolerance (double tolerance)
 
void setCollisionPairInserter (Opcode::CollisionPairInserter *inserter)
 
int calculateCentroidIntersection (float &cx, float &cy, float &A, float radius, std::vector< float > vx, std::vector< float > vy)
 
int makeCCW (std::vector< float > &vx, std::vector< float > &vy)
 
float calculatePolygonArea (const std::vector< float > &vx, const std::vector< float > &vy)
 
void calculateSectorCentroid (float &cx, float &cy, float radius, float th1, float th2)
 
bool isInsideCircle (float r, float x, float y)
 
bool isInsideTriangle (float x, float y, const std::vector< float > &vx, const std::vector< float > &vy)
 
int calculateIntersection (std::vector< float > &x, std::vector< float > &y, float radius, float x1, float y1, float x2, float y2)
 

Constructor & Destructor Documentation

ColdetModelPair::ColdetModelPair ( )
ColdetModelPair::ColdetModelPair ( const ColdetModelPtr model0,
const ColdetModelPtr model1,
double  tolerance = 0.0 
)
ColdetModelPair::ColdetModelPair ( const ColdetModelPair org)
ColdetModelPair::~ColdetModelPair ( )
virtual

Member Function Documentation

int ColdetModelPair::calculateCentroidIntersection ( float &  cx,
float &  cy,
float &  A,
float  radius,
std::vector< float >  vx,
std::vector< float >  vy 
)
int ColdetModelPair::calculateIntersection ( std::vector< float > &  x,
std::vector< float > &  y,
float  radius,
float  x1,
float  y1,
float  x2,
float  y2 
)
float ColdetModelPair::calculatePolygonArea ( const std::vector< float > &  vx,
const std::vector< float > &  vy 
)
void ColdetModelPair::calculateSectorCentroid ( float &  cx,
float &  cy,
float  radius,
float  th1,
float  th2 
)
bool cnoid::ColdetModelPair::checkCollision ( )
inline
void cnoid::ColdetModelPair::clearCollisions ( )
inline
std::vector<collision_data>& cnoid::ColdetModelPair::collisions ( )
inline
double ColdetModelPair::computeDistance ( double *  point0,
double *  point1 
)
double ColdetModelPair::computeDistance ( int &  out_triangle0,
double *  out_point0,
int &  out_triangle1,
double *  out_point1 
)
Parameters
out_triangle0,out_triangle1Indices of the triangle pair that are originally registered by ColdeModel::setTraiangle().
out_point0,out_point1The closest points
std::vector<collision_data>& cnoid::ColdetModelPair::detectCollisions ( )
inline
bool ColdetModelPair::detectIntersection ( )
bool cnoid::ColdetModelPair::isInsideCircle ( float  r,
float  x,
float  y 
)
inline
bool ColdetModelPair::isInsideTriangle ( float  x,
float  y,
const std::vector< float > &  vx,
const std::vector< float > &  vy 
)
int ColdetModelPair::makeCCW ( std::vector< float > &  vx,
std::vector< float > &  vy 
)
const ColdetModelPtr& cnoid::ColdetModelPair::model ( int  index)
inline
void ColdetModelPair::set ( const ColdetModelPtr model0,
const ColdetModelPtr model1 
)
void ColdetModelPair::setCollisionPairInserter ( Opcode::CollisionPairInserter inserter)
void cnoid::ColdetModelPair::setTolerance ( double  tolerance)
inline
double cnoid::ColdetModelPair::tolerance ( ) const
inline

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