Common/Geom/Curve.h File Reference

#include <Geom/Points.h>
#include <Geom/PointAlg.h>
#include <Util/TypeStripper.h>
#include <Util/Params.h>
#include <boost/mpl/if.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <loki/Visitor.h>

Go to the source code of this file.

Namespaces

namespace  geom
namespace  geom::detail

Classes

struct  geom::ThrowingCatchAll< R, Visited >
class  geom::ParametricCurve< n >
 The base class for any parametric curve. More...
class  geom::ControlPointCurveBase< n >
 The base class for any curve defined by control points. More...
struct  geom::detail::CurveEndpointAccessor< Curve >
struct  geom::detail::CurveEndpointAccessor< ControlPointCurveBase< n > >
class  geom::Line< n >
 A line segment. More...
class  geom::Polyline< n >
 A polyline. More...
class  geom::Arc< n >
 An arc. More...
class  geom::Arc< 2 >

Typedefs

typedef shared_ptr< ParametricCurve< 2 > > geom::CurvePtr2d
typedef shared_ptr< ParametricCurve< 3 > > geom::CurvePtr3d
typedef std::vector< CurvePtr2dgeom::CompositeCurve2d
typedef std::vector< CurvePtr3dgeom::CompositeCurve3d
typedef Line< 2 > geom::Line2d
typedef Line< 3 > geom::Line3d
typedef Polyline< 2 > geom::Polyline2d
typedef Polyline< 3 > geom::Polyline3d
typedef Arc< 2 > geom::Arc2d
typedef Arc< 3 > geom::Arc3d

Functions

template<class T>
PointNd< util::TypeStripper<
T >::base_type::Dim > 
geom::getStartPoint (T curve)
template<class T>
PointNd< util::TypeStripper<
T >::base_type::Dim > 
geom::getEndPoint (T curve)
template<class T, class P>
void geom::setStartPoint (T curve, const P &pt)
template<class T, class P>
void geom::setEndPoint (T curve, const P &pt)
template<int n>
shared_ptr< Line< n > > geom::makeLine ()
template<int n>
shared_ptr< Line< n > > geom::makeLine (const PointNd< n > &start, const PointNd< n > &end)
template<int n>
shared_ptr< Polyline< n > > geom::makePolyline (const std::vector< geom::PointNd< n > > &pts)
shared_ptr< Arc< 2 > > geom::makeArc (const Point2d &center, double radius, double startAngle, double endAngle)
shared_ptr< Arc< 2 > > geom::makeCCWArcCenter (const Point2d &center, const Point2d &startPt, const Point2d &endPt)
shared_ptr< Arc< 2 > > geom::makeCCWArcCenterRadius (const Point2d &center, const Point2d &startPt, const Point2d &endPt, double radius)
shared_ptr< Arc< 2 > > geom::makeCWArcCenter (const Point2d &center, const Point2d &startPt, const Point2d &endPt)
shared_ptr< Arc< 2 > > geom::makeCircle (const Point2d &center, double radius)
CurvePtr2d geom::makeArcTangents (const Point2d &startPt, const Point2d &commonTan, const Point2d &endPt)
 BOOST_IS_ABSTRACT (geom::ParametricCurve< 2 >)
 BOOST_IS_ABSTRACT (geom::ParametricCurve< 3 >)
 BOOST_CLASS_VERSION (geom::ParametricCurve< 2 >, 1)
 BOOST_CLASS_VERSION (geom::ParametricCurve< 3 >, 1)


Detailed Description

Protocol classes for curves.

Function Documentation

BOOST_CLASS_VERSION geom::ParametricCurve< 3 >  ,
 

BOOST_CLASS_VERSION geom::ParametricCurve< 2 >  ,
 

BOOST_IS_ABSTRACT geom::ParametricCurve< 3 >   ) 
 

BOOST_IS_ABSTRACT geom::ParametricCurve< 2 >   ) 
 


Generated on Tue Jan 29 21:37:57 2008 for VoluMill Universal Client by  doxygen 1.4.6