#include <points.H>
Inheritance diagram for mlib::NDCZpt_list:
Public Member Functions | |
ARRAY (int m=0) | |
ARRAY (CARRAY< NDCZpt > &l) | |
int | num () const |
bool | empty () const |
bool | valid_index (int k) const |
void | set_unique () |
NDCZpt * | array () |
NDCZpt & | operator[] (int j) const |
NDCZpt & | last () const |
NDCZpt & | first () const |
void | begin_index () |
void | end_index () |
bool | is_indexing () const |
virtual void | clear () |
virtual void | truncate (int n) |
virtual void | realloc (int new_max=0) |
virtual int | get_index (const NDCZpt &el) const |
bool | contains (const NDCZpt &el) const |
bool | add_uniquely (const NDCZpt &el) |
void | operator+= (const NDCZpt &el) |
ARRAY< NDCZpt > & | operator+= (CARRAY< NDCZpt > &b) |
void | add (const NDCZpt &p) |
void | push (const NDCZpt &p) |
void | insert (int ind, int num) |
bool | remove (int k) |
bool | operator-= (const NDCZpt &el) |
void | operator-= (CARRAY< NDCZpt > &l) |
bool | rem (const NDCZpt &p) |
NDCZpt | pop () |
bool | pull_index (int k) |
bool | pull_element (const NDCZpt &p) |
virtual void | shift (int p) |
ARRAY< NDCZpt > | extract (int start, int n) const |
virtual void | reverse () |
virtual void | sort (compare_func_t compare) |
Constructors | |
NDCZpt_list (int max=0) | |
NDCZpt_list (const ARRAY< NDCZpt > &p) | |
Segment Accessor Functions | |
NDCZvec | segment (int i) const |
double | segment_length (int i) const |
Gets the length of the ith segment. | |
NDCZvec | xy_seg (int i) const |
Return segment i with 0 depth component:. | |
double | xy_len (int i) const |
Interpolation Functions | |
void | interpolate_length (double s, int &seg, double &t) const |
Parameter s should lie in the range [0,1]. Returns the corresponding segment index, and the paramter t varying from 0 to 1 along that segment. | |
NDCZpt | interpolate (double s, NDCZvec *tan=0, int *segp=0, double *tp=0) const |
Given interpolation parameter s varying from 0 to 1 along the polyline, return the corresponding point, and optionally the tangent, segment index, and segment paramter there:. | |
Length Functions | |
void | update_length () |
This function must be called for interpolation routines to work. | |
double | partial_length (int i) const |
double | length () const |
Misc. Functions | |
NDCZvec | tan (int i) const |
NDCZpt | average () const |
Protected Member Functions | |
virtual void | set_index (const NDCZpt &, int) const |
virtual void | clear_index (const NDCZpt &) const |
virtual void | clear_ele (int) |
virtual void | clear_range (int i, int j) |
virtual void | append_ele (const NDCZpt &el) |
Protected Attributes | |
ARRAY< double > | _partial_length |
NDCZpt * | _array |
int | _num |
int | _max |
bool | _unique |
bool | _do_index |
Definition at line 793 of file points.H.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 879 of file points.H. References ARRAY< NDCZpt >::num(). Referenced by XToonTexture::draw(), and ToonTexture_1D::draw(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Given interpolation parameter s varying from 0 to 1 along the polyline, return the corresponding point, and optionally the tangent, segment index, and segment paramter there:.
Definition at line 378 of file points.C. References ARRAY< NDCZpt >::_array, interpolate_length(), and mlib::Vec3< V >::normalized(). |
|
Parameter s should lie in the range [0,1]. Returns the corresponding segment index, and the paramter t varying from 0 to 1 along that segment.
Definition at line 392 of file points.C. References ARRAY< NDCZpt >::_num, _partial_length, length(), and ARRAY< T >::num(). Referenced by interpolate(). |
|
|
|
|
|
Definition at line 868 of file points.H. References _partial_length, ARRAY< T >::empty(), and ARRAY< T >::last(). Referenced by interpolate_length(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 864 of file points.H. References _partial_length, and ARRAY< T >::valid_index(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gets a vector pointing from the start point to the end point of the Definition at line 814 of file points.H. References ARRAY< NDCZpt >::_array. Referenced by segment_length(), and xy_seg(). |
|
Gets the length of the
Definition at line 816 of file points.H. References mlib::Vec3< V >::length(), and segment(). |
|
|
|
|
|
|
|
|
|
Definition at line 366 of file points.C. References ARRAY< NDCZpt >::_array, and ARRAY< NDCZpt >::num(). |
|
|
|
This function must be called for interpolation routines to work.
Definition at line 853 of file points.H. References ARRAY< NDCZpt >::_num, _partial_length, ARRAY< T >::clear(), ARRAY< T >::realloc(), and xy_len(). |
|
|
|
Definition at line 824 of file points.H. References mlib::Vec3< V >::length(), and xy_seg(). Referenced by update_length(). |
|
Return segment
Definition at line 819 of file points.H. References segment(). Referenced by xy_len(). |
|
Definition at line 121 of file support.H. Referenced by interpolate(), segment(), and tan(). |
|
|
|
|
|
Definition at line 122 of file support.H. Referenced by interpolate_length(), and update_length(). |
|
Definition at line 797 of file points.H. Referenced by interpolate_length(), length(), partial_length(), and update_length(). |
|
|