Points&Forces (survey)
Software tools facilitating the task of surveying architecture
Public Member Functions | List of all members
a_face_2d4 Class Reference

#include <a_face_2d4.h>

+ Inheritance diagram for a_face_2d4:
+ Collaboration diagram for a_face_2d4:

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_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 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_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 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_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...
 

Detailed Description

Definition at line 26 of file a_face_2d4.h.

Constructor & Destructor Documentation

◆ a_face_2d4()

a_face_2d4::a_face_2d4 ( a_block b,
int  ref_face 
)
inline

Definition at line 29 of file a_face_2d4.h.

Member Function Documentation

◆ cl()

a_point a_face_2d4::cl ( ) const
virtual

centre of gravity of the face (in local coordinates)

Implements a_face.

Definition at line 69 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ contactface()

a_contact a_face_2d4::contactface ( ) const
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.

+ Here is the call graph for this function:

◆ contactpoint()

a_point a_face_2d4::contactpoint ( ) const
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.

+ Here is the call graph for this function:

◆ contactsegment()

a_segment a_face_2d4::contactsegment ( ) const
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.

+ Here is the call graph for this function:

◆ contacttype()

int a_face_2d4::contacttype ( ) const
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.

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

◆ contains()

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.

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

◆ dyM()

double a_face_2d4::dyM ( ) const
virtual

distance from center to max y

Reimplemented from a_face.

Definition at line 40 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ dym()

double a_face_2d4::dym ( ) const
virtual

distance from center to min y

Reimplemented from a_face.

Definition at line 45 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ exrx()

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.

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

◆ exry()

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.

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

◆ grow()

void a_face_2d4::grow ( const double &  val)
virtual

grow face

Implements a_face.

Definition at line 210 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ intersect()

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.

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

◆ length()

double a_face_2d4::length ( ) const

length of the face

Definition at line 50 of file a_face_2d4.cxx.

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

◆ normal()

a_point a_face_2d4::normal ( ) const
virtual

normal to the face

Implements a_face.

Definition at line 133 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ nx()

a_point a_face_2d4::nx ( ) const
virtual

direction of face

Implements a_face.

Definition at line 89 of file a_face_2d4.cxx.

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

◆ ny()

a_point a_face_2d4::ny ( ) const
virtual

normal to the vertices of the block

Implements a_face.

Definition at line 113 of file a_face_2d4.cxx.

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

◆ plane()

a_plane a_face_2d4::plane ( ) const
inlinevirtual

plane defined by face

Implements a_face.

Definition at line 51 of file a_face_2d4.h.

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

◆ ptsinplane()

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.

+ Here is the caller graph for this function:

◆ S()

double a_face_2d4::S ( ) const
virtual

Surface.

Implements a_face.

Definition at line 64 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ segment()

a_segment a_face_2d4::segment ( const int  i) const

get segment (world coordinate)

Definition at line 205 of file a_face_2d4.cxx.

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

◆ slide()

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

slide the face in its plane

Reimplemented from a_face.

Definition at line 57 of file a_face_2d4.cxx.

+ Here is the call graph for this function:

◆ thickness()

double a_face_2d4::thickness ( ) const

thickness of the face

Definition at line 29 of file a_face_2d4.cxx.

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

◆ triangles()

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.

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

◆ v3d()

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.

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

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