Code_TYMPAN  4.4.0
Industrial site acoustic simulation
List of all members
TYSurfaceInterface Class Referenceabstract

#include <TYSurfaceInterface.h>

Inheritance diagram for TYSurfaceInterface:
Inheritance graph
[legend]

Public Member Functions

Construction et Destruction
 TYSurfaceInterface ()
 
virtual ~TYSurfaceInterface ()
 
Interface Surface
virtual double surface () const =0
 
virtual OVector3D normal () const =0
 
virtual OPlan plan () const =0
 
virtual TYTabPoint getContour (int n=-1) const =0
 
virtual TYTabPoint3D getOContour (int n=-1) const =0
 
virtual int intersects (const OPoint3D &pt) const =0
 
virtual int intersects (const OSegment3D &seg, OPoint3D &pt) const =0
 
virtual int intersects (const TYSurfaceInterface *pSurf, OSegment3D &seg) const
 
virtual int intersectsPlan (const OPlan &plan, OSegment3D &seg) const
 
virtual void inverseNormale ()
 
virtual void exportMesh (std::deque< OPoint3D > &points, std::deque< OTriangle > &triangles, const TYGeometryNode &geonode) const
 Exports the surface as a triangular mesh inglobal reference frame. More...
 

Detailed Description

Classe abstraite qui offre une interface utilisable par des composants ayant des proprietes geometriques surfaciques.

Definition at line 35 of file TYSurfaceInterface.h.

Constructor & Destructor Documentation

◆ TYSurfaceInterface()

TYSurfaceInterface::TYSurfaceInterface ( )
inline

Constructeur par defaut.

Definition at line 47 of file TYSurfaceInterface.h.

◆ ~TYSurfaceInterface()

virtual TYSurfaceInterface::~TYSurfaceInterface ( )
inlinevirtual

Destructeur.

Definition at line 51 of file TYSurfaceInterface.h.

Member Function Documentation

◆ exportMesh()

void TYSurfaceInterface::exportMesh ( std::deque< OPoint3D > &  points,
std::deque< OTriangle > &  triangles,
const TYGeometryNode geonode 
) const
virtual

Exports the surface as a triangular mesh inglobal reference frame.

NB : This function expect empty deques and will clear the deque passed.

This method is semantically PURE virtual and should actually be, but the OPROTO system does not permit that. This is a dirty workaround.

Parameters
pointsoutput argument filled with the vertices of the triangulation
trianglesoutput argument filled with the faces of the triangulation
geonodenode associƩ

Reimplemented in TYRectangle, TYPolygon, TYAcousticSemiCircle, TYAcousticRectangle, TYAcousticPolygon, and TYAcousticCircle.

Definition at line 135 of file TYSurfaceInterface.cpp.

◆ getContour()

virtual TYTabPoint TYSurfaceInterface::getContour ( int  n = -1) const
pure virtual

Retourne un tableau de points correspondant au contour de cette surface.

Parameters
nLe nombre de portion pour le decoupage. Si n=-1, n sera calcule a partir de la precision de distance definie par defaut. Pour certaine surface, le nombre de portion demande ne sera pas forcement le nombre de points obtenus.
Returns
Un tableau de points representant le contour de cette surface.

Implemented in TYRectangle, TYPolygon, TYAcousticSurfaceNode, TYAcousticSurface, TYAcousticSemiCircle, TYAcousticRectangle, TYAcousticPolygon, and TYAcousticCircle.

◆ getOContour()

virtual TYTabPoint3D TYSurfaceInterface::getOContour ( int  n = -1) const
pure virtual

◆ intersects() [1/3]

virtual int TYSurfaceInterface::intersects ( const OPoint3D pt) const
pure virtual

Test si le point se trouve a l'interieur de la surface, sur le meme plan.

Parameters
ptLe point pour lequel on effectue le test.
Returns
INTERS_OUI (1) si le point est a l'interieur de la surface, INTERS_NULLE (0) si le point est a l'exterieur de la surface.

Implemented in TYRectangle, TYPolygon, TYAcousticSurfaceNode, TYAcousticSurface, TYAcousticSemiCircle, TYAcousticPolygon, and TYAcousticCircle.

Here is the caller graph for this function:

◆ intersects() [2/3]

virtual int TYSurfaceInterface::intersects ( const OSegment3D seg,
OPoint3D pt 
) const
pure virtual

Calcule le point d'intersection avec un segment.

Parameters
segLe segment dont on cherche l'intersection.
ptLe point resultant de l'intersection.
Returns
INTERS_OUI (1) si l'intersection existe, INTERS_CONFONDU (2) si les elements sont confondus, INTERS_NULLE (0) s'il n'y a pas d'intersection.

Implemented in TYMurElement, TYMur, TYRectangle, TYPolygon, TYAcousticSurfaceNode, TYAcousticSurface, TYAcousticSemiCircle, TYAcousticRectangle, TYAcousticPolygon, and TYAcousticCircle.

◆ intersects() [3/3]

int TYSurfaceInterface::intersects ( const TYSurfaceInterface pSurf,
OSegment3D seg 
) const
virtual

Calcule le segment d'intersection avec une autre surface.

Parameters
pSurfLa surface dont on cherche l'intersection.
segLe segment resultant de l'intersection.
Returns
INTERS_OUI (1) si l'intersection existe, INTERS_CONFONDU (2) si les elements sont confondus, INTERS_NULLE (0) s'il n'y a pas d'intersection.

Reimplemented in TYMurElement, TYMur, TYRectangle, TYPolygon, TYAcousticSurfaceNode, TYAcousticSurface, TYAcousticSemiCircle, TYAcousticRectangle, TYAcousticPolygon, and TYAcousticCircle.

Definition at line 23 of file TYSurfaceInterface.cpp.

Here is the call graph for this function:

◆ intersectsPlan()

int TYSurfaceInterface::intersectsPlan ( const OPlan plan,
OSegment3D seg 
) const
virtual

Calcule le segment d'intersection entre cette surface et un plan.

Parameters
planLa surface dont on cherche l'intersection.
segLe segment resultant de l'intersection.
Returns
INTERS_OUI (1) si l'intersection existe, INTERS_CONFONDU (2) si les elements sont confondus, INTERS_NULLE (0) s'il n'y a pas d'intersection.

Definition at line 94 of file TYSurfaceInterface.cpp.

Here is the call graph for this function:

◆ inverseNormale()

virtual void TYSurfaceInterface::inverseNormale ( )
inlinevirtual

Inverse la normale a la surface

Reimplemented in TYRectangle, TYPolygon, TYAcousticRectangle, and TYAcousticPolygon.

Definition at line 142 of file TYSurfaceInterface.h.

Here is the caller graph for this function:

◆ normal()

virtual OVector3D TYSurfaceInterface::normal ( ) const
pure virtual

◆ plan()

virtual OPlan TYSurfaceInterface::plan ( ) const
pure virtual

Calcule le plan dans lequel cette surface est inscrit.

Implemented in TYRectangle, TYPolygon, TYAcousticSurfaceNode, TYAcousticSurface, TYAcousticSemiCircle, TYAcousticRectangle, TYAcousticPolygon, and TYAcousticCircle.

Here is the caller graph for this function:

◆ surface()

virtual double TYSurfaceInterface::surface ( ) const
pure virtual

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