double_vector Class Reference

Container class for a vector of double. More...

#include <double_vector.h>

Collaboration diagram for double_vector:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 double_vector ()
 double_vector (const double_vector &)
 ~double_vector ()
int size () const
int resize (int _size)
double & operator[] (int k_vertex)
double operator[] (int k_vertex) const
double_vectoroperator= (const double_vector &)
int add (double value)
int add (std::vector< double > &_int_list)

Private Attributes

std::vector< double > double_list

Friends

bool operator== (const double_vector &cont_1, const double_vector &cont_2)
 test equality
bool operator!= (const double_vector &cont_1, const double_vector &cont_2)
 test equality


Detailed Description

Container class for a vector of double.

Mainly use to set a vector of double_vector for multiple purpose

Definition at line 47 of file double_vector.h.


Constructor & Destructor Documentation

double_vector::double_vector (  ) 

Definition at line 23 of file double_vector.cpp.

References double_list.

00023                             :
00024 double_list()
00025 {
00026   double_list.resize(0);
00027 }

double_vector::double_vector ( const double_vector _V  ) 

Definition at line 29 of file double_vector.cpp.

References double_list.

00029                                                    :
00030   double_list()
00031 {
00032   double_list.resize(_V.double_list.size());
00033   for(int k=0;k<int(double_list.size());double_list[k]=_V.double_list[k],k++);
00034 }

double_vector::~double_vector (  ) 

Definition at line 36 of file double_vector.cpp.

References double_list.

00037 {
00038   double_list.resize(0);
00039 }


Member Function Documentation

int double_vector::size (  )  const

Definition at line 41 of file double_vector.cpp.

References double_list.

Referenced by operator==().

00042 {
00043   return double_list.size();
00044 }

Here is the caller graph for this function:

int double_vector::resize ( int  _size  ) 

Definition at line 46 of file double_vector.cpp.

References double_list.

00047 {
00048   if(_size>=0)
00049     {
00050       double_list.resize(_size);
00051       return(0);
00052     }
00053   else
00054     {printf("error in resize in double_vector, size[%d] is not correct\n",_size);exit(-1);}
00055 
00056   return(-1);
00057 }

double & double_vector::operator[] ( int  k_vertex  ) 

Definition at line 59 of file double_vector.cpp.

References double_list.

00060 {
00061   if(k_vertex<0 || k_vertex>=int(double_list.size()))
00062     {printf("Error in operator [] in double_vector, k_vertex [%d] is not correct because double_list.size()=[%d] \n",k_vertex,double_list.size());exit(-1);}
00063   return double_list[k_vertex];
00064 }  

double double_vector::operator[] ( int  k_vertex  )  const

Definition at line 65 of file double_vector.cpp.

References double_list.

00066 {
00067   if(k_vertex<0 || k_vertex>=int(double_list.size()))
00068     {printf("Error in operator [] in double_vector, k_vertex [%d] is not correct because double_list.size()=[%d] \n",k_vertex,double_list.size());exit(-1);}
00069   return double_list[k_vertex];
00070 }  

double_vector & double_vector::operator= ( const double_vector _V  ) 

Definition at line 73 of file double_vector.cpp.

References double_list.

00074 {
00075   double_list.resize(_V.double_list.size());
00076   for(int k=0;k<int(_V.double_list.size());k++)
00077     double_list[k] = _V.double_list[k];
00078   return *this;
00079 }

int double_vector::add ( double  value  ) 

Definition at line 82 of file double_vector.cpp.

References double_list.

Referenced by Mesh_object::build_normal_intermediate(), and Mesh_object::build_normal_per_vertex().

00083 {
00084   double_list.push_back(value);
00085   return(0);
00086 }

Here is the caller graph for this function:

int double_vector::add ( std::vector< double > &  _int_list  ) 

Definition at line 88 of file double_vector.cpp.

00089 {
00090   int k=0;
00091   for(k=0;k<int(_double_list.size());k++)
00092     add(_double_list[k]);
00093   return 0;
00094 }


Friends And Related Function Documentation

bool operator== ( const double_vector cont_1,
const double_vector cont_2 
) [friend]

test equality

Definition at line 96 of file double_vector.cpp.

00097 {
00098   double epsilon=0.00001;
00099   if(cont_1.size()!=cont_2.size())
00100     return 0;
00101   for(int k=0;k<int(cont_1.size());k++)
00102     if(fabs(cont_1[k]-cont_2[k])>epsilon)
00103       return 0;
00104   return 1;
00105 }

bool operator!= ( const double_vector cont_1,
const double_vector cont_2 
) [friend]

test equality

Definition at line 106 of file double_vector.cpp.

00107 {
00108   if(cont_1==cont_2)
00109     return 0;
00110   return 1;
00111 }


Member Data Documentation

std::vector<double> double_vector::double_list [private]

Definition at line 73 of file double_vector.h.

Referenced by add(), double_vector(), operator=(), operator[](), resize(), size(), and ~double_vector().


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

Generated on Mon Mar 30 16:56:42 2009 by  doxygen 1.5.6