Points&Forces (survey)
Software tools facilitating the task of surveying architecture
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
a_face Class Referenceabstract

#include <a_face.h>

+ Inheritance diagram for a_face:
+ Collaboration diagram for a_face:

Classes

class  bad_contact_type_error
 
class  bad_indexing_error
 
class  no_contact_error
 

Public Member Functions

 a_face ()
 
 a_face (a_block *b, int ref_face)
 
virtual ~a_face ()
 
int nv () const
 get number of vertices More...
 
void av (int ref)
 add a vertex reference More...
 
int rv (const int i) const
 get vertex reference More...
 
int rf () const
 get face reference in connected block More...
 
a_blockblock ()
 get block More...
 
a_point v (const int i) const
 get vertex (in world coordinate) More...
 
a_point * vl (const int i)
 get vertex (in local coordinate) More...
 
a_point * vl (const int i) const
 
a_point vc (const int i) const
 vertex (relative to centre of gravity) More...
 
a_point c () const
 centre of mass (in world coordinate) More...
 
virtual a_point cl () const =0
 centre of mass (in local system) More...
 
virtual void grow (const double &val)=0
 grow the face centered on middle point More...
 
virtual a_point normale (const unsigned short i)
 return the edge normal More...
 
virtual a_point point (const double &u, const double &v=0.) const
 get point on face given excentricities More...
 
virtual void slide (const double &u, const double &v)
 slide the face in its plane More...
 
void deform (const unsigned short &i, const double &val)
 slide a given edge More...
 
void exit (bool exit)
 set as an exit face More...
 
bool exit () const
 
virtual double S () const =0
 Surface. More...
 
double Sx () const
 projection of surface perp to x (in world coordinate) More...
 
double Sy () const
 projection of surface perp to y (in world coordinate) More...
 
double Sz () const
 projection of surface perp to z (in world coordinate) More...
 
virtual a_point nx () const =0
 direction of face (in world coordinate) More...
 
virtual a_point ny () const =0
 normal to the vertices of the block (in world coordinate) More...
 
virtual a_point normal () const =0
 normal to the face (in world coordinate) More...
 
double dxM () const
 distance from center to max x More...
 
double dxm () const
 distance from center to min x More...
 
virtual double dyM () const
 distance from center to max y More...
 
virtual double dym () const
 distance from center to min y More...
 
double dx () const
 
double dy () const
 
virtual a_plane plane () const =0
 plane defined by face More...
 
virtual double N () const
 get normal force on the face More...
 
virtual double N (const a_wrench &) const
 
virtual double Qx () const
 get shear force on the face More...
 
virtual double Qy () const
 get shear force on the face More...
 
virtual double Mt () const
 get torque on the face More...
 
virtual double Mx () const
 get torque on the face More...
 
virtual double Mx (const a_wrench &) const
 
virtual double My () const
 get torque on the face More...
 
virtual double My (const a_wrench &) const
 
double ax () const
 get angle of incidence in xn plane More...
 
double ay () const
 get angle of incidence in yn plane More...
 
virtual a_point x () const
 application point of f on face More...
 
virtual a_point x (const a_wrench &) const
 
double exx () const
 excentricity in x direction More...
 
double exx (const a_wrench &) const
 
double exy () const
 excentricity in y direction More...
 
double exy (const a_wrench &) const
 
double exn () const
 excentricity in normal direction (should be 0) More...
 
void f (const a_wrench &f)
 set force on the face More...
 
void f (a_wrench *f)
 set force on the face More...
 
void f (const a_point &f)
 set force on the face More...
 
void f (const double fx, const double fy, const double fz)
 set force on the face More...
 
a_wrench f () const
 get force on the face More...
 
a_wrenchfp ()
 get point of the force on the face More...
 
virtual void clear ()
 set force to 0 More...
 
void criteria (a_fcriteria *criteria)
 set resistance criteria More...
 
bool ok () const
 check if forces on face are acceptable More...
 
double penalty () const
 penalty value used for optimization More...
 
void lface (a_face *f)
 set connected face More...
 
a_facelface () const
 get connected face More...
 
a_blocklblock () const
 get connected block More...
 
bool in () const
 face is connected to other faces, inside the structure More...
 
bool out () const
 face is not connected to other faces, on the boudary More...
 
a_point hinge () const
 hinge opening: rotation vector More...
 
virtual int contacttype () const =0
 contact type: (-2: no sister face, -1: not touching, 2: plane contact, 1: edge contact, 0: point contact) More...
 
virtual a_point contactpoint () const =0
 return point of contact if faces just touch by one point More...
 
virtual a_segment contactsegment () const =0
 return edge of contact if faces touch by one edge: hinge More...
 
virtual a_contact contactface () const =0
 return common surface of contact More...
 
virtual void read (std::istream &i)
 
virtual void write (std::ostream &o) const
 

Static Public Member Functions

static const std::string help ()
 get information about the class More...
 

Protected Member Functions

void clear0 ()
 clear the object More...
 

Protected Attributes

a_blockblock_
 block to which the face belongs More...
 
int ref_
 reference of face in a_block More...
 
std::vector< int > r_vertices_
 references to the points of the block defining the face More...
 
bool exit_face_
 
a_wrenchf_
 force on the face More...
 
bool f_original_
 
a_facelface_
 face in contact More...
 
a_fcriteriacriteria_
 resistance criteria More...
 

Friends

std::istream & operator>> (std::istream &i, a_face &b)
 : input/output More...
 
std::ostream & operator<< (std::ostream &o, const a_face &b)
 

Detailed Description

a_face are the faces of the blocks, connecting them to other blocks or to external forces, they are the elements for which resistance criterions are set

Definition at line 32 of file a_face.h.

Constructor & Destructor Documentation

◆ a_face() [1/2]

a_face::a_face ( )

Definition at line 24 of file a_face.cxx.

◆ a_face() [2/2]

a_face::a_face ( a_block b,
int  ref_face 
)

Definition at line 32 of file a_face.cxx.

◆ ~a_face()

a_face::~a_face ( )
virtual

Definition at line 41 of file a_face.cxx.

+ Here is the call graph for this function:

Member Function Documentation

◆ av()

void a_face::av ( int  ref)
inline

add a vertex reference

Definition at line 43 of file a_face.h.

◆ ax()

double a_face::ax ( ) const

get angle of incidence in xn plane

Definition at line 386 of file a_face.cxx.

+ Here is the call graph for this function:

◆ ay()

double a_face::ay ( ) const

get angle of incidence in yn plane

Definition at line 393 of file a_face.cxx.

+ Here is the call graph for this function:

◆ block()

a_block* a_face::block ( )
inline

get block

Definition at line 49 of file a_face.h.

+ Here is the caller graph for this function:

◆ c()

a_point a_face::c ( ) const

centre of mass (in world coordinate)

Definition at line 311 of file a_face.cxx.

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

◆ cl()

virtual a_point a_face::cl ( ) const
pure virtual

centre of mass (in local system)

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ clear()

void a_face::clear ( )
virtual

set force to 0

Definition at line 48 of file a_face.cxx.

+ Here is the caller graph for this function:

◆ clear0()

void a_face::clear0 ( )
protected

clear the object

◆ contactface()

virtual a_contact a_face::contactface ( ) const
pure virtual

return common surface of contact

Implemented in a_face_2d4.

◆ contactpoint()

virtual a_point a_face::contactpoint ( ) const
pure virtual

return point of contact if faces just touch by one point

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ contactsegment()

virtual a_segment a_face::contactsegment ( ) const
pure virtual

return edge of contact if faces touch by one edge: hinge

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ contacttype()

virtual int a_face::contacttype ( ) const
pure virtual

contact type: (-2: no sister face, -1: not touching, 2: plane contact, 1: edge contact, 0: point contact)

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ criteria()

void a_face::criteria ( a_fcriteria criteria)
inline

set resistance criteria

Definition at line 147 of file a_face.h.

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

◆ deform()

void a_face::deform ( const unsigned short &  i,
const double &  val 
)

slide a given edge

Definition at line 228 of file a_face.cxx.

+ Here is the call graph for this function:

◆ dx()

double a_face::dx ( ) const

Definition at line 177 of file a_face.cxx.

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

◆ dxM()

double a_face::dxM ( ) const

distance from center to max x

Definition at line 124 of file a_face.cxx.

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

◆ dxm()

double a_face::dxm ( ) const

distance from center to min x

Definition at line 138 of file a_face.cxx.

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

◆ dy()

double a_face::dy ( ) const

Definition at line 182 of file a_face.cxx.

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

◆ dyM()

double a_face::dyM ( ) const
virtual

distance from center to max y

Reimplemented in a_face_2d4.

Definition at line 151 of file a_face.cxx.

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

◆ dym()

double a_face::dym ( ) const
virtual

distance from center to min y

Reimplemented in a_face_2d4.

Definition at line 164 of file a_face.cxx.

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

◆ exit() [1/2]

bool a_face::exit ( ) const
inline

Definition at line 73 of file a_face.h.

◆ exit() [2/2]

void a_face::exit ( bool  exit)
inline

set as an exit face

Definition at line 72 of file a_face.h.

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

◆ exn()

double a_face::exn ( ) const

excentricity in normal direction (should be 0)

Definition at line 460 of file a_face.cxx.

+ Here is the call graph for this function:

◆ exx() [1/2]

double a_face::exx ( ) const

excentricity in x direction

Definition at line 432 of file a_face.cxx.

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

◆ exx() [2/2]

double a_face::exx ( const a_wrench f) const

Definition at line 439 of file a_face.cxx.

+ Here is the call graph for this function:

◆ exy() [1/2]

double a_face::exy ( ) const

excentricity in y direction

Definition at line 446 of file a_face.cxx.

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

◆ exy() [2/2]

double a_face::exy ( const a_wrench f) const

Definition at line 453 of file a_face.cxx.

+ Here is the call graph for this function:

◆ f() [1/5]

a_wrench a_face::f ( ) const
inline

get force on the face

Definition at line 141 of file a_face.h.

+ Here is the caller graph for this function:

◆ f() [2/5]

void a_face::f ( a_wrench f)

set force on the face

Definition at line 263 of file a_face.cxx.

+ Here is the call graph for this function:

◆ f() [3/5]

void a_face::f ( const a_point &  f)

set force on the face

Definition at line 316 of file a_face.cxx.

+ Here is the call graph for this function:

◆ f() [4/5]

void a_face::f ( const a_wrench f)
inline

set force on the face

Definition at line 133 of file a_face.h.

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

◆ f() [5/5]

void a_face::f ( const double  fx,
const double  fy,
const double  fz 
)

set force on the face

Definition at line 322 of file a_face.cxx.

+ Here is the call graph for this function:

◆ fp()

a_wrench* a_face::fp ( )
inline

get point of the force on the face

Definition at line 143 of file a_face.h.

◆ grow()

virtual void a_face::grow ( const double &  val)
pure virtual

grow the face centered on middle point

Implemented in a_face_2d4.

◆ help()

const std::string a_face::help ( )
static

get information about the class

Definition at line 54 of file a_face.cxx.

+ Here is the caller graph for this function:

◆ hinge()

a_point a_face::hinge ( ) const

hinge opening: rotation vector

Definition at line 475 of file a_face.cxx.

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

◆ in()

bool a_face::in ( ) const
inline

face is connected to other faces, inside the structure

Definition at line 159 of file a_face.h.

+ Here is the caller graph for this function:

◆ lblock()

a_block * a_face::lblock ( ) const

get connected block

Definition at line 467 of file a_face.cxx.

+ Here is the call graph for this function:

◆ lface() [1/2]

a_face* a_face::lface ( ) const
inline

get connected face

Definition at line 155 of file a_face.h.

+ Here is the caller graph for this function:

◆ lface() [2/2]

void a_face::lface ( a_face f)
inline

set connected face

Definition at line 153 of file a_face.h.

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

◆ Mt()

double a_face::Mt ( ) const
virtual

get torque on the face

Definition at line 352 of file a_face.cxx.

+ Here is the call graph for this function:

◆ Mx() [1/2]

double a_face::Mx ( ) const
virtual

get torque on the face

Definition at line 358 of file a_face.cxx.

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

◆ Mx() [2/2]

double a_face::Mx ( const a_wrench f) const
virtual

Definition at line 365 of file a_face.cxx.

+ Here is the call graph for this function:

◆ My() [1/2]

double a_face::My ( ) const
virtual

get torque on the face

Definition at line 372 of file a_face.cxx.

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

◆ My() [2/2]

double a_face::My ( const a_wrench f) const
virtual

Definition at line 379 of file a_face.cxx.

+ Here is the call graph for this function:

◆ N() [1/2]

double a_face::N ( ) const
virtual

get normal force on the face

Definition at line 328 of file a_face.cxx.

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

◆ N() [2/2]

double a_face::N ( const a_wrench fe) const
virtual

Definition at line 334 of file a_face.cxx.

+ Here is the call graph for this function:

◆ normal()

virtual a_point a_face::normal ( ) const
pure virtual

normal to the face (in world coordinate)

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ normale()

a_point a_face::normale ( const unsigned short  i)
virtual

return the edge normal

Definition at line 187 of file a_face.cxx.

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

◆ nv()

int a_face::nv ( ) const
inline

get number of vertices

Definition at line 41 of file a_face.h.

+ Here is the caller graph for this function:

◆ nx()

virtual a_point a_face::nx ( ) const
pure virtual

direction of face (in world coordinate)

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ ny()

virtual a_point a_face::ny ( ) const
pure virtual

normal to the vertices of the block (in world coordinate)

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ ok()

bool a_face::ok ( ) const

check if forces on face are acceptable

Definition at line 245 of file a_face.cxx.

+ Here is the call graph for this function:

◆ out()

bool a_face::out ( ) const
inline

face is not connected to other faces, on the boudary

Definition at line 161 of file a_face.h.

+ Here is the caller graph for this function:

◆ penalty()

double a_face::penalty ( ) const

penalty value used for optimization

Definition at line 254 of file a_face.cxx.

+ Here is the call graph for this function:

◆ plane()

virtual a_plane a_face::plane ( ) const
pure virtual

plane defined by face

Implemented in a_face_2d4.

◆ point()

a_point a_face::point ( const double &  u,
const double &  v = 0. 
) const
virtual

get point on face given excentricities

Definition at line 212 of file a_face.cxx.

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

◆ Qx()

double a_face::Qx ( ) const
virtual

get shear force on the face

Definition at line 340 of file a_face.cxx.

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

◆ Qy()

double a_face::Qy ( ) const
virtual

get shear force on the face

Definition at line 346 of file a_face.cxx.

+ Here is the call graph for this function:

◆ read()

void a_face::read ( std::istream &  i)
virtual

Definition at line 492 of file a_face.cxx.

+ Here is the call graph for this function:

◆ rf()

int a_face::rf ( ) const
inline

get face reference in connected block

Definition at line 47 of file a_face.h.

+ Here is the caller graph for this function:

◆ rv()

int a_face::rv ( const int  i) const

get vertex reference

Definition at line 294 of file a_face.cxx.

+ Here is the caller graph for this function:

◆ S()

virtual double a_face::S ( ) const
pure virtual

Surface.

Implemented in a_face_2d4.

+ Here is the caller graph for this function:

◆ slide()

void a_face::slide ( const double &  u,
const double &  v 
)
virtual

slide the face in its plane

Reimplemented in a_face_2d4.

Definition at line 217 of file a_face.cxx.

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

◆ Sx()

double a_face::Sx ( ) const

projection of surface perp to x (in world coordinate)

Definition at line 271 of file a_face.cxx.

+ Here is the call graph for this function:

◆ Sy()

double a_face::Sy ( ) const

projection of surface perp to y (in world coordinate)

Definition at line 277 of file a_face.cxx.

+ Here is the call graph for this function:

◆ Sz()

double a_face::Sz ( ) const

projection of surface perp to z (in world coordinate)

Definition at line 283 of file a_face.cxx.

+ Here is the call graph for this function:

◆ v()

a_point a_face::v ( const int  i) const

get vertex (in world coordinate)

Definition at line 289 of file a_face.cxx.

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

◆ vc()

a_point a_face::vc ( const int  i) const

vertex (relative to centre of gravity)

Definition at line 119 of file a_face.cxx.

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

◆ vl() [1/2]

a_point * a_face::vl ( const int  i)

get vertex (in local coordinate)

Definition at line 301 of file a_face.cxx.

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

◆ vl() [2/2]

a_point * a_face::vl ( const int  i) const

Definition at line 306 of file a_face.cxx.

+ Here is the call graph for this function:

◆ write()

void a_face::write ( std::ostream &  o) const
virtual

Definition at line 505 of file a_face.cxx.

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

◆ x() [1/2]

a_point a_face::x ( ) const
virtual

application point of f on face

Definition at line 400 of file a_face.cxx.

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

◆ x() [2/2]

a_point a_face::x ( const a_wrench f) const
virtual

Definition at line 416 of file a_face.cxx.

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  o,
const a_face b 
)
friend

Definition at line 519 of file a_face.cxx.

◆ operator>>

std::istream& operator>> ( std::istream &  i,
a_face b 
)
friend

: input/output

Definition at line 513 of file a_face.cxx.

Member Data Documentation

◆ block_

a_block* a_face::block_
protected

block to which the face belongs

Definition at line 186 of file a_face.h.

◆ criteria_

a_fcriteria* a_face::criteria_
protected

resistance criteria

Definition at line 198 of file a_face.h.

◆ exit_face_

bool a_face::exit_face_
protected

Definition at line 191 of file a_face.h.

◆ f_

a_wrench* a_face::f_
protected

force on the face

Definition at line 193 of file a_face.h.

◆ f_original_

bool a_face::f_original_
protected

Definition at line 194 of file a_face.h.

◆ lface_

a_face* a_face::lface_
protected

face in contact

Definition at line 196 of file a_face.h.

◆ r_vertices_

std::vector<int> a_face::r_vertices_
protected

references to the points of the block defining the face

Definition at line 190 of file a_face.h.

◆ ref_

int a_face::ref_
protected

reference of face in a_block

Definition at line 188 of file a_face.h.


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