Points&Forces (survey)
Software tools facilitating the task of surveying architecture
|
#include <a_face_2d4.h>
Public Member Functions | |
a_face_2d4 (a_block *b, int ref_face) | |
double | thickness () const |
thickness of the face More... | |
double | length () const |
length of the face More... | |
virtual double | S () const |
Surface. More... | |
virtual a_point | cl () const |
centre of gravity of the face (in local coordinates) More... | |
a_point | v3d (const int i) const |
get vertex (world coordinate, 3D: 4 points: order v0-n, v0+n, v1+n, v1-n More... | |
a_point | nx () const |
direction of face More... | |
a_point | ny () const |
normal to the vertices of the block More... | |
a_point | normal () const |
normal to the face More... | |
double | dyM () const |
distance from center to max y More... | |
double | dym () const |
distance from center to min y More... | |
a_plane | plane () const |
plane defined by face More... | |
void | slide (const double &u, const double &v) |
slide the face in its plane More... | |
int | ptsinplane (const a_plane &p) const |
get number of points in plane More... | |
void | grow (const double &val) |
grow face More... | |
double | exrx () const |
relative excentricity in x direction (between 0 and 1) More... | |
double | exry () const |
relative excentricity in y direction (between 0 and 1) More... | |
std::vector< a_triangle > | triangles () const |
get 2 triangles defining the face More... | |
bool | contains (const a_point &p) const |
check whether a point is inside the face More... | |
a_segment | segment (const int i) const |
get segment (world coordinate) More... | |
a_segment | intersect (const a_segment &s) const |
intersection of face with a segment More... | |
virtual int | contacttype () const |
contact type: (-2: no sister face, -1: not touching, 2: plane contact, 1: edge contact, 0: point contact) More... | |
virtual a_point | contactpoint () const |
return point of contact if faces just touch by one point More... | |
virtual a_segment | contactsegment () const |
return edge of contact if faces touch by one edge: hinge More... | |
virtual a_contact | contactface () const |
return common surface of contact More... | |
Public Member Functions inherited from a_face | |
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 | 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... | |
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 |
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... | |
double | dxM () const |
distance from center to max x More... | |
double | dxm () const |
distance from center to min x More... | |
double | dx () const |
double | dy () const |
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 void | read (std::istream &i) |
virtual void | write (std::ostream &o) const |
Additional Inherited Members | |
Static Public Member Functions inherited from a_face | |
static const std::string | help () |
get information about the class More... | |
Protected Member Functions inherited from a_face | |
void | clear0 () |
clear the object More... | |
Protected Attributes inherited from a_face | |
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... | |
Definition at line 26 of file a_face_2d4.h.
|
inline |
Definition at line 29 of file a_face_2d4.h.
|
virtual |
centre of gravity of the face (in local coordinates)
Implements a_face.
Definition at line 69 of file a_face_2d4.cxx.
|
virtual |
return common surface of contact
for each segment of f1
for each triangle of f2
get intersection
for each segment of f2
for each triangle of f1
get intersection
order the segments
Implements a_face.
Definition at line 324 of file a_face_2d4.cxx.
|
virtual |
return point of contact if faces just touch by one point
get point in contact
Implements a_face.
Definition at line 263 of file a_face_2d4.cxx.
|
virtual |
return edge of contact if faces touch by one edge: hinge
set f to be a face where one of the edge is in the plane of sister face f2
intersect will throw an exception if no intersection
Implements a_face.
Definition at line 293 of file a_face_2d4.cxx.
|
virtual |
contact type: (-2: no sister face, -1: not touching, 2: plane contact, 1: edge contact, 0: point contact)
Implements a_face.
Definition at line 180 of file a_face_2d4.cxx.
bool a_face_2d4::contains | ( | const a_point & | p | ) | const |
check whether a point is inside the face
Definition at line 197 of file a_face_2d4.cxx.
|
virtual |
distance from center to max y
Reimplemented from a_face.
Definition at line 40 of file a_face_2d4.cxx.
|
virtual |
distance from center to min y
Reimplemented from a_face.
Definition at line 45 of file a_face_2d4.cxx.
double a_face_2d4::exrx | ( | ) | const |
relative excentricity in x direction (between 0 and 1)
Definition at line 151 of file a_face_2d4.cxx.
double a_face_2d4::exry | ( | ) | const |
relative excentricity in y direction (between 0 and 1)
Definition at line 156 of file a_face_2d4.cxx.
|
virtual |
grow face
Implements a_face.
Definition at line 210 of file a_face_2d4.cxx.
a_segment a_face_2d4::intersect | ( | const a_segment & | s | ) | const |
intersection of face with a segment
concatenate segments
Definition at line 222 of file a_face_2d4.cxx.
double a_face_2d4::length | ( | ) | const |
length of the face
Definition at line 50 of file a_face_2d4.cxx.
|
virtual |
normal to the face
Implements a_face.
Definition at line 133 of file a_face_2d4.cxx.
|
virtual |
direction of face
Implements a_face.
Definition at line 89 of file a_face_2d4.cxx.
|
virtual |
normal to the vertices of the block
Implements a_face.
Definition at line 113 of file a_face_2d4.cxx.
|
inlinevirtual |
plane defined by face
Implements a_face.
Definition at line 51 of file a_face_2d4.h.
int a_face_2d4::ptsinplane | ( | const a_plane & | p | ) | const |
get number of points in plane
Definition at line 140 of file a_face_2d4.cxx.
|
virtual |
Surface.
Implements a_face.
Definition at line 64 of file a_face_2d4.cxx.
a_segment a_face_2d4::segment | ( | const int | i | ) | const |
get segment (world coordinate)
Definition at line 205 of file a_face_2d4.cxx.
|
virtual |
slide the face in its plane
Reimplemented from a_face.
Definition at line 57 of file a_face_2d4.cxx.
double a_face_2d4::thickness | ( | ) | const |
thickness of the face
Definition at line 29 of file a_face_2d4.cxx.
std::vector< a_triangle > a_face_2d4::triangles | ( | ) | const |
get 2 triangles defining the face
Definition at line 161 of file a_face_2d4.cxx.
a_point a_face_2d4::v3d | ( | const int | i | ) | const |
get vertex (world coordinate, 3D: 4 points: order v0-n, v0+n, v1+n, v1-n
Definition at line 76 of file a_face_2d4.cxx.