Points&Forces (survey)
Software tools facilitating the task of surveying architecture
|
#include <a_face.h>
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_block * | block () |
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_wrench * | fp () |
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_face * | lface () const |
get connected face More... | |
a_block * | lblock () 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_block * | block_ |
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_wrench * | f_ |
force on the face More... | |
bool | f_original_ |
a_face * | lface_ |
face in contact More... | |
a_fcriteria * | criteria_ |
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) |
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
a_face::a_face | ( | ) |
Definition at line 24 of file a_face.cxx.
a_face::a_face | ( | a_block * | b, |
int | ref_face | ||
) |
Definition at line 32 of file a_face.cxx.
|
virtual |
double a_face::ax | ( | ) | const |
get angle of incidence in xn plane
Definition at line 386 of file a_face.cxx.
double a_face::ay | ( | ) | const |
get angle of incidence in yn plane
Definition at line 393 of file a_face.cxx.
|
inline |
a_point a_face::c | ( | ) | const |
centre of mass (in world coordinate)
Definition at line 311 of file a_face.cxx.
|
pure virtual |
centre of mass (in local system)
Implemented in a_face_2d4.
|
virtual |
set force to 0
Definition at line 48 of file a_face.cxx.
|
protected |
clear the object
|
pure virtual |
return common surface of contact
Implemented in a_face_2d4.
|
pure virtual |
return point of contact if faces just touch by one point
Implemented in a_face_2d4.
|
pure virtual |
return edge of contact if faces touch by one edge: hinge
Implemented in a_face_2d4.
|
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.
|
inline |
void a_face::deform | ( | const unsigned short & | i, |
const double & | val | ||
) |
slide a given edge
Definition at line 228 of file a_face.cxx.
double a_face::dx | ( | ) | const |
Definition at line 177 of file a_face.cxx.
double a_face::dxM | ( | ) | const |
distance from center to max x
Definition at line 124 of file a_face.cxx.
double a_face::dxm | ( | ) | const |
distance from center to min x
Definition at line 138 of file a_face.cxx.
double a_face::dy | ( | ) | const |
Definition at line 182 of file a_face.cxx.
|
virtual |
distance from center to max y
Reimplemented in a_face_2d4.
Definition at line 151 of file a_face.cxx.
|
virtual |
distance from center to min y
Reimplemented in a_face_2d4.
Definition at line 164 of file a_face.cxx.
|
inline |
double a_face::exn | ( | ) | const |
excentricity in normal direction (should be 0)
Definition at line 460 of file a_face.cxx.
double a_face::exx | ( | ) | const |
excentricity in x direction
Definition at line 432 of file a_face.cxx.
double a_face::exx | ( | const a_wrench & | f | ) | const |
double a_face::exy | ( | ) | const |
excentricity in y direction
Definition at line 446 of file a_face.cxx.
double a_face::exy | ( | const a_wrench & | f | ) | const |
|
inline |
void a_face::f | ( | a_wrench * | f | ) |
set force on the face
Definition at line 263 of file a_face.cxx.
void a_face::f | ( | const a_point & | f | ) |
set force on the face
Definition at line 316 of file a_face.cxx.
|
inline |
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.
|
inline |
|
pure virtual |
grow the face centered on middle point
Implemented in a_face_2d4.
|
static |
get information about the class
Definition at line 54 of file a_face.cxx.
a_point a_face::hinge | ( | ) | const |
hinge opening: rotation vector
Definition at line 475 of file a_face.cxx.
|
inline |
a_block * a_face::lblock | ( | ) | const |
get connected block
Definition at line 467 of file a_face.cxx.
|
inline |
|
inline |
|
virtual |
get torque on the face
Definition at line 352 of file a_face.cxx.
|
virtual |
get torque on the face
Definition at line 358 of file a_face.cxx.
|
virtual |
|
virtual |
get torque on the face
Definition at line 372 of file a_face.cxx.
|
virtual |
|
virtual |
get normal force on the face
Definition at line 328 of file a_face.cxx.
|
virtual |
|
pure virtual |
normal to the face (in world coordinate)
Implemented in a_face_2d4.
|
virtual |
return the edge normal
Definition at line 187 of file a_face.cxx.
|
inline |
|
pure virtual |
direction of face (in world coordinate)
Implemented in a_face_2d4.
|
pure virtual |
normal to the vertices of the block (in world coordinate)
Implemented in a_face_2d4.
bool a_face::ok | ( | ) | const |
check if forces on face are acceptable
Definition at line 245 of file a_face.cxx.
|
inline |
double a_face::penalty | ( | ) | const |
penalty value used for optimization
Definition at line 254 of file a_face.cxx.
|
pure virtual |
plane defined by face
Implemented in a_face_2d4.
|
virtual |
get point on face given excentricities
Definition at line 212 of file a_face.cxx.
|
virtual |
get shear force on the face
Definition at line 340 of file a_face.cxx.
|
virtual |
get shear force on the face
Definition at line 346 of file a_face.cxx.
|
virtual |
|
inline |
int a_face::rv | ( | const int | i | ) | const |
get vertex reference
Definition at line 294 of file a_face.cxx.
|
pure virtual |
|
virtual |
slide the face in its plane
Reimplemented in a_face_2d4.
Definition at line 217 of file a_face.cxx.
double a_face::Sx | ( | ) | const |
projection of surface perp to x (in world coordinate)
Definition at line 271 of file a_face.cxx.
double a_face::Sy | ( | ) | const |
projection of surface perp to y (in world coordinate)
Definition at line 277 of file a_face.cxx.
double a_face::Sz | ( | ) | const |
projection of surface perp to z (in world coordinate)
Definition at line 283 of file a_face.cxx.
a_point a_face::v | ( | const int | i | ) | const |
get vertex (in world coordinate)
Definition at line 289 of file a_face.cxx.
a_point a_face::vc | ( | const int | i | ) | const |
vertex (relative to centre of gravity)
Definition at line 119 of file a_face.cxx.
a_point * a_face::vl | ( | const int | i | ) |
get vertex (in local coordinate)
Definition at line 301 of file a_face.cxx.
a_point * a_face::vl | ( | const int | i | ) | const |
|
virtual |
Definition at line 505 of file a_face.cxx.
|
virtual |
application point of f on face
Definition at line 400 of file a_face.cxx.
|
virtual |
|
friend |
Definition at line 519 of file a_face.cxx.
|
friend |
: input/output
Definition at line 513 of file a_face.cxx.
|
protected |
|
protected |
|
protected |