-// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
#include "SMESH_FaceOrientationFilter.h"
#include "SMESH_ActorUtils.h"
#include "SUIT_Session.h"
#include "SUIT_ResourceMgr.h"
+#include <VTKViewer_CellCenters.h>
+
#include <vtkCellData.h>
#include <vtkDataSet.h>
#include <vtkPolyData.h>
#include <vtkFloatArray.h>
#include <vtkCellArray.h>
#include <vtkMaskPoints.h>
-#include <vtkCellCenters.h>
#include <vtkGlyph3D.h>
#include <vtkGlyphSource2D.h>
myFacePolyData = vtkPolyData::New();
- myFaceCenters = vtkCellCenters::New();
+ myFaceCenters = VTKViewer_CellCenters::New();
myFaceCenters->SetInput(myFacePolyData);
myFaceMaskPoints = vtkMaskPoints::New();
myBaseGlyph->Delete();
}
+void SMESH_FaceOrientationFilter::SetOrientationScale( vtkFloatingPointType theScale )
+{
+ myOrientationScale = theScale;
+ Modified();
+}
+
+void SMESH_FaceOrientationFilter::Set3dVectors( bool theState )
+{
+ my3dVectors = theState;
+ myBaseGlyph->SetSource(my3dVectors ? myArrowPolyData : myGlyphSource->GetOutput());
+ Modified();
+}
+
vtkPolyData* SMESH_FaceOrientationFilter::CreateArrowPolyData()
{
vtkPoints* points = vtkPoints::New();
double* aBounds = theFace->GetBounds();
theSize = pow( pow( aBounds[1] - aBounds[0], 2 ) +
- pow( aBounds[3] - aBounds[2], 2 ) +
- pow( aBounds[5] - aBounds[4], 2 ), 0.5 );
+ pow( aBounds[3] - aBounds[2], 2 ) +
+ pow( aBounds[5] - aBounds[4], 2 ), 0.5 );
}
/*!
input->GetCellNeighbors( aCellId, aFace->PointIds, aNeighborIds );
if( aNeighborIds->GetNumberOfIds() > 0 )
- continue;
+ continue;
double aSize, aNormal[3];
GetFaceParams( aFace, aNormal, aSize );