Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Sphere Class Reference

Sphere Shape. More...

#include <Sphere.h>

Inheritance diagram for Sphere:
Inheritance graph
[legend]
Collaboration diagram for Sphere:
Collaboration graph
[legend]

Public Member Functions

 Sphere ()
 Constructor, the Sphere is located at (0,0,0) with a radius 0. More...
 
 Sphere (vec3 pos, decimal r)
 Constructor with the position pos and the radius r of the sphere. More...
 
 Sphere (Sphere *other)
 Copy constructor from a pointed sphere. More...
 
virtual ShapeClone ()
 Return a pointer to this sphere. More...
 
 Sphere (const Sphere &other)
 Copy constructor. More...
 
virtual bool getIntersection (Ray &ray, Intersection &inter)
 Check if a ray intersect this sphere. More...
 
void setRadius (decimal _radius)
 Set the radius of the sphere. More...
 
decimal getRadius ()
 Get the radius of the sphere. More...
 
void setPosition (const vec3 &_position)
 Set the center of the sphere. More...
 
vec3 getPosition ()
 Get the position (center) of the sphere. More...
 
virtual int form ()
 Return type of the shape. More...
 
- Public Member Functions inherited from Shape
 Shape ()
 Default constructor. More...
 
 Shape (const std::string _name)
 Constructor by giving a name to the Shape. More...
 
 Shape (Shape *other)
 Copy constructor. More...
 
virtual ~Shape ()
 Destructor. More...
 
 Shape (const Shape &other)
 Copy constructor. More...
 
MaterialgetMaterial ()
 Return the pointed material. More...
 
void setMaterial (Material *m)
 Set the material. More...
 
virtual void updateBBox ()
 Update the bounding box: More...
 
BBox getBBox ()
 Return the bounding box. More...
 
void setVertices (std::vector< vec3 > *_vertices)
 Set/Get global vertices. More...
 
vector< vec3 > * getVertices ()
 
vector< unsigned int > * getLocalVertices ()
 Get local vertices. More...
 
virtual bool isVisible ()
 Return visibility. More...
 
virtual vec3 getNormal (const vec3 pos=vec3())
 Get normal. More...
 
void setPrimitiveId (int id)
 Set/Get the primitive id. More...
 
int getPrimitiveId () const
 
void setFaceId (int id)
 Set/Get the face id. More...
 
int getFaceId () const
 
void setEtageId (int id)
 Set/Get the floor id. More...
 
int getEtageId ()
 
void setBuildingId (int id)
 Set/Get the building id. More...
 
int getBuildingId ()
 
virtual bool sample (decimal density, std::vector< vec3 > &samples)
 Uncommented cause not used: More...
 
bool isSol () const
 Get/Set the flag _isSol (ground or not) More...
 
void setIsSol (const bool &isSol)
 
- Public Member Functions inherited from Base
 Base ()
 Default constructor. More...
 
 Base (const Base &other)
 Copy constructor. More...
 
virtual ~Base ()
 Destructor. More...
 
std::string getName ()
 Get the name of the object. More...
 
void setName (const std::string &_name)
 Set the name of the object. More...
 

Protected Member Functions

void setBBox ()
 

Protected Attributes

vec3 position
 Center of the sphere. More...
 
decimal radius
 Radius of the sphere. More...
 
- Protected Attributes inherited from Shape
BBox box
 Bounding box of the shape. More...
 
Materialmaterial
 Pointer to material. More...
 
std::vector< vec3 > * vertices
 GlobalVertices of the scene. More...
 
std::vector< unsigned int > localVertices
 Index of the vertices used for this shape. More...
 
int primitiveId
 Index of the primitive (given by the scene) More...
 
int faceId
 Index of the face supporting the primitive. More...
 
int buildingId
 Index of the building supporting the primitive (-1 if none) More...
 
int etageId
 Index of the floor (etage) supporting the primitive (-1 if none) More...
 
bool _isSol
 Triangle type (false = non natural, true = ground) More...
 
- Protected Attributes inherited from Base
std::string name
 Each instantiated object may be named. More...
 

Detailed Description

Sphere Shape.

Definition at line 24 of file Sphere.h.

Constructor & Destructor Documentation

◆ Sphere() [1/4]

Sphere::Sphere ( )
inline

Constructor, the Sphere is located at (0,0,0) with a radius 0.

Definition at line 29 of file Sphere.h.

Here is the caller graph for this function:

◆ Sphere() [2/4]

Sphere::Sphere ( vec3  pos,
decimal  r 
)
inline

Constructor with the position pos and the radius r of the sphere.

Definition at line 35 of file Sphere.h.

Here is the call graph for this function:

◆ Sphere() [3/4]

Sphere::Sphere ( Sphere other)
inline

Copy constructor from a pointed sphere.

Definition at line 43 of file Sphere.h.

◆ Sphere() [4/4]

Sphere::Sphere ( const Sphere other)
inline

Copy constructor.

Definition at line 56 of file Sphere.h.

Member Function Documentation

◆ Clone()

virtual Shape* Sphere::Clone ( )
inlinevirtual

Return a pointer to this sphere.

Reimplemented from Shape.

Definition at line 50 of file Sphere.h.

Here is the call graph for this function:

◆ form()

virtual int Sphere::form ( )
inlinevirtual

Return type of the shape.

Reimplemented from Shape.

Definition at line 91 of file Sphere.h.

◆ getIntersection()

bool Sphere::getIntersection ( Ray ray,
Intersection inter 
)
virtual

Check if a ray intersect this sphere.

Parameters
rayThe ray
interThe intersection
Returns
True if succeeds, false if not

Reimplemented from Shape.

Definition at line 18 of file Sphere.cpp.

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

◆ getPosition()

vec3 Sphere::getPosition ( )
inline

Get the position (center) of the sphere.

Definition at line 87 of file Sphere.h.

◆ getRadius()

decimal Sphere::getRadius ( )
inline

Get the radius of the sphere.

Definition at line 76 of file Sphere.h.

◆ setBBox()

void Sphere::setBBox ( )
inlineprotected

Definition at line 100 of file Sphere.h.

Here is the caller graph for this function:

◆ setPosition()

void Sphere::setPosition ( const vec3 &  _position)
inline

Set the center of the sphere.

Definition at line 81 of file Sphere.h.

Here is the call graph for this function:

◆ setRadius()

void Sphere::setRadius ( decimal  _radius)
inline

Set the radius of the sphere.

Definition at line 70 of file Sphere.h.

Here is the call graph for this function:

Member Data Documentation

◆ position

vec3 Sphere::position
protected

Center of the sphere.

Definition at line 97 of file Sphere.h.

◆ radius

decimal Sphere::radius
protected

Radius of the sphere.

Definition at line 98 of file Sphere.h.


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