Back to index

salome-smesh  6.5.0
Defines | Functions
SMESH_FaceOrientationFilter.cxx File Reference
#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 <vtkObjectFactory.h>
#include <vtkInformation.h>
#include <vtkInformationVector.h>
#include <vtkFloatArray.h>
#include <vtkCellArray.h>
#include <vtkMaskPoints.h>
#include <vtkGlyph3D.h>
#include <vtkGlyphSource2D.h>
#include <QColor>

Go to the source code of this file.

Defines

#define PI   3.14159265359

Functions

 vtkCxxRevisionMacro (SMESH_FaceOrientationFilter,"$Revision: 1.2.2.2.4.3.8.1 $")
 vtkStandardNewMacro (SMESH_FaceOrientationFilter)
void GetFaceParams (vtkCell *theFace, double theNormal[3], double &theSize)

Define Documentation

#define PI   3.14159265359

Definition at line 43 of file SMESH_FaceOrientationFilter.cxx.


Function Documentation

void GetFaceParams ( vtkCell *  theFace,
double  theNormal[3],
double &  theSize 
)

Definition at line 209 of file SMESH_FaceOrientationFilter.cxx.

{
  vtkPoints* aPoints = theFace->GetPoints();

  // here we get first 3 points from the face and calculate the normal as a cross-product of vectors
  double x0 = aPoints->GetPoint(0)[0], y0 = aPoints->GetPoint(0)[1], z0 = aPoints->GetPoint(0)[2];
  double x1 = aPoints->GetPoint(1)[0], y1 = aPoints->GetPoint(1)[1], z1 = aPoints->GetPoint(1)[2];
  double x2 = aPoints->GetPoint(2)[0], y2 = aPoints->GetPoint(2)[1], z2 = aPoints->GetPoint(2)[2];

  theNormal[0] = ( y1 - y0 ) * ( z2 - z0 ) - ( z1 - z0 ) * ( y2 - y0 );
  theNormal[1] = ( z1 - z0 ) * ( x2 - x0 ) - ( x1 - x0 ) * ( z2 - z0 );
  theNormal[2] = ( x1 - x0 ) * ( y2 - y0 ) - ( y1 - y0 ) * ( x2 - x0 );

  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 );
}
vtkCxxRevisionMacro ( SMESH_FaceOrientationFilter  ,
"$Revision: 1.2.2.2.4.3.8.1 $"   
)