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

a curve with linear interpolation More...

#include <a_curve_lin.h>

+ Inheritance diagram for a_curve_lin:
+ Collaboration diagram for a_curve_lin:

Public Member Functions

 a_curve_lin (double da=1e-6)
 
 a_curve_lin (const a_curve_lin &)
 
 ~a_curve_lin ()
 
std::vector< double > & a ()
 
const std::vector< double > & a () const
 
double ltot () const
 
a_point operator() (double a) const
 
a_point dx_axis (double a) const
 
a_point dy_axis (double a) const
 
a_point dz_axis (double a) const
 
a_point tangent (double a) const
 
a_point curvature_centre () const
 
a_point curvature_centre (double a) const
 
double curvature (double a) const
 
a_curve_linextrapolate (double f1, double f2)
 
a_curve_linflatten (a_curve_lin &path)
 
- Public Member Functions inherited from a_curve
 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 ()
 
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_curveinit ()
 
int ref (double a) const
 
- Protected Member Functions inherited from a_curve
a_curveconstruct_x_axis ()
 
a_curveconstruct_y_axis ()
 
a_curveconstruct_z_axis ()
 

Protected Attributes

double ltot_
 
std::vector< double > a_
 
- Protected Attributes inherited from a_curve
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

a_curve_lin interpolate (const a_curve_lin &p1, const a_curve_lin &p2, double a)
 
std::istream & operator>> (std::istream &i, a_curve_lin &m)
 

Detailed Description

a curve with linear interpolation

Author
P.Smars
Date
2000-2001
Warning
portability: ansi C++

Definition at line 27 of file a_curve_lin.h.

Constructor & Destructor Documentation

◆ a_curve_lin() [1/2]

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

Definition at line 22 of file a_curve_lin.cxx.

◆ a_curve_lin() [2/2]

a_curve_lin::a_curve_lin ( const a_curve_lin ifn)

Definition at line 26 of file a_curve_lin.cxx.

+ Here is the call graph for this function:

◆ ~a_curve_lin()

a_curve_lin::~a_curve_lin ( )

Definition at line 33 of file a_curve_lin.cxx.

Member Function Documentation

◆ a() [1/2]

std::vector<double>& a_curve_lin::a ( )
inline

Definition at line 34 of file a_curve_lin.h.

+ Here is the caller graph for this function:

◆ a() [2/2]

const std::vector<double>& a_curve_lin::a ( ) const
inline

Definition at line 35 of file a_curve_lin.h.

◆ curvature()

double a_curve_lin::curvature ( double  a) const

Definition at line 247 of file a_curve_lin.cxx.

+ Here is the call graph for this function:

◆ curvature_centre() [1/2]

a_point a_curve_lin::curvature_centre ( ) const

Definition at line 204 of file a_curve_lin.cxx.

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

◆ curvature_centre() [2/2]

a_point a_curve_lin::curvature_centre ( double  a) const

Definition at line 223 of file a_curve_lin.cxx.

+ Here is the call graph for this function:

◆ dx_axis()

a_point a_curve_lin::dx_axis ( double  a) const
virtual

local axis: call in 3

Reimplemented from a_curve.

Definition at line 148 of file a_curve_lin.cxx.

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

◆ dy_axis()

a_point a_curve_lin::dy_axis ( double  a) const
virtual

local axis: call in 2

Reimplemented from a_curve.

Definition at line 155 of file a_curve_lin.cxx.

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

◆ dz_axis()

a_point a_curve_lin::dz_axis ( double  a) const
virtual

local axis (tangent) : call in 1

Reimplemented from a_curve.

Definition at line 169 of file a_curve_lin.cxx.

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

◆ extrapolate()

a_curve_lin & a_curve_lin::extrapolate ( double  f1,
double  f2 
)

Definition at line 256 of file a_curve_lin.cxx.

+ Here is the call graph for this function:

◆ flatten()

a_curve_lin & a_curve_lin::flatten ( a_curve_lin path)

Definition at line 38 of file a_curve_lin.cxx.

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

◆ init()

a_curve & a_curve_lin::init ( )
protectedvirtual

Reimplemented from a_curve.

Definition at line 100 of file a_curve_lin.cxx.

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

◆ ltot()

double a_curve_lin::ltot ( ) const
inline

Definition at line 36 of file a_curve_lin.h.

+ Here is the caller graph for this function:

◆ operator()()

a_point a_curve_lin::operator() ( double  a) const
virtual

interpolated value

Implements a_curve.

Definition at line 133 of file a_curve_lin.cxx.

+ Here is the call graph for this function:

◆ ref()

int a_curve_lin::ref ( double  a) const
protected

Definition at line 123 of file a_curve_lin.cxx.

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

◆ tangent()

a_point a_curve_lin::tangent ( double  a) const

Definition at line 190 of file a_curve_lin.cxx.

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

Friends And Related Function Documentation

◆ interpolate

a_curve_lin interpolate ( const a_curve_lin p1,
const a_curve_lin p2,
double  a 
)
friend

Definition at line 314 of file a_curve_lin.cxx.

◆ operator>>

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

Definition at line 306 of file a_curve_lin.cxx.

Member Data Documentation

◆ a_

std::vector<double> a_curve_lin::a_
protected

Definition at line 57 of file a_curve_lin.h.

◆ ltot_

double a_curve_lin::ltot_
protected

Definition at line 56 of file a_curve_lin.h.


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