Back to index

salome-smesh  6.5.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes
SMESH::Controls::SMESHCONTROLS_EXPORT Protocol Reference

Class used to detect mesh modification: IsMeshModified() returns true if a mesh has changed since last calling IsMeshModified() More...

#include <SMESH_ControlsDef.hxx>

Inherits SMESH::Functor, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::LogicalBinary, SMESH::LogicalBinary, SMESH::Predicate, SMESH::Predicate, SMESH::Comparator, SMESH::Comparator, SMESH::Comparator, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::Predicate, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, SMESH::NumericalFunctor, and SMESH::Functor.

Collaboration diagram for SMESH::Controls::SMESHCONTROLS_EXPORT:
Collaboration graph
[legend]

List of all members.

Classes

struct  Border
class  Link
struct  Value

Public Types

typedef std::set< ValueTValues
typedef std::map< Value, int > MValues
typedef long TElemId
typedef std::set< BorderTBorders
typedef std::set
< ManifoldPart::Link > 
TMapOfLink
typedef std::vector
< SMDS_MeshFace * > 
TVectorOfFacePtr
typedef std::vector
< ManifoldPart::Link > 
TVectorOfLink
typedef std::map
< SMDS_MeshFace *, int > 
TDataMapFacePtrInt
typedef std::map
< ManifoldPart::Link,
SMDS_MeshFace * > 
TDataMapOfLinkFacePtr
typedef std::vector< long > TIdSequence

Public Member Functions

 TSequenceOfXYZ ()
 TSequenceOfXYZ (size_type n)
 TSequenceOfXYZ (size_type n, const gp_XYZ &t)
 TSequenceOfXYZ (const TSequenceOfXYZ &theSequenceOfXYZ)
template<class InputIterator >
 TSequenceOfXYZ (InputIterator theBegin, InputIterator theEnd)
 ~TSequenceOfXYZ ()
TSequenceOfXYZoperator= (const TSequenceOfXYZ &theSequenceOfXYZ)
gp_XYZ & operator() (size_type n)
const gp_XYZ & operator() (size_type n) const
void clear ()
void reserve (size_type n)
void push_back (const gp_XYZ &v)
size_type size () const
 TMeshModifTracer ()
void SetMesh (const SMDS_Mesh *theMesh)
const SMDS_Mesh * GetMesh () const
bool IsMeshModified ()
 NumericalFunctor ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual double GetValue (long theElementId)
virtual double GetValue (const TSequenceOfXYZ &thePoints)
void GetHistogram (int nbIntervals, std::vector< int > &nbEvents, std::vector< double > &funValues, const std::vector< int > &elements, const double *minmax=0)
virtual SMDSAbs_ElementType GetType () const =0
virtual double GetBadRate (double Value, int nbNodes) const =0
long GetPrecision () const
void SetPrecision (const long thePrecision)
double Round (const double &value)
bool GetPoints (const int theId, TSequenceOfXYZ &theRes) const
virtual double GetValue (long theElementId)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (long theElementId)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (long theElementId)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (long theElementId)
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (long theElementId)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
void GetValues (TValues &theValues)
virtual double GetValue (long theElementId)
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
virtual double GetValue (long theElementId)
virtual double GetValue (const TSequenceOfXYZ &thePoints)
virtual double GetBadRate (double Value, int nbNodes) const
virtual SMDSAbs_ElementType GetType () const
void GetValues (MValues &theValues)
 CoincidentNodes ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
void SetTolerance (const double theToler)
double GetTolerance () const
 CoincidentElements ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
virtual SMDSAbs_ElementType GetType () const
virtual SMDSAbs_ElementType GetType () const
 FreeBorders ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
 BadOrientedVolume ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
 BareBorderVolume ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType () const
virtual bool IsSatisfy (long theElementId)
 BareBorderFace ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType () const
virtual bool IsSatisfy (long theElementId)
 OverConstrainedVolume ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType () const
virtual bool IsSatisfy (long theElementId)
 OverConstrainedFace ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual SMDSAbs_ElementType GetType () const
virtual bool IsSatisfy (long theElementId)
 FreeEdges ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
void GetBoreders (TBorders &theBorders)
 FreeNodes ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theNodeId)
virtual SMDSAbs_ElementType GetType () const
 RangeOfIds ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theNodeId)
virtual SMDSAbs_ElementType GetType () const
virtual void SetType (SMDSAbs_ElementType theType)
bool AddToRange (long theEntityId)
void GetRangeStr (TCollection_AsciiString &)
bool SetRangeStr (const TCollection_AsciiString &)
 Comparator ()
virtual ~Comparator ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual void SetMargin (double theValue)
virtual void SetNumFunctor (NumericalFunctorPtr theFunct)
virtual bool IsSatisfy (long theElementId)=0
virtual SMDSAbs_ElementType GetType () const
double GetMargin ()
virtual bool IsSatisfy (long theElementId)
virtual bool IsSatisfy (long theElementId)
 EqualTo ()
virtual bool IsSatisfy (long theElementId)
virtual void SetTolerance (double theTol)
virtual double GetTolerance ()
 LogicalNOT ()
virtual ~LogicalNOT ()
virtual bool IsSatisfy (long theElementId)
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual void SetPredicate (PredicatePtr thePred)
virtual SMDSAbs_ElementType GetType () const
 LogicalBinary ()
virtual ~LogicalBinary ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual void SetPredicate1 (PredicatePtr thePred)
virtual void SetPredicate2 (PredicatePtr thePred)
virtual SMDSAbs_ElementType GetType () const
virtual bool IsSatisfy (long theElementId)
virtual bool IsSatisfy (long theElementId)
bool IsEqual (const ManifoldPart::Link &theLink1, const ManifoldPart::Link &theLink2)
 ManifoldPart ()
 ~ManifoldPart ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
void SetAngleTolerance (const double theAngToler)
double GetAngleTolerance () const
void SetIsOnlyManifold (const bool theIsOnly)
void SetStartElem (const long theStartElemId)
 ElementsOnSurface ()
 ~ElementsOnSurface ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
void SetTolerance (const double theToler)
double GetTolerance () const
void SetSurface (const TopoDS_Shape &theShape, const SMDSAbs_ElementType theType)
void SetUseBoundaries (bool theUse)
bool GetUseBoundaries () const
 ElementsOnShape ()
 ~ElementsOnShape ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
void SetTolerance (const double theToler)
double GetTolerance () const
void SetAllNodes (bool theAllNodes)
bool GetAllNodes () const
void SetShape (const TopoDS_Shape &theShape, const SMDSAbs_ElementType theType)
 FreeFaces ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
 LinearOrQuadratic ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
void SetType (SMDSAbs_ElementType theType)
virtual SMDSAbs_ElementType GetType () const
 GroupColor ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
void SetType (SMDSAbs_ElementType theType)
virtual SMDSAbs_ElementType GetType () const
void SetColorStr (const TCollection_AsciiString &)
void GetColorStr (TCollection_AsciiString &) const
 ElemGeomType ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
void SetType (SMDSAbs_ElementType theType)
virtual SMDSAbs_ElementType GetType () const
void SetGeomType (SMDSAbs_GeometryType theType)
virtual SMDSAbs_GeometryType GetGeomType () const
 CoplanarFaces ()
void SetFace (long theID)
long GetFace () const
void SetTolerance (const double theToler)
double GetTolerance () const
virtual SMDSAbs_ElementType GetType () const
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
 Filter ()
virtual ~Filter ()
virtual void SetPredicate (PredicatePtr thePred)
virtual void GetElementsId (const SMDS_Mesh *theMesh, TIdSequence &theSequence)
 ~Functor ()
virtual void SetMesh (const SMDS_Mesh *theMesh)=0
virtual SMDSAbs_ElementType GetType () const =0
virtual bool IsSatisfy (long theElementId)=0
virtual SMDSAbs_ElementType GetType () const =0
void SetMesh (in SMESH_Mesh theMesh)
FunctorType GetFunctorType ()
ElementType GetElementType ()
boolean IsSatisfy (in long thEntityId)
void SetPredicate1 (in Predicate thePredicate)
void SetPredicate2 (in Predicate thePredicate)
void SetMargin (in double theValue)
void SetNumFunctor (in NumericalFunctor theFunct)
double GetValue (in long theElementId)
Histogram GetHistogram (in short nbIntervals)
 Return histogram of functor values.
void SetPrecision (in long thePrecision)
 Set precision for calculation.
long GetPrecision ()

Static Public Member Functions

static bool GetPoints (const SMDS_MeshElement *theElem, TSequenceOfXYZ &theRes)
static bool IsFreeEdge (const SMDS_MeshNode **theNodes, const int theFaceId)
static void GetElementsId (const SMDS_Mesh *theMesh, PredicatePtr thePredicate, TIdSequence &theSequence)

Protected Attributes

const SMDS_MeshElement * myCurrElement
long myPrecision
double myPrecisionValue
std::vector< const
SMDS_MeshNode * > 
myLinkNodes
TColStd_SequenceOfInteger myMin
TColStd_SequenceOfInteger myMax
TColStd_MapOfInteger myIds
SMDSAbs_ElementType myType
double myMargin
NumericalFunctorPtr myFunctor
PredicatePtr myPredicate1
PredicatePtr myPredicate2

Private Types

typedef std::vector< gp_XYZ >
::size_type 
size_type
typedef std::set< long > TIDs

Private Member Functions

double ComputeA (const gp_XYZ &, const gp_XYZ &, const gp_XYZ &, const gp_XYZ &) const
bool process ()
bool findConnected (const TDataMapFacePtrInt &theAllFacePtrInt, SMDS_MeshFace *theStartFace, TMapOfLink &theNonManifold, TColStd_MapOfInteger &theResFaces)
bool isInPlane (const SMDS_MeshFace *theFace1, const SMDS_MeshFace *theFace2)
void expandBoundary (TMapOfLink &theMapOfBoundary, TVectorOfLink &theSeqOfBoundary, TDataMapOfLinkFacePtr &theDMapLinkFacePtr, TMapOfLink &theNonManifold, SMDS_MeshFace *theNextFace) const
void getFacesByLink (const Link &theLink, TVectorOfFacePtr &theFaces) const
void process ()
void process (const SMDS_MeshElement *theElem)
bool isOnSurface (const SMDS_MeshNode *theNode)
void addShape (const TopoDS_Shape &theShape)
void process ()
void process (const SMDS_MeshElement *theElem)

Private Attributes

std::vector< gp_XYZ > myArray
unsigned long myMeshModifTime
const SMDS_Mesh * myMesh
double myToler
TColStd_MapOfInteger myCoincidentIDs
TMeshModifTracer myMeshModifTracer
PredicatePtr myPredicate
TColStd_MapOfInteger myMapIds
TColStd_MapOfInteger myMapBadGeomIds
TVectorOfFacePtr myAllFacePtr
TDataMapFacePtrInt myAllFacePtrIntDMap
double myAngToler
bool myIsOnlyManifold
long myStartElemId
TopoDS_Face mySurf
bool myUseBoundaries
GeomAPI_ProjectPointOnSurf myProjector
TopoDS_Shape myShape
bool myAllNodesFlag
TopTools_MapOfShape myShapesMap
TopAbs_ShapeEnum myCurShapeType
BRepClass3d_SolidClassifier myCurSC
GeomAPI_ProjectPointOnSurf myCurProjFace
TopoDS_Face myCurFace
GeomAPI_ProjectPointOnCurve myCurProjEdge
gp_Pnt myCurPnt
Quantity_Color myColor
TIDs myIDs
SMDSAbs_GeometryType myGeomType
long myFaceID
std::set< long > myCoplanarIDs

Detailed Description

Class used to detect mesh modification: IsMeshModified() returns true if a mesh has changed since last calling IsMeshModified()

Definition at line 63 of file SMESH_ControlsDef.hxx.


Member Typedef Documentation

Definition at line 328 of file SMESH_ControlsDef.hxx.

typedef std::vector<gp_XYZ>::size_type SMESH::Controls::SMESHCONTROLS_EXPORT::size_type [private]

Definition at line 65 of file SMESH_ControlsDef.hxx.

Definition at line 495 of file SMESH_ControlsDef.hxx.

typedef std::map<SMDS_MeshFace*,int> SMESH::Controls::SMESHCONTROLS_EXPORT::TDataMapFacePtrInt

Definition at line 700 of file SMESH_ControlsDef.hxx.

typedef std::map<ManifoldPart::Link,SMDS_MeshFace*> SMESH::Controls::SMESHCONTROLS_EXPORT::TDataMapOfLinkFacePtr

Definition at line 701 of file SMESH_ControlsDef.hxx.

Definition at line 488 of file SMESH_ControlsDef.hxx.

typedef std::set< long > SMESH::Controls::SMESHCONTROLS_EXPORT::TIDs [private]

Definition at line 880 of file SMESH_ControlsDef.hxx.

Definition at line 943 of file SMESH_ControlsDef.hxx.

typedef std::set<ManifoldPart::Link> SMESH::Controls::SMESHCONTROLS_EXPORT::TMapOfLink

Definition at line 697 of file SMESH_ControlsDef.hxx.

Definition at line 296 of file SMESH_ControlsDef.hxx.

typedef std::vector<SMDS_MeshFace*> SMESH::Controls::SMESHCONTROLS_EXPORT::TVectorOfFacePtr

Definition at line 698 of file SMESH_ControlsDef.hxx.

typedef std::vector<ManifoldPart::Link> SMESH::Controls::SMESHCONTROLS_EXPORT::TVectorOfLink

Definition at line 699 of file SMESH_ControlsDef.hxx.


Constructor & Destructor Documentation

Definition at line 52 of file SMESH_Controls.hxx.

{}

Member Function Documentation

void SMESH::Controls::SMESHCONTROLS_EXPORT::addShape ( const TopoDS_Shape &  theShape) [private]

Definition at line 437 of file SMESH_ControlsDef.hxx.

:myMesh(0) {}

Definition at line 422 of file SMESH_ControlsDef.hxx.

:myMesh(0) {}

Here is the caller graph for this function:

double SMESH::Controls::SMESHCONTROLS_EXPORT::ComputeA ( const gp_XYZ &  ,
const gp_XYZ &  ,
const gp_XYZ &  ,
const gp_XYZ &   
) const [private]
void SMESH::Controls::SMESHCONTROLS_EXPORT::expandBoundary ( TMapOfLink theMapOfBoundary,
TVectorOfLink theSeqOfBoundary,
TDataMapOfLinkFacePtr theDMapLinkFacePtr,
TMapOfLink theNonManifold,
SMDS_MeshFace *  theNextFace 
) const [private]
bool SMESH::Controls::SMESHCONTROLS_EXPORT::findConnected ( const TDataMapFacePtrInt theAllFacePtrInt,
SMDS_MeshFace *  theStartFace,
TMapOfLink theNonManifold,
TColStd_MapOfInteger &  theResFaces 
) [private]

Definition at line 803 of file SMESH_ControlsDef.hxx.

{ return myAllNodesFlag; }
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [pure virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetBadRate ( double  Value,
int  nbNodes 
) const [virtual]
void SMESH::Controls::SMESHCONTROLS_EXPORT::GetColorStr ( TCollection_AsciiString &  ) const
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::GetElementsId ( const SMDS_Mesh *  theMesh,
TIdSequence theSequence 
) [virtual]

Here is the caller graph for this function:

static void SMESH::Controls::SMESHCONTROLS_EXPORT::GetElementsId ( const SMDS_Mesh *  theMesh,
PredicatePtr  thePredicate,
TIdSequence theSequence 
) [static]

Here is the caller graph for this function:

Here is the caller graph for this function:

Definition at line 918 of file SMESH_ControlsDef.hxx.

{ return myFaceID; }
void SMESH::Controls::SMESHCONTROLS_EXPORT::getFacesByLink ( const Link theLink,
TVectorOfFacePtr theFaces 
) const [private]
void NumericalFunctor::GetHistogram ( in short  nbIntervals) [inherited]

Return histogram of functor values.

Parameters:
nbIntervals- number of intervals
nbEvents- number of mesh elements having values within i-th interval
funValues- boundaries of intervals
elements- elements to check vulue of; empty list means "of all"
minmax- boundaries of diapason of values to divide into intervals

Definition at line 323 of file SMESH_Controls.cxx.

{
  if ( nbIntervals < 1 ||
       !myMesh ||
       !myMesh->GetMeshInfo().NbElements( GetType() ))
    return;
  nbEvents.resize( nbIntervals, 0 );
  funValues.resize( nbIntervals+1 );

  // get all values sorted
  std::multiset< double > values;
  if ( elements.empty() )
  {
    SMDS_ElemIteratorPtr elemIt = myMesh->elementsIterator(GetType());
    while ( elemIt->more() )
      values.insert( GetValue( elemIt->next()->GetID() ));
  }
  else
  {
    vector<int>::const_iterator id = elements.begin();
    for ( ; id != elements.end(); ++id )
      values.insert( GetValue( *id ));
  }

  if ( minmax )
  {
    funValues[0] = minmax[0];
    funValues[nbIntervals] = minmax[1];
  }
  else
  {
    funValues[0] = *values.begin();
    funValues[nbIntervals] = *values.rbegin();
  }
  // case nbIntervals == 1
  if ( nbIntervals == 1 )
  {
    nbEvents[0] = values.size();
    return;
  }
  // case of 1 value
  if (funValues.front() == funValues.back())
  {
    nbEvents.resize( 1 );
    nbEvents[0] = values.size();
    funValues[1] = funValues.back();
    funValues.resize( 2 );
  }
  // generic case
  std::multiset< double >::iterator min = values.begin(), max;
  for ( int i = 0; i < nbIntervals; ++i )
  {
    // find end value of i-th interval
    double r = (i+1) / double( nbIntervals );
    funValues[i+1] = funValues.front() * (1-r) + funValues.back() * r;

    // count values in the i-th interval if there are any
    if ( min != values.end() && *min <= funValues[i+1] )
    {
      // find the first value out of the interval
      max = values.upper_bound( funValues[i+1] ); // max is greater than funValues[i+1], or end()
      nbEvents[i] = std::distance( min, max );
      min = max;
    }
  }
  // add values larger than minmax[1]
  nbEvents.back() += std::distance( min, values.end() );
}

Here is the call graph for this function:

void SMESH::Controls::SMESHCONTROLS_EXPORT::GetHistogram ( int  nbIntervals,
std::vector< int > &  nbEvents,
std::vector< double > &  funValues,
const std::vector< int > &  elements,
const double *  minmax = 0 
)

Implements SMESH::Comparator.

const SMDS_Mesh* SMESH::Controls::SMESHCONTROLS_EXPORT::GetMesh ( ) const [inline]

Definition at line 110 of file SMESH_ControlsDef.hxx.

{ return myMesh; }

Here is the caller graph for this function:

bool SMESH::Controls::SMESHCONTROLS_EXPORT::GetPoints ( const int  theId,
TSequenceOfXYZ theRes 
) const
static bool SMESH::Controls::SMESHCONTROLS_EXPORT::GetPoints ( const SMDS_MeshElement *  theElem,
TSequenceOfXYZ theRes 
) [static]
long NumericalFunctor::GetPrecision ( ) [inherited]

Definition at line 283 of file SMESH_Controls.cxx.

{
  return myPrecision;
}
void SMESH::Controls::SMESHCONTROLS_EXPORT::GetRangeStr ( TCollection_AsciiString &  )

Definition at line 349 of file SMESH_ControlsDef.hxx.

{ return myToler; }

Definition at line 920 of file SMESH_ControlsDef.hxx.

{ return myToler; }

Definition at line 424 of file SMESH_ControlsDef.hxx.

{ return SMDSAbs_Volume; }

Definition at line 439 of file SMESH_ControlsDef.hxx.

{ return SMDSAbs_Face; }

Definition at line 455 of file SMESH_ControlsDef.hxx.

{ return SMDSAbs_Volume; }

Definition at line 470 of file SMESH_ControlsDef.hxx.

{ return SMDSAbs_Face; }

Definition at line 921 of file SMESH_ControlsDef.hxx.

{ return SMDSAbs_Face; }

Definition at line 764 of file SMESH_ControlsDef.hxx.

{ return myUseBoundaries; }
double NumericalFunctor::GetValue ( in long  theElementId) [inherited]

Definition at line 294 of file SMESH_Controls.cxx.

{
  double aVal = 0;

  myCurrElement = myMesh->FindElement( theId );

  TSequenceOfXYZ P;
  if ( GetPoints( theId, P ))
    aVal = Round( GetValue( P ));

  return aVal;
}

Here is the caller graph for this function:

virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [inline, virtual]

Definition at line 123 of file SMESH_ControlsDef.hxx.

{ return -1.0;};
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( long  theElementId) [virtual]
virtual double SMESH::Controls::SMESHCONTROLS_EXPORT::GetValue ( const TSequenceOfXYZ thePoints) [virtual]
bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsEqual ( const ManifoldPart::Link &  theLink1,
const ManifoldPart::Link &  theLink2 
)
static bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsFreeEdge ( const SMDS_MeshNode **  theNodes,
const int  theFaceId 
) [static]
bool SMESH::Controls::SMESHCONTROLS_EXPORT::isInPlane ( const SMDS_MeshFace *  theFace1,
const SMDS_MeshFace *  theFace2 
) [private]
bool SMESH::Controls::SMESHCONTROLS_EXPORT::isOnSurface ( const SMDS_MeshNode *  theNode) [private]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [pure virtual]
boolean SMESH::Predicate::IsSatisfy ( in long  thEntityId) [inherited]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theNodeId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theNodeId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [pure virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
virtual bool SMESH::Controls::SMESHCONTROLS_EXPORT::IsSatisfy ( long  theElementId) [virtual]
gp_XYZ& SMESH::Controls::SMESHCONTROLS_EXPORT::operator() ( size_type  n)
const gp_XYZ& SMESH::Controls::SMESHCONTROLS_EXPORT::operator() ( size_type  n) const
TSequenceOfXYZ& SMESH::Controls::SMESHCONTROLS_EXPORT::operator= ( const TSequenceOfXYZ theSequenceOfXYZ)

Definition at line 468 of file SMESH_ControlsDef.hxx.

:myMesh(0) {}

Definition at line 453 of file SMESH_ControlsDef.hxx.

:myMesh(0) {}
void SMESH::Controls::SMESHCONTROLS_EXPORT::process ( const SMDS_MeshElement *  theElem) [private]
void SMESH::Controls::SMESHCONTROLS_EXPORT::process ( const SMDS_MeshElement *  theElem) [private]
double SMESH::Controls::SMESHCONTROLS_EXPORT::Round ( const double &  value)
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetColorStr ( const TCollection_AsciiString &  )
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetFace ( long  theID) [inline]

Definition at line 917 of file SMESH_ControlsDef.hxx.

{ myFaceID = theID; }
void Comparator::SetMargin ( in double  theValue) [inherited]

Definition at line 2959 of file SMESH_Controls.cxx.

{
  myMargin = theValue;
}
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMargin ( double  theValue) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [pure virtual]
void SMESH::Functor::SetMesh ( in SMESH_Mesh  theMesh) [inherited]
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh)
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [inline, virtual]

Definition at line 423 of file SMESH_ControlsDef.hxx.

{ myMesh = theMesh; }
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [inline, virtual]

Definition at line 438 of file SMESH_ControlsDef.hxx.

{ myMesh = theMesh; }
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [inline, virtual]

Definition at line 454 of file SMESH_ControlsDef.hxx.

{ myMesh = theMesh; }
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [inline, virtual]

Definition at line 469 of file SMESH_ControlsDef.hxx.

{ myMesh = theMesh; }
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetMesh ( const SMDS_Mesh *  theMesh) [virtual]
void Comparator::SetNumFunctor ( in NumericalFunctor  theFunct) [inherited]

Definition at line 2964 of file SMESH_Controls.cxx.

{
  myFunctor = theFunct;
}
void NumericalFunctor::SetPrecision ( in long  thePrecision) [inherited]

Set precision for calculation.

It is a position after point which is used to functor value after calculation.

Definition at line 288 of file SMESH_Controls.cxx.

{
  myPrecision = thePrecision;
  myPrecisionValue = pow( 10., (double)( myPrecision ) );
}
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetPrecision ( const long  thePrecision)
void LogicalBinary::SetPredicate1 ( in Predicate  thePredicate) [inherited]

Definition at line 3074 of file SMESH_Controls.cxx.

{
  myPredicate1 = thePredicate;
}
void LogicalBinary::SetPredicate2 ( in Predicate  thePredicate) [inherited]

Definition at line 3079 of file SMESH_Controls.cxx.

{
  myPredicate2 = thePredicate;
}
bool SMESH::Controls::SMESHCONTROLS_EXPORT::SetRangeStr ( const TCollection_AsciiString &  )
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetShape ( const TopoDS_Shape &  theShape,
const SMDSAbs_ElementType  theType 
)
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetStartElem ( const long  theStartElemId)
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetSurface ( const TopoDS_Shape &  theShape,
const SMDSAbs_ElementType  theType 
)
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetTolerance ( const double  theToler) [inline]

Definition at line 348 of file SMESH_ControlsDef.hxx.

{ myToler = theToler; }
virtual void SMESH::Controls::SMESHCONTROLS_EXPORT::SetTolerance ( double  theTol) [virtual]
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetTolerance ( const double  theToler)
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetTolerance ( const double  theToler)
void SMESH::Controls::SMESHCONTROLS_EXPORT::SetTolerance ( const double  theToler) [inline]

Definition at line 919 of file SMESH_ControlsDef.hxx.

{ myToler = theToler; }
template<class InputIterator >
SMESH::Controls::SMESHCONTROLS_EXPORT::TSequenceOfXYZ ( InputIterator  theBegin,
InputIterator  theEnd 
)

Member Data Documentation

Definition at line 736 of file SMESH_ControlsDef.hxx.

Definition at line 737 of file SMESH_ControlsDef.hxx.

Definition at line 818 of file SMESH_ControlsDef.hxx.

Definition at line 738 of file SMESH_ControlsDef.hxx.

std::vector<gp_XYZ> SMESH::Controls::SMESHCONTROLS_EXPORT::myArray [private]

Definition at line 96 of file SMESH_ControlsDef.hxx.

Definition at line 353 of file SMESH_ControlsDef.hxx.

Definition at line 882 of file SMESH_ControlsDef.hxx.

Definition at line 930 of file SMESH_ControlsDef.hxx.

Definition at line 824 of file SMESH_ControlsDef.hxx.

Definition at line 826 of file SMESH_ControlsDef.hxx.

GeomAPI_ProjectPointOnCurve SMESH::Controls::SMESHCONTROLS_EXPORT::myCurProjEdge [private]

Definition at line 825 of file SMESH_ControlsDef.hxx.

GeomAPI_ProjectPointOnSurf SMESH::Controls::SMESHCONTROLS_EXPORT::myCurProjFace [private]

Definition at line 823 of file SMESH_ControlsDef.hxx.

const SMDS_MeshElement* SMESH::Controls::SMESHCONTROLS_EXPORT::myCurrElement [protected]

Definition at line 139 of file SMESH_ControlsDef.hxx.

BRepClass3d_SolidClassifier SMESH::Controls::SMESHCONTROLS_EXPORT::myCurSC [private]

Definition at line 822 of file SMESH_ControlsDef.hxx.

Definition at line 821 of file SMESH_ControlsDef.hxx.

Definition at line 928 of file SMESH_ControlsDef.hxx.

Definition at line 571 of file SMESH_ControlsDef.hxx.

Definition at line 905 of file SMESH_ControlsDef.hxx.

TColStd_MapOfInteger SMESH::Controls::SMESHCONTROLS_EXPORT::myIds [protected]

Definition at line 546 of file SMESH_ControlsDef.hxx.

Definition at line 884 of file SMESH_ControlsDef.hxx.

Definition at line 739 of file SMESH_ControlsDef.hxx.

std::vector< const SMDS_MeshNode* > SMESH::Controls::SMESHCONTROLS_EXPORT::myLinkNodes [protected]

Definition at line 443 of file SMESH_ControlsDef.hxx.

Definition at line 735 of file SMESH_ControlsDef.hxx.

TColStd_MapOfInteger SMESH::Controls::SMESHCONTROLS_EXPORT::myMapIds [private]

Definition at line 734 of file SMESH_ControlsDef.hxx.

Definition at line 570 of file SMESH_ControlsDef.hxx.

TColStd_SequenceOfInteger SMESH::Controls::SMESHCONTROLS_EXPORT::myMax [protected]

Definition at line 545 of file SMESH_ControlsDef.hxx.

const SMDS_Mesh * SMESH::Controls::SMESHCONTROLS_EXPORT::myMesh [private]

Definition at line 106 of file SMESH_ControlsDef.hxx.

Definition at line 105 of file SMESH_ControlsDef.hxx.

Definition at line 354 of file SMESH_ControlsDef.hxx.

TColStd_SequenceOfInteger SMESH::Controls::SMESHCONTROLS_EXPORT::myMin [protected]

Definition at line 544 of file SMESH_ControlsDef.hxx.

Definition at line 140 of file SMESH_ControlsDef.hxx.

Definition at line 141 of file SMESH_ControlsDef.hxx.

Definition at line 627 of file SMESH_ControlsDef.hxx.

Definition at line 646 of file SMESH_ControlsDef.hxx.

Definition at line 647 of file SMESH_ControlsDef.hxx.

GeomAPI_ProjectPointOnSurf SMESH::Controls::SMESHCONTROLS_EXPORT::myProjector [private]

Definition at line 779 of file SMESH_ControlsDef.hxx.

Definition at line 816 of file SMESH_ControlsDef.hxx.

Definition at line 820 of file SMESH_ControlsDef.hxx.

Definition at line 740 of file SMESH_ControlsDef.hxx.

Definition at line 776 of file SMESH_ControlsDef.hxx.

Definition at line 352 of file SMESH_ControlsDef.hxx.

Definition at line 548 of file SMESH_ControlsDef.hxx.

Definition at line 778 of file SMESH_ControlsDef.hxx.


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