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
 
OVector3D normalInRefCoordSystem (const TYGeometryNode &refCoordSystem) const
 Compute the normal to the surface in a given reference coordinate system. More...
 
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 in global reference coordinate system. More...
 
virtual double getVerticalExtensionInRefCoordSystem (const TYGeometryNode &refCoordSystem) const
 Compute the vertical extension of the surface in a given reference coordinate system. The vertical extension is the height of the bounding box of the surface in the reference coordinate system. More...
 
virtual double getHorizontalExtensionInRefCoordSystem (const TYGeometryNode &refCoordSystem) const
 Compute the horizontal extension of the surface in a given reference coordinate system. For a non-horizontal surface: the horizontal extension is the width of the surface in the horizontal tangential direction of the surface. For a horizontal surface: undefined. More...
 

Detailed Description

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

Definition at line 36 of file TYSurfaceInterface.h.

Constructor & Destructor Documentation

◆ TYSurfaceInterface()

TYSurfaceInterface::TYSurfaceInterface ( )
inline

Constructeur par defaut.

Definition at line 48 of file TYSurfaceInterface.h.

◆ ~TYSurfaceInterface()

virtual TYSurfaceInterface::~TYSurfaceInterface ( )
inlinevirtual

Destructeur.

Definition at line 52 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 in global reference coordinate system.

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.

◆ getHorizontalExtensionInRefCoordSystem()

virtual double TYSurfaceInterface::getHorizontalExtensionInRefCoordSystem ( const TYGeometryNode refCoordSystem) const
inlinevirtual

Compute the horizontal extension of the surface in a given reference coordinate system. For a non-horizontal surface: the horizontal extension is the width of the surface in the horizontal tangential direction of the surface. For a horizontal surface: undefined.

Parameters
refCoordSystema geometry node representing the reference coordinate system
Returns
the horizontal extension of the surface in the reference coordinate system

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

Definition at line 196 of file TYSurfaceInterface.h.

◆ getOContour()

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

◆ getVerticalExtensionInRefCoordSystem()

virtual double TYSurfaceInterface::getVerticalExtensionInRefCoordSystem ( const TYGeometryNode refCoordSystem) const
inlinevirtual

Compute the vertical extension of the surface in a given reference coordinate system. The vertical extension is the height of the bounding box of the surface in the reference coordinate system.

Parameters
refCoordSystema geometry node representing the reference coordinate system
Returns
the vertical extension of the surface in the reference reference coordinate system

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

Definition at line 182 of file TYSurfaceInterface.h.

◆ 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 154 of file TYSurfaceInterface.h.

Here is the caller graph for this function:

◆ normal()

virtual OVector3D TYSurfaceInterface::normal ( ) const
pure virtual

Calcule la normale a cette surface.

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

Here is the caller graph for this function:

◆ normalInRefCoordSystem()

OVector3D TYSurfaceInterface::normalInRefCoordSystem ( const TYGeometryNode refCoordSystem) const
inline

Compute the normal to the surface in a given reference coordinate system.

Parameters
refCoordSystema geometry node representing the reference coordinate system
Returns
the normal of the surface in the reference reference coordinate system

Definition at line 77 of file TYSurfaceInterface.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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: