PlaneDirectionManager Class Reference

#include <PlaneDirectionManager.h>

List of all members.

Public Member Functions

 PlaneDirectionManager (int radio, double colour[3], int opacity)
 ~PlaneDirectionManager ()
void SetRenderer (vtkRenderer *render)
void SetVectors (std::vector< double > lstPointsx, std::vector< double > lstPointsy, std::vector< double > lstPointsz)
void UpdateDirections () throw (std::exception)
std::vector
< PlaneDirectionManagerData * > 
GetPlanesData ()
void addRemoveActor (int index, bool addremove)
void changeColor (int index, double r, double g, double b)
PlaneDirectionManagerDataGetPlaneDirectionManagerData (int id)
void WriteInformation (std::string filename, double *spc=NULL)
void SetArrowSize (int arrowsize)

Private Member Functions

void RemoveAllActorsFromIndex (int n=0) throw (std::exception)
void UpdateVectors () throw (std::exception)
void UpdateActors ()
void AddActors ()

Private Attributes

std::vector< double > _lstPointsx
std::vector< double > _lstPointsy
std::vector< double > _lstPointsz
std::vector
< PlaneDirectionManagerData * > 
_vectdata
vtkRenderer * _render
int _radio
double * _colour
int _opacity


Detailed Description

Definition at line 14 of file PlaneDirectionManager.h.


Constructor & Destructor Documentation

PlaneDirectionManager::PlaneDirectionManager ( int  radio,
double  colour[3],
int  opacity 
)

Definition at line 8 of file PlaneDirectionManager.cxx.

References _colour, _opacity, and _radio.

00008                                                                                      {  
00009         _radio = radio;
00010         _colour = colour;
00011         _opacity = opacity;
00012 
00013 }

PlaneDirectionManager::~PlaneDirectionManager (  ) 

Definition at line 16 of file PlaneDirectionManager.cxx.

References RemoveAllActorsFromIndex().

00016                                              {
00017         RemoveAllActorsFromIndex();
00018 }

Here is the call graph for this function:


Member Function Documentation

void PlaneDirectionManager::SetRenderer ( vtkRenderer *  render  ) 

Definition at line 20 of file PlaneDirectionManager.cxx.

References _render.

Referenced by PlaneDirectionViewer::SetRenderer().

00020                                                           {
00021     _render = render;
00022 }

Here is the caller graph for this function:

void PlaneDirectionManager::SetVectors ( std::vector< double >  lstPointsx,
std::vector< double >  lstPointsy,
std::vector< double >  lstPointsz 
)

Definition at line 23 of file PlaneDirectionManager.cxx.

References _lstPointsx, _lstPointsy, and _lstPointsz.

Referenced by PlaneDirectionViewer::SetVectors().

00023                                                                                                                                {        
00024 
00025         _lstPointsx = lstPointsx;
00026         _lstPointsy = lstPointsy;
00027         _lstPointsz = lstPointsz;
00028 }

Here is the caller graph for this function:

void PlaneDirectionManager::UpdateDirections (  )  throw (std::exception)

Definition at line 30 of file PlaneDirectionManager.cxx.

References AddActors(), UpdateActors(), and UpdateVectors().

Referenced by PlaneDirectionViewer::UpdateDirections().

00030                                                                  {      
00031         UpdateVectors();
00032         UpdateActors();
00033         AddActors();
00034 
00035 }

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector<PlaneDirectionManagerData*> PlaneDirectionManager::GetPlanesData (  )  [inline]

Definition at line 25 of file PlaneDirectionManager.h.

References _vectdata.

Referenced by PlaneDirectionViewer::UpdateDirections().

00025                                                              {
00026                 return _vectdata;
00027         }

Here is the caller graph for this function:

void PlaneDirectionManager::addRemoveActor ( int  index,
bool  addremove 
)

Definition at line 85 of file PlaneDirectionManager.cxx.

References _render, and _vectdata.

Referenced by PlaneDirectionViewer::addRemoveActor().

00085                                                                    {
00086 
00087         if(index < _vectdata.size()){
00088                 if(addremove){
00089                         _render->AddViewProp (_vectdata[index]->GetActor());
00090                 }else{
00091                         _render->RemoveViewProp (_vectdata[index]->GetActor());
00092                 }
00093                 
00094         }
00095         
00096         
00097 }

Here is the caller graph for this function:

void PlaneDirectionManager::changeColor ( int  index,
double  r,
double  g,
double  b 
)

Definition at line 99 of file PlaneDirectionManager.cxx.

References PlaneDirectionManagerData::ChangeColour(), and GetPlaneDirectionManagerData().

Referenced by PlaneDirectionViewer::changeColor().

00099                                                                            {
00100     GetPlaneDirectionManagerData(index)->ChangeColour(r,g,b);
00101 }

Here is the call graph for this function:

Here is the caller graph for this function:

PlaneDirectionManagerData * PlaneDirectionManager::GetPlaneDirectionManagerData ( int  id  ) 

Definition at line 103 of file PlaneDirectionManager.cxx.

References _vectdata.

Referenced by changeColor().

00103                                                                                      {
00104 
00105         return _vectdata[id];
00106 }

Here is the caller graph for this function:

void PlaneDirectionManager::WriteInformation ( std::string  filename,
double *  spc = NULL 
)

Definition at line 108 of file PlaneDirectionManager.cxx.

References _vectdata.

Referenced by PlaneDirectionViewer::WriteInformation().

00108                                                                             {
00109     FILE *ff;   
00110         ff = fopen( filename.c_str() , "w+" );
00111         if(spc ==NULL){
00112                 spc = new double[3];
00113                 spc[0] = 1;
00114                 spc[1] = 1;
00115                 spc[2] = 1;
00116         }
00117         if (ff!=NULL)
00118         {               
00119                 for(int i = 0; i < _vectdata.size();i++){
00120 
00121                         double* p0 = _vectdata[i]->getPoint0();
00122                         double* p1 = _vectdata[i]->getPoint1();
00123                         double* p2 = _vectdata[i]->getPoint2();
00124                         double* dir = _vectdata[i]->GetDirection();
00125 
00126                         double p0x = p0[0]/spc[0];
00127                         double p0y = p0[1]/spc[1];
00128                         double p0z = p0[2]/spc[2];
00129 
00130                         double p1x = p1[0]/spc[0];
00131                         double p1y = p1[1]/spc[1];
00132                         double p1z = p1[2]/spc[2];
00133 
00134                         double p2x = p2[0]/spc[0];
00135                         double p2y = p2[1]/spc[1];
00136                         double p2z = p2[2]/spc[2];
00137 
00138                         double dirx = dir[0]/spc[0];
00139                         double diry = dir[1]/spc[1];
00140                         double dirz = dir[2]/spc[2];
00141 
00142                         fprintf(ff,"Dir%d\n",i);
00143             fprintf(ff,"\tP0[%f, %f, %f]\tP1[%f, %f, %f]\tP2[%f, %f, %f]\tDir[%f, %f, %f] \n",
00144                                                         p0x,p0y,p0z,    p1x,p1y,p1z,    p2x,p2y,p2z,    dirx,diry,dirz);
00145                 }               
00146                 
00147                 fclose(ff);
00148         } else {   // else ff
00149                 printf("PlaneDirectionManager::WriteInformation  ...Error... creating file");
00150         } //ff
00151 
00152         
00153 }

Here is the caller graph for this function:

void PlaneDirectionManager::SetArrowSize ( int  arrowsize  ) 

Definition at line 155 of file PlaneDirectionManager.cxx.

References _radio.

Referenced by PlaneDirectionViewer::SetArrowSize().

00155                                                       {
00156     _radio = arrowsize;
00157 }

Here is the caller graph for this function:

void PlaneDirectionManager::RemoveAllActorsFromIndex ( int  n = 0  )  throw (std::exception) [private]

Definition at line 41 of file PlaneDirectionManager.cxx.

References _render, and _vectdata.

Referenced by UpdateVectors(), and ~PlaneDirectionManager().

00041                                                                              {
00042         /*due to incompleate set of points to create the plane
00043         */                              
00044         if(_render==NULL){
00045                 throw std::exception();
00046         }
00047         for(int i = _vectdata.size()-1; i >= n;i--){
00048                 _render->RemoveViewProp(_vectdata[i]->GetActor());
00049                 delete _vectdata[i];
00050                 _vectdata.pop_back();
00051         }
00052         
00053 }

Here is the caller graph for this function:

void PlaneDirectionManager::UpdateVectors (  )  throw (std::exception) [private]

Definition at line 54 of file PlaneDirectionManager.cxx.

References _colour, _lstPointsx, _lstPointsy, _lstPointsz, _opacity, _radio, _vectdata, RemoveAllActorsFromIndex(), PlaneDirectionManagerData::setPoint0(), PlaneDirectionManagerData::setPoint1(), and PlaneDirectionManagerData::setPoint2().

Referenced by UpdateDirections().

00054                                                              {
00055         PlaneDirectionManagerData* temp;
00056         bool deletelast = false;
00057         int currentdata = 0;
00058         for(int i = 0; i < _lstPointsx.size();i++){
00059                 if(i % 3 == 0){ 
00060                         if(_vectdata.size()>currentdata){
00061                                 temp = _vectdata[currentdata];
00062                         }else{
00063                                 temp = new PlaneDirectionManagerData(_radio, _colour, _opacity);
00064                                 _vectdata.push_back(temp);
00065                         }
00066                         temp->setPoint0(_lstPointsx[i],_lstPointsy[i],_lstPointsz[i]);
00067                         deletelast = true;
00068                 }else if(i % 3 == 1){
00069             temp->setPoint1(_lstPointsx[i],_lstPointsy[i],_lstPointsz[i]);                      
00070                 }else if(i % 3 == 2){
00071                         temp->setPoint2(_lstPointsx[i],_lstPointsy[i],_lstPointsz[i]);                                          
00072                         currentdata++;
00073                         deletelast = false;
00074                 }
00075         }
00076         RemoveAllActorsFromIndex(currentdata);
00077 }

Here is the call graph for this function:

Here is the caller graph for this function:

void PlaneDirectionManager::UpdateActors (  )  [private]

Definition at line 79 of file PlaneDirectionManager.cxx.

References _vectdata.

Referenced by UpdateDirections().

00079                                         {
00080     for(int i = 0; i < _vectdata.size();i++){
00081                 _vectdata[i]->UpdateActor();
00082         }
00083 }

Here is the caller graph for this function:

void PlaneDirectionManager::AddActors (  )  [private]

Definition at line 36 of file PlaneDirectionManager.cxx.

References _render, and _vectdata.

Referenced by UpdateDirections().

00036                                      {
00037     for(int i = 0; i < _vectdata.size();i++){
00038                 _render->AddViewProp (_vectdata[i]->GetActor());                
00039         }
00040 }

Here is the caller graph for this function:


Member Data Documentation

std::vector<double> PlaneDirectionManager::_lstPointsx [private]

Definition at line 40 of file PlaneDirectionManager.h.

Referenced by SetVectors(), and UpdateVectors().

std::vector<double> PlaneDirectionManager::_lstPointsy [private]

Definition at line 41 of file PlaneDirectionManager.h.

Referenced by SetVectors(), and UpdateVectors().

std::vector<double> PlaneDirectionManager::_lstPointsz [private]

Definition at line 42 of file PlaneDirectionManager.h.

Referenced by SetVectors(), and UpdateVectors().

std::vector<PlaneDirectionManagerData*> PlaneDirectionManager::_vectdata [private]

Definition at line 44 of file PlaneDirectionManager.h.

Referenced by AddActors(), addRemoveActor(), GetPlaneDirectionManagerData(), GetPlanesData(), RemoveAllActorsFromIndex(), UpdateActors(), UpdateVectors(), and WriteInformation().

vtkRenderer* PlaneDirectionManager::_render [private]

Definition at line 52 of file PlaneDirectionManager.h.

Referenced by AddActors(), addRemoveActor(), RemoveAllActorsFromIndex(), and SetRenderer().

int PlaneDirectionManager::_radio [private]

Definition at line 54 of file PlaneDirectionManager.h.

Referenced by PlaneDirectionManager(), SetArrowSize(), and UpdateVectors().

double* PlaneDirectionManager::_colour [private]

Definition at line 55 of file PlaneDirectionManager.h.

Referenced by PlaneDirectionManager(), and UpdateVectors().

int PlaneDirectionManager::_opacity [private]

Definition at line 56 of file PlaneDirectionManager.h.

Referenced by PlaneDirectionManager(), and UpdateVectors().


The documentation for this class was generated from the following files:
Generated on Wed Jul 29 16:36:06 2009 for creaMaracasVisu_lib by  doxygen 1.5.3