Points&Forces (survey)
Software tools facilitating the task of surveying architecture
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
a_curve Class Referenceabstract

sampled parametric function class (interface) More...

#include <a_curve.h>

+ Inheritance diagram for a_curve:
+ Collaboration diagram for a_curve:

Classes

class  pattern_incompatible_error
 exception class More...
 
class  range_error
 exception class More...
 

Public Member Functions

 a_curve (double da=1e-6)
 
 a_curve (const a_curve &)
 
virtual ~a_curve ()
 
a_curveconstruct_axis ()
 
void addpoint (a_point *pt)
 
int size () const
 
a_point * operator[] (int i) const
 
std::deque< a_point * > & x ()
 
virtual a_point operator() (double a) const =0
 
virtual a_point dx_axis (double a) const
 
virtual a_point dy_axis (double a) const
 
virtual a_point dz_axis (double a) const
 
void invert ()
 
bool is_closed () const
 !!!!!! More...
 
void set_horiz (const a_point &p)
 
a_point get_horiz () const
 
a_curvetranslate (const a_point &p)
 
a_curvetranslate (double x, double y, double z)
 
a_point origin () const
 
a_curveorigin (a_point &p)
 
a_curveorigin (double x, double y, double z)
 
a_point centre () const
 
a_curveflatten ()
 
a_curveflatten2D ()
 
a_curveplace3D (a_point &origin, a_point &x_axis, a_point &y_axis)
 
a_point x_axis () const
 
a_point y_axis () const
 
a_point z_axis () const
 
double da () const
 
void da (double da)
 
double dist (const a_point &, int &ref) const
 
double dist2 (const a_point &, int &ref, double &m) const
 
double dist_last (const a_point &, int &ref) const
 
double dist (const a_curve &, int &ref1, int &ref2) const
 
double dist_last (const a_curve &, int &ref1, int &ref2) const
 
double dist2 (const a_curve &, int &ref1, int &ref2, double &m1, double &m2) const
 
a_segment shortest (const a_curve &fn, int &ref1, int &ref2, double &m1, double &m2) const
 

Protected Member Functions

a_curveconstruct_x_axis ()
 
a_curveconstruct_y_axis ()
 
a_curveconstruct_z_axis ()
 
virtual a_curveinit ()
 

Protected Attributes

bool initialised_
 
std::deque< a_point * > x_
 
double da_
 
int n_pts_
 
a_point x_axis_
 
a_point y_axis_
 
a_point z_axis_
 
int orient_
 
a_point horiz_
 

Friends

std::istream & operator>> (std::istream &i, a_curve &m)
 
std::ostream & operator<< (std::ostream &o, const a_curve &m)
 

Detailed Description

sampled parametric function class (interface)

Author
P.Smars
Date
2000-2001
Warning
portability: ansi c++
Exceptions
a_curve::range_errora_curve::pattern_incompatible_error

Definition at line 34 of file a_curve.h.

Constructor & Destructor Documentation

◆ a_curve() [1/2]

a_curve::a_curve ( double  da = 1e-6)

Definition at line 26 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ a_curve() [2/2]

a_curve::a_curve ( const a_curve ifn)

Definition at line 34 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ ~a_curve()

a_curve::~a_curve ( )
virtual

Definition at line 49 of file a_curve.cxx.

Member Function Documentation

◆ addpoint()

void a_curve::addpoint ( a_point *  pt)
inline

Definition at line 44 of file a_curve.h.

+ Here is the caller graph for this function:

◆ centre()

a_point a_curve::centre ( ) const

Definition at line 158 of file a_curve.cxx.

+ Here is the caller graph for this function:

◆ construct_axis()

a_curve & a_curve::construct_axis ( )

construction of the local axis; beware, order is important

Definition at line 267 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ construct_x_axis()

a_curve & a_curve::construct_x_axis ( )
protected

Definition at line 230 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ construct_y_axis()

a_curve & a_curve::construct_y_axis ( )
protected

Definition at line 236 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ construct_z_axis()

a_curve & a_curve::construct_z_axis ( )
protected

Definition at line 249 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ da() [1/2]

double a_curve::da ( ) const
inline

Definition at line 78 of file a_curve.h.

+ Here is the caller graph for this function:

◆ da() [2/2]

void a_curve::da ( double  da)
inline

Definition at line 79 of file a_curve.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dist() [1/2]

double a_curve::dist ( const a_curve fn,
int &  ref1,
int &  ref2 
) const

Definition at line 355 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ dist() [2/2]

double a_curve::dist ( const a_point &  p,
int &  ref 
) const

Definition at line 299 of file a_curve.cxx.

+ Here is the caller graph for this function:

◆ dist2() [1/2]

double a_curve::dist2 ( const a_curve fn,
int &  ref1,
int &  ref2,
double &  m1,
double &  m2 
) const

Definition at line 440 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ dist2() [2/2]

double a_curve::dist2 ( const a_point &  p,
int &  ref,
double &  m 
) const

Definition at line 316 of file a_curve.cxx.

+ Here is the caller graph for this function:

◆ dist_last() [1/2]

double a_curve::dist_last ( const a_curve fn,
int &  ref1,
int &  ref2 
) const

Definition at line 374 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ dist_last() [2/2]

double a_curve::dist_last ( const a_point &  p,
int &  ref 
) const

Definition at line 338 of file a_curve.cxx.

+ Here is the caller graph for this function:

◆ dx_axis()

a_point a_curve::dx_axis ( double  a) const
virtual

local axis: call in 3

Reimplemented in a_curve_lin.

Definition at line 139 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ dy_axis()

a_point a_curve::dy_axis ( double  a) const
virtual

local axis: call in 2

Reimplemented in a_curve_lin.

Definition at line 116 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dz_axis()

a_point a_curve::dz_axis ( double  a) const
virtual

local axis (tangent) : call in 1

Reimplemented in a_curve_lin.

Definition at line 67 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ flatten()

a_curve & a_curve::flatten ( )

Definition at line 193 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ flatten2D()

a_curve & a_curve::flatten2D ( )

Definition at line 207 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_horiz()

a_point a_curve::get_horiz ( ) const
inline

Definition at line 63 of file a_curve.h.

+ Here is the caller graph for this function:

◆ init()

a_curve & a_curve::init ( )
protectedvirtual

Reimplemented in a_curve_lin.

Definition at line 56 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ invert()

void a_curve::invert ( )
inline

Definition at line 59 of file a_curve.h.

+ Here is the call graph for this function:

◆ is_closed()

bool a_curve::is_closed ( ) const

!!!!!!

Definition at line 109 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator()()

virtual a_point a_curve::operator() ( double  a) const
pure virtual

interpolated value

Implemented in a_curve_lin.

◆ operator[]()

a_point* a_curve::operator[] ( int  i) const
inline

Definition at line 48 of file a_curve.h.

◆ origin() [1/3]

a_point a_curve::origin ( ) const
inline

Definition at line 68 of file a_curve.h.

+ Here is the caller graph for this function:

◆ origin() [2/3]

a_curve & a_curve::origin ( a_point &  p)

Definition at line 146 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ origin() [3/3]

a_curve & a_curve::origin ( double  x,
double  y,
double  z 
)

Definition at line 152 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ place3D()

a_curve & a_curve::place3D ( a_point &  origin,
a_point &  x_axis,
a_point &  y_axis 
)

Definition at line 219 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_horiz()

void a_curve::set_horiz ( const a_point &  p)
inline

if the last point is equal to the first point

Definition at line 62 of file a_curve.h.

+ Here is the caller graph for this function:

◆ shortest()

a_segment a_curve::shortest ( const a_curve fn,
int &  ref1,
int &  ref2,
double &  m1,
double &  m2 
) const

Definition at line 393 of file a_curve.cxx.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ size()

int a_curve::size ( ) const
inline

number of points

Definition at line 47 of file a_curve.h.

+ Here is the caller graph for this function:

◆ translate() [1/2]

a_curve & a_curve::translate ( const a_point &  p)

Definition at line 179 of file a_curve.cxx.

+ Here is the caller graph for this function:

◆ translate() [2/2]

a_curve & a_curve::translate ( double  x,
double  y,
double  z 
)

Definition at line 187 of file a_curve.cxx.

+ Here is the call graph for this function:

◆ x()

std::deque<a_point *>& a_curve::x ( )
inline

Definition at line 49 of file a_curve.h.

+ Here is the caller graph for this function:

◆ x_axis()

a_point a_curve::x_axis ( ) const
inline

Definition at line 75 of file a_curve.h.

+ Here is the caller graph for this function:

◆ y_axis()

a_point a_curve::y_axis ( ) const
inline

Definition at line 76 of file a_curve.h.

+ Here is the caller graph for this function:

◆ z_axis()

a_point a_curve::z_axis ( ) const
inline

Definition at line 77 of file a_curve.h.

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  o,
const a_curve m 
)
friend

output

Definition at line 493 of file a_curve.cxx.

◆ operator>>

std::istream& operator>> ( std::istream &  i,
a_curve m 
)
friend

input

Definition at line 479 of file a_curve.cxx.

Member Data Documentation

◆ da_

double a_curve::da_
protected

Definition at line 102 of file a_curve.h.

◆ horiz_

a_point a_curve::horiz_
protected

Definition at line 108 of file a_curve.h.

◆ initialised_

bool a_curve::initialised_
protected

Definition at line 100 of file a_curve.h.

◆ n_pts_

int a_curve::n_pts_
protected

Definition at line 103 of file a_curve.h.

◆ orient_

int a_curve::orient_
protected

Definition at line 107 of file a_curve.h.

◆ x_

std::deque<a_point *> a_curve::x_
protected

Definition at line 101 of file a_curve.h.

◆ x_axis_

a_point a_curve::x_axis_
protected

Definition at line 104 of file a_curve.h.

◆ y_axis_

a_point a_curve::y_axis_
protected

Definition at line 105 of file a_curve.h.

◆ z_axis_

a_point a_curve::z_axis_
protected

Definition at line 106 of file a_curve.h.


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