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 }

PlaneDirectionManager::~PlaneDirectionManager (  ) 

Definition at line 15 of file PlaneDirectionManager.cxx.

References RemoveAllActorsFromIndex().

00015                                              {
00016         RemoveAllActorsFromIndex();
00017 }

Here is the call graph for this function:


Member Function Documentation

void PlaneDirectionManager::AddActors (  )  [private]

Definition at line 35 of file PlaneDirectionManager.cxx.

References _render, and _vectdata.

Referenced by UpdateDirections().

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

Here is the caller graph for this function:

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

Definition at line 83 of file PlaneDirectionManager.cxx.

References _render, and _vectdata.

Referenced by PlaneDirectionViewer::addRemoveActor().

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

Here is the caller graph for this function:

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

Definition at line 94 of file PlaneDirectionManager.cxx.

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

Referenced by PlaneDirectionViewer::changeColor().

00095 {
00096     GetPlaneDirectionManagerData(index)->ChangeColour(r,g,b);
00097 }

Here is the call graph for this function:

Here is the caller graph for this function:

PlaneDirectionManagerData * PlaneDirectionManager::GetPlaneDirectionManagerData ( int  id  ) 

Definition at line 99 of file PlaneDirectionManager.cxx.

References _vectdata.

Referenced by changeColor().

00100 {
00101         return _vectdata[id];
00102 }

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::RemoveAllActorsFromIndex ( int  n = 0  )  throw (std::exception) [private]

Definition at line 40 of file PlaneDirectionManager.cxx.

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

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

Here is the caller graph for this function:

void PlaneDirectionManager::SetArrowSize ( int  arrowsize  ) 

Definition at line 148 of file PlaneDirectionManager.cxx.

References _radio.

Referenced by PlaneDirectionViewer::SetArrowSize().

00148                                                       {
00149     _radio = arrowsize;
00150 }

Here is the caller graph for this function:

void PlaneDirectionManager::SetRenderer ( vtkRenderer *  render  ) 

Definition at line 19 of file PlaneDirectionManager.cxx.

References _render.

Referenced by PlaneDirectionViewer::SetRenderer().

00019                                                           {
00020     _render = render;
00021 }

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 22 of file PlaneDirectionManager.cxx.

References _lstPointsx, _lstPointsy, and _lstPointsz.

Referenced by PlaneDirectionViewer::SetVectors().

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

Here is the caller graph for this function:

void PlaneDirectionManager::UpdateActors (  )  [private]

Definition at line 77 of file PlaneDirectionManager.cxx.

References _vectdata.

Referenced by UpdateDirections().

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

Here is the caller graph for this function:

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

Definition at line 29 of file PlaneDirectionManager.cxx.

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

Referenced by PlaneDirectionViewer::UpdateDirections().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 52 of file PlaneDirectionManager.cxx.

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

Referenced by UpdateDirections().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 104 of file PlaneDirectionManager.cxx.

References _vectdata.

Referenced by PlaneDirectionViewer::WriteInformation().

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

Here is the caller graph for this function:


Member Data Documentation

double* PlaneDirectionManager::_colour [private]

Definition at line 55 of file PlaneDirectionManager.h.

Referenced by PlaneDirectionManager(), and UpdateVectors().

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().

Definition at line 56 of file PlaneDirectionManager.h.

Referenced by PlaneDirectionManager(), and UpdateVectors().

Definition at line 54 of file PlaneDirectionManager.h.

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

vtkRenderer* PlaneDirectionManager::_render [private]

Definition at line 52 of file PlaneDirectionManager.h.

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


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

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1