Version: 6.3.1
Public Member Functions | Private Attributes

StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor Class Reference

Class emulating geometry of a hirizontal edge. More...

Inheritance diagram for StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor:
Inheritance graph
[legend]

Public Member Functions

 THorizontalEdgeAdaptor (const TSideFace *sideFace, const bool isTop)
gp_Pnt Value (const Standard_Real U) const
 Return coordinates for the given normalized parameter.
Standard_Real FirstParameter () const
Standard_Real LastParameter () const
void dumpNodes (int nbNodes) const
 Dump ids of <nbNodes> first nodes and the last one.

Private Attributes

const TSideFacemySide
double myV

Detailed Description

Class emulating geometry of a hirizontal edge.

Definition at line 328 of file StdMeshers_Prism_3D.hxx.


Constructor & Destructor Documentation

StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor.THorizontalEdgeAdaptor ( const TSideFace sideFace,
const bool  isTop 
)

Definition at line 333 of file StdMeshers_Prism_3D.hxx.

      :mySide(sideFace), myV( isTop ? 1.0 : 0.0 ) {}

Member Function Documentation

void StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor::dumpNodes ( int  nbNodes) const

Dump ids of <nbNodes> first nodes and the last one.

Definition at line 2400 of file StdMeshers_Prism_3D.cxx.

References StdMeshers_PrismAsBlock.TSideFace.ColumnHeight(), StdMeshers_PrismAsBlock.TSideFace.GetColumns(), StdMeshers_PrismAsBlock.TSideFace.GetComponent(), SMDS_MeshElement.GetID(), StdMeshers_PrismAsBlock.TSideFace.IsComplex(), StdMeshers_PrismAsBlock.TSideFace.IsForward(), and StdMeshers_PrismAsBlock.mySide.

Referenced by StdMeshers_PrismAsBlock.TSideFace.dumpNodes().

{
#ifdef _DEBUG_
  // Not bedugged code. Last node is sometimes incorrect
  const TSideFace* side = mySide;
  double u = 0;
  if ( mySide->IsComplex() )
    side = mySide->GetComponent(0,u);

  TParam2ColumnIt col, col2;
  TParam2ColumnMap* u2cols = side->GetColumns();
  side->GetColumns( u , col, col2 );
  
  int j, i = myV ? mySide->ColumnHeight()-1 : 0;

  const SMDS_MeshNode* n = 0;
  const SMDS_MeshNode* lastN
    = side->IsForward() ? u2cols->rbegin()->second[ i ] : u2cols->begin()->second[ i ];
  for ( j = 0; j < nbNodes && n != lastN; ++j )
  {
    n = col->second[ i ];
    cout << n->GetID() << " ";
    if ( side->IsForward() )
      ++col;
    else
      --col;
  }

  // last node
  u = 1;
  if ( mySide->IsComplex() )
    side = mySide->GetComponent(1,u);

  side->GetColumns( u , col, col2 );
  if ( n != col->second[ i ] )
    cout << col->second[ i ]->GetID();
#endif
}
Standard_Real StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor.FirstParameter ( ) const

Definition at line 336 of file StdMeshers_Prism_3D.hxx.

{ return 0; }
Standard_Real StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor.LastParameter ( ) const

Definition at line 337 of file StdMeshers_Prism_3D.hxx.

{ return 1; }
gp_Pnt StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor::Value ( const Standard_Real  U) const

Return coordinates for the given normalized parameter.

Parameters:
U- normalized parameter
Return values:
gp_Pnt- coordinates

Definition at line 2389 of file StdMeshers_Prism_3D.cxx.

References StdMeshers_PrismAsBlock.mySide.

{
  return mySide->TSideFace::Value( U, myV );
}

Field Documentation

Definition at line 330 of file StdMeshers_Prism_3D.hxx.

Definition at line 331 of file StdMeshers_Prism_3D.hxx.

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS