Choreonoid  1.8
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cnoid::SceneCylinderProjector Class Reference

#include <SceneProjector.h>

Inheritance diagram for cnoid::SceneCylinderProjector:
cnoid::SceneProjector

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW SceneCylinderProjector ()
 
 SceneCylinderProjector (const Vector3 &center, double radius, double height, const Quaternion &rotation)
 
void setCylinder (const Vector3 &center, double radius, double height, const Quaternion &rotation)
 
bool initializeProjection (const SceneWidgetEvent *event)
 
virtual bool project (const SceneWidgetEvent *event, Vector3 &out_projected) const
 
- Public Member Functions inherited from cnoid::SceneProjector
virtual ~SceneProjector ()
 

Protected Member Functions

bool project (const SceneWidgetEvent *event, Vector3 &out_isecFront, Vector3 &out_isecBack) const
 
bool calcUnitCylinderLineIntersection (const Vector3 &lineStart, const Vector3 &lineEnd, Vector3 &out_isectFront, Vector3 &out_isectBack) const
 
bool calcCylinderLineIntersection (const Vector3d &lineStart, const Vector3 &lineEnd, Vector3 &out_isectFront, Vector3 &out_isectBack) const
 

Protected Attributes

Vector3 center_
 
double radius_
 
double height_
 
Quaternion rotation_
 
bool isFrontSurfaceProjection
 

Constructor & Destructor Documentation

◆ SceneCylinderProjector() [1/2]

SceneCylinderProjector::SceneCylinderProjector ( )

◆ SceneCylinderProjector() [2/2]

SceneCylinderProjector::SceneCylinderProjector ( const Vector3 &  center,
double  radius,
double  height,
const Quaternion &  rotation 
)

Member Function Documentation

◆ calcCylinderLineIntersection()

bool SceneCylinderProjector::calcCylinderLineIntersection ( const Vector3d &  lineStart,
const Vector3 &  lineEnd,
Vector3 &  out_isectFront,
Vector3 &  out_isectBack 
) const
protected

◆ calcUnitCylinderLineIntersection()

bool SceneCylinderProjector::calcUnitCylinderLineIntersection ( const Vector3 &  lineStart,
const Vector3 &  lineEnd,
Vector3 &  out_isectFront,
Vector3 &  out_isectBack 
) const
protected

◆ initializeProjection()

bool SceneCylinderProjector::initializeProjection ( const SceneWidgetEvent *  event)

This function must be called for the initial event to start the projection to determine whether the surface the user is dragging is the front or back of the cylinder.

◆ project() [1/2]

bool SceneCylinderProjector::project ( const SceneWidgetEvent *  event,
Vector3 &  out_isecFront,
Vector3 &  out_isecBack 
) const
protected

◆ project() [2/2]

bool SceneCylinderProjector::project ( const SceneWidgetEvent *  event,
Vector3 &  out_projected 
) const
virtual

Implements cnoid::SceneProjector.

◆ setCylinder()

void SceneCylinderProjector::setCylinder ( const Vector3 &  center,
double  radius,
double  height,
const Quaternion &  rotation 
)

Member Data Documentation

◆ center_

Vector3 cnoid::SceneCylinderProjector::center_
protected

◆ height_

double cnoid::SceneCylinderProjector::height_
protected

◆ isFrontSurfaceProjection

bool cnoid::SceneCylinderProjector::isFrontSurfaceProjection
protected

◆ radius_

double cnoid::SceneCylinderProjector::radius_
protected

◆ rotation_

Quaternion cnoid::SceneCylinderProjector::rotation_
protected

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