RobWorkProject  23.9.11-
Public Member Functions | Protected Member Functions | List of all members
Cone Class Reference

cone primitive. Like a cylinder though where a radius can be specified for both ends. More...

#include <Cone.hpp>

Inherits Primitive.

Public Member Functions

 Cone (const rw::math::Q &initQ, int levels=16)
 constructor
 
 Cone (double height, double radiusTop, double radiusBot, int levels=16)
 constructor More...
 
virtual ~Cone ()
 destructor
 
double getHeight ()
 the height
 
double getTopRadius ()
 the top radius
 
double getBottomRadius ()
 the bottom radius
 
TriMesh::Ptr createMesh (int resolution) const
 make a trimesh from this primitive. Use granularity to specify minimum number of line segments a half circle is split into More...
 
virtual rw::math::Q getParameters () const
 get the parameters that define this primitive More...
 
virtual void setParameters (const rw::math::Q &q)
 set the parameters that define this primitive More...
 
GeometryType getType () const
 the type of this primitive More...
 
- Public Member Functions inherited from Primitive
virtual ~Primitive ()
 destructor
 
TriMesh::Ptr getTriMesh (bool forceCopy=true)
 gets a trimesh representation of this geometry data. More...
 
virtual bool isConvex ()
 test if this geometry data is convex More...
 
bool isInside (const rw::math::Vector3D< double > &point)
 test if a point is on the border or inside this primitive
 
- Public Member Functions inherited from GeometryData
virtual ~GeometryData ()
 Destructor.
 

Protected Member Functions

bool doIsInside (const rw::math::Vector3D< double > &point)
 Check if point lies inside geometry. More...
 
- Protected Member Functions inherited from Primitive
 Primitive (int levels=20)
 Constructor. More...
 

Additional Inherited Members

- Public Types inherited from Primitive
typedef rw::core::Ptr< PrimitivePtr
 Smart pointer to this type of class.
 
- Public Types inherited from GeometryData
enum  GeometryType {
  PointCloud , LineMesh , PlainTriMesh , IdxTriMesh ,
  SpherePrim , BoxPrim , OBBPrim , AABBPrim ,
  LinePrim , PointPrim , PyramidPrim , ConePrim ,
  TrianglePrim , CylinderPrim , TubePrim , PlanePrim ,
  RayPrim , Implicit , Quadratic , UserType
}
 geometry data types
 
typedef rw::core::Ptr< GeometryDataPtr
 smart pointer type to this class
 
typedef rw::core::Ptr< const GeometryDataCPtr
 const smart pointer type to this class
 
- Static Public Member Functions inherited from GeometryData
static std::string toString (GeometryType type)
 format GeometryType to string More...
 

Detailed Description

cone primitive. Like a cylinder though where a radius can be specified for both ends.

The cone is aligned with the z-axis such that top is in the positive z-axis and the bottom is in the negative z-axis. The center of the cone will be in (0,0,0) which is inside the cone.

Constructor & Destructor Documentation

◆ Cone()

Cone ( double  height,
double  radiusTop,
double  radiusBot,
int  levels = 16 
)

constructor

Parameters
height[in] height of cone
radiusTop[in] radius of the top end
radiusBot[in] radius of the bottom end
levels[in] granularity of the mesh

Member Function Documentation

◆ createMesh()

TriMesh::Ptr createMesh ( int  resolution) const
virtual

make a trimesh from this primitive. Use granularity to specify minimum number of line segments a half circle is split into

Parameters
resolution[in]

Implements Primitive.

◆ doIsInside()

bool doIsInside ( const rw::math::Vector3D< double > &  point)
protectedvirtual

Check if point lies inside geometry.

Parameters
point[in] point to check.
Returns
true if inside geometry, false otherwise.

Reimplemented from Primitive.

◆ getParameters()

virtual rw::math::Q getParameters ( ) const
virtual

get the parameters that define this primitive

Implements Primitive.

◆ getType()

GeometryType getType ( ) const
inlinevirtual

the type of this primitive

Implements GeometryData.

◆ setParameters()

virtual void setParameters ( const rw::math::Q q)
virtual

set the parameters that define this primitive

Implements Primitive.


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