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

#include <a_block_2d5.h>

+ Inheritance diagram for a_block_2d5:
+ Collaboration diagram for a_block_2d5:

Public Member Functions

 a_block_2d5 ()
 
 ~a_block_2d5 ()
 
 a_block_2d5 (a_point *p1, a_point *p2, a_point *p3, a_point *p4, a_point *p5, double thickness=1.)
 constructor: 5 coplanar points defining a pentagon + constant thickness More...
 
virtual void copy (const a_block_2d5 &)
 copy the block. do not create new edges More...
 
virtual void deepcopy (const a_block_2d5 &)
 copy the block. create new edges More...
 
virtual std::string name () const
 get type of the pointer More...
 
void thickness (const double thickness)
 set block thickness More...
 
double thickness () const
 get block thickness More...
 
double * thickness_p () const
 get block thickness pointer More...
 
a_point v3d (const int i) const
 get vertex (world coordinate, 3D: 10 points: order v0-n, v0+n, v1+n, v1-n More...
 
int nvt () const
 get number of vertices (here 10, from 5 which are defined) More...
 
int nit () const
 get number of faces (here 7, from 5 which are defined) More...
 
double V () const
 volume of the block More...
 
virtual a_point cl () const
 centre of gravity of the face (local coordinate system) More...
 
a_point normall () const
 normal to the definition plan of the block (local coordinates) More...
 
a_point normal () const
 normal to the definition plan of the block (world coordinates) More...
 
virtual void read (std::istream &i)
 input/output More...
 
virtual void write (std::ostream &o) const
 
virtual void writetri (std::ostream &o) const
 write a triangle face representation of the block More...
 
virtual void writeb (std::ostream &o) const
 write a blender description of the block More...
 
virtual void writeg (std::ostream &o) const
 write a brlcad description of the block More...
 
void writefaces (std::ostream &o, const int base) const
 write a triangle file description of the block More...
 
void trianglecloud (a_trianglecloud &) const
 
- Public Member Functions inherited from a_block
 a_block ()
 
virtual ~a_block ()
 
void clear ()
 
virtual void copy (const a_block &)
 
virtual void deepcopy (const a_block &)
 
void g (a_point *g)
 set gravity More...
 
a_point * g () const
 get gravity More...
 
a_point c () const
 centre of mass (in world coordinate) More...
 
double m () const
 mass More...
 
double Ws () const
 weight More...
 
a_wrench W () const
 weight wrench in world coordinate More...
 
a_wrench fe () const
 external force on block in world coordinate More...
 
a_wrench ft () const
 total force on block in world coordinate More...
 
a_wrench W (const a_block &be) const
 compute the weight (in world coordinate) of block connected up to block be (included) More...
 
a_wrench ft (const a_block &be) const
 compute the total force (in world coordinate) of block connected up to block be (included) More...
 
a_blocknextblock () const
 block connected (return 0 if end or problem) More...
 
double potential () const
 potential energy More...
 
void clearinternal ()
 clear all the internal face forces More...
 
void clearexternal ()
 clear all the external face forces More...
 
void clearall ()
 clear all the forces on faces More...
 
a_blockcompute ()
 compute the exit force from all the forces on the block, return next block or 0 if last one or problem More...
 
void material (a_material *material)
 link a material More...
 
a_materialmaterial () const
 get pointer to material More...
 
int nv () const
 get number of vertices More...
 
int ni () const
 get number of faces More...
 
void av (a_point *vertex)
 add a vertex More...
 
void ai (a_face *face)
 add a face More...
 
a_point * v (const int i)
 get pointer to vertex More...
 
a_point * v (const int i) const
 get pointer to vertex More...
 
a_facei (const int i)
 get pointer to face More...
 
a_facei (const int i) const
 get pointer to face More...
 
a_twistpos () const
 get pointer to position handle More...
 
void place (const int fi, a_block *block, const int fe, double u, double v)
 place a face of the block on the face of another block More...
 
std::vector< int > in () const
 return inside faces More...
 
std::vector< int > out () const
 return outside faces More...
 
void exit (int ref)
 set exit face More...
 
int exit () const
 get exit face More...
 
int entrance (int ref)
 set exit face specifying where the force enters 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 writeverts (std::ostream &o) const
 

Static Public Member Functions

static const std::string help ()
 get information about the class More...
 
- Static Public Member Functions inherited from a_block
static const std::string help ()
 get information about the class More...
 

Protected Attributes

double * thickness_
 
- Protected Attributes inherited from a_block
std::vector< a_point * > vertices_
 
std::vector< a_face * > faces_
 
a_materialmaterial_
 
bool material_auto_
 
int exit_face_
 
a_twistpos_
 
a_point * g_
 

Detailed Description

Definition at line 21 of file a_block_2d5.h.

Constructor & Destructor Documentation

◆ a_block_2d5() [1/2]

a_block_2d5::a_block_2d5 ( )

Definition at line 37 of file a_block_2d5.cxx.

◆ ~a_block_2d5()

a_block_2d5::~a_block_2d5 ( )

Definition at line 44 of file a_block_2d5.cxx.

◆ a_block_2d5() [2/2]

a_block_2d5::a_block_2d5 ( a_point *  p1,
a_point *  p2,
a_point *  p3,
a_point *  p4,
a_point *  p5,
double  thickness = 1. 
)

constructor: 5 coplanar points defining a pentagon + constant thickness

Definition at line 51 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

Member Function Documentation

◆ cl()

a_point a_block_2d5::cl ( ) const
virtual

centre of gravity of the face (local coordinate system)

Implements a_block.

Definition at line 117 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ copy()

void a_block_2d5::copy ( const a_block_2d5 b)
virtual

copy the block. do not create new edges

Definition at line 88 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ deepcopy()

void a_block_2d5::deepcopy ( const a_block_2d5 b)
virtual

copy the block. create new edges

Definition at line 96 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ help()

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

get information about the class

Definition at line 64 of file a_block_2d5.cxx.

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

◆ name()

virtual std::string a_block_2d5::name ( ) const
inlinevirtual

get type of the pointer

Reimplemented from a_block.

Definition at line 35 of file a_block_2d5.h.

◆ nit()

int a_block_2d5::nit ( ) const
inlinevirtual

get number of faces (here 7, from 5 which are defined)

Implements a_block.

Definition at line 47 of file a_block_2d5.h.

◆ normal()

a_point a_block_2d5::normal ( ) const

normal to the definition plan of the block (world coordinates)

Definition at line 149 of file a_block_2d5.cxx.

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

◆ normall()

a_point a_block_2d5::normall ( ) const

normal to the definition plan of the block (local coordinates)

Definition at line 142 of file a_block_2d5.cxx.

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

◆ nvt()

int a_block_2d5::nvt ( ) const
inlinevirtual

get number of vertices (here 10, from 5 which are defined)

Implements a_block.

Definition at line 45 of file a_block_2d5.h.

◆ read()

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

input/output

Reimplemented from a_block.

Definition at line 160 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ thickness() [1/2]

double a_block_2d5::thickness ( ) const
inline

get block thickness

Definition at line 39 of file a_block_2d5.h.

+ Here is the caller graph for this function:

◆ thickness() [2/2]

void a_block_2d5::thickness ( const double  thickness)
inline

set block thickness

Definition at line 37 of file a_block_2d5.h.

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

◆ thickness_p()

double* a_block_2d5::thickness_p ( ) const
inline

get block thickness pointer

Definition at line 41 of file a_block_2d5.h.

+ Here is the caller graph for this function:

◆ trianglecloud()

void a_block_2d5::trianglecloud ( a_trianglecloud &  tri) const
virtual

Implements a_block.

Definition at line 241 of file a_block_2d5.cxx.

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

◆ V()

double a_block_2d5::V ( ) const
virtual

volume of the block

Implements a_block.

Definition at line 131 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ v3d()

a_point a_block_2d5::v3d ( const int  i) const
virtual

get vertex (world coordinate, 3D: 10 points: order v0-n, v0+n, v1+n, v1-n

Implements a_block.

Definition at line 107 of file a_block_2d5.cxx.

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

◆ write()

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

Reimplemented from a_block.

Definition at line 168 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ writeb()

void a_block_2d5::writeb ( std::ostream &  o) const
virtual

write a blender description of the block

Implements a_block.

Definition at line 182 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ writefaces()

void a_block_2d5::writefaces ( std::ostream &  o,
const int  base = 0 
) const
virtual

write a triangle file description of the block

Implements a_block.

Definition at line 221 of file a_block_2d5.cxx.

◆ writeg()

void a_block_2d5::writeg ( std::ostream &  o) const
virtual

write a brlcad description of the block

Implements a_block.

Definition at line 205 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

◆ writetri()

void a_block_2d5::writetri ( std::ostream &  o) const
virtual

write a triangle face representation of the block

Implements a_block.

Definition at line 174 of file a_block_2d5.cxx.

+ Here is the call graph for this function:

Member Data Documentation

◆ thickness_

double* a_block_2d5::thickness_
protected

Definition at line 67 of file a_block_2d5.h.


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