5 #include <vtkCellArray.h> 6 #include <vtkDataSetMapper.h> 9 #include <vtkPolyData.h> 10 #include <vtkPolyDataMapper.h> 11 #include <vtkProperty.h> 12 #include <vtkPolygon.h> 13 #include <vtkUnstructuredGrid.h> 19 :
SGNode(), m_iCellsX(iCellsX), m_iCellsZ(iCellsZ)
31 :
SGNode(pParentNode), m_iCellsX(iCellsX), m_iCellsZ(iCellsZ)
50 vtkSmartPointer< vtkPoints > pGridPoints = vtkSmartPointer< vtkPoints >::New();
53 vtkSmartPointer< vtkUnstructuredGrid > pGrid = vtkSmartPointer< vtkUnstructuredGrid >::New();
55 pGrid->SetPoints( pGridPoints );
56 pGrid->Allocate( m_iCellsX + m_iCellsZ + 2, 1 );
59 vtkSmartPointer< vtkLine > pLine = vtkSmartPointer< vtkLine >::New();
66 for(
int i = 0; i <= m_iCellsX; i++ )
68 pGridPoints->InsertPoint(k++, i/(
double) m_iCellsX, 0, 0);
69 pGridPoints->InsertPoint(k++, i/(
double) m_iCellsX, 0, 1);
70 pLine->GetPointIds()->SetId(0, k-2);
71 pLine->GetPointIds()->SetId(1, k-1);
72 pGrid->InsertNextCell( pLine->GetCellType(), pLine->GetPointIds() );
76 for(
int i = 0; i <= m_iCellsZ; i++ )
78 pGridPoints->InsertPoint(k++, 0, 0, i/(
double) m_iCellsZ);
79 pGridPoints->InsertPoint(k++, 1, 0, i/(
double) m_iCellsZ);
80 pLine->GetPointIds()->SetId(0, k-2);
81 pLine->GetPointIds()->SetId(1, k-1);
82 pGrid->InsertNextCell( pLine->GetCellType(), pLine->GetPointIds() );
86 vtkSmartPointer< vtkDataSetMapper > pGridMapper = vtkSmartPointer< vtkDataSetMapper >::New();
87 pGridMapper->SetInputData( pGrid );
89 m_pActorGrid = vtkSmartPointer< vtkActor >::New();
90 m_pActorGrid->SetMapper( pGridMapper );
93 m_pActorGrid->GetProperty()->SetAmbient(1);
94 m_pActorGrid->GetProperty()->SetDiffuse(0);
95 m_pActorGrid->GetProperty()->SetSpecular(0);
96 double dGridColor = 0.4;
97 m_pActorGrid->GetProperty()->SetColor( dGridColor, dGridColor, dGridColor );
98 m_pActorGrid->GetProperty()->SetOpacity( 0.8 );
106 return m_pActorGrid->GetVisibility() ?
true :
false;
114 bVisible ? m_pActorGrid->VisibilityOn() : m_pActorGrid->VisibilityOff();
void AddActor(vtkSmartPointer< vtkActor > pActor)
Add a VTK actor to the node.
void SetVisible(bool bVisible)
Set visibility.
void RemoveActor(vtkSmartPointer< vtkActor > pActor)
Remove a VTK actor from the assembly of the node.
virtual void SetVisible(bool bVisible)
Set visibility.
Base class for scene graph nodes.
#define DAFFVIZ_UNLOCK_VTK
Grid(DAFFViz::SGNode *pParentNode, unsigned int iCellsX=10, unsigned int iCellsZ=10)
bool IsVisible() const
Get visibility.