Points&Forces (survey)
Software tools facilitating the task of surveying architecture
|
#include <a_block.h>
Classes | |
class | compatibility_error |
class | no_block_error |
Public Member Functions | |
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... | |
virtual double | V () const =0 |
volume of the block 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 std::string | name () const |
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_block * | nextblock () 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_block * | compute () |
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_material * | material () const |
get pointer to material More... | |
int | nv () const |
get number of vertices More... | |
virtual int | nvt () const =0 |
get number of vertices (not only the reference vertices) More... | |
int | ni () const |
get number of faces More... | |
virtual int | nit () const =0 |
get number of faces (not only the reference 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... | |
virtual a_point | v3d (const int i) const =0 |
get vertex (world coordinate, 3D) More... | |
a_face * | i (const int i) |
get pointer to face More... | |
a_face * | i (const int i) const |
get pointer to face More... | |
a_twist * | pos () 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... | |
virtual void | read (std::istream &i) |
input/output More... | |
virtual void | write (std::ostream &o) const |
virtual void | writetri (std::ostream &o) const =0 |
write a triangle face representation of the block More... | |
virtual void | writeb (std::ostream &o) const =0 |
write a blender description of the block More... | |
virtual void | writeg (std::ostream &o) const =0 |
write a brlcad description of the block More... | |
void | writeverts (std::ostream &o) const |
virtual void | writefaces (std::ostream &o, const int base=0) const =0 |
write a triangle file description of the block More... | |
virtual void | trianglecloud (a_trianglecloud &) const =0 |
Static Public Member Functions | |
static const std::string | help () |
get information about the class More... | |
Protected Attributes | |
std::vector< a_point * > | vertices_ |
std::vector< a_face * > | faces_ |
a_material * | material_ |
bool | material_auto_ |
int | exit_face_ |
a_twist * | pos_ |
a_point * | g_ |
Friends | |
std::istream & | operator>> (std::istream &i, a_block &b) |
std::ostream & | operator<< (std::ostream &o, const a_block &b) |
a_block::a_block | ( | ) |
|
virtual |
|
inline |
a_point a_block::c | ( | ) | const |
centre of mass (in world coordinate)
Definition at line 162 of file a_block.cxx.
|
pure virtual |
centre of mass (in local system)
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
void a_block::clear | ( | ) |
void a_block::clearall | ( | ) |
clear all the forces on faces
Definition at line 273 of file a_block.cxx.
void a_block::clearexternal | ( | ) |
clear all the external face forces
Definition at line 263 of file a_block.cxx.
void a_block::clearinternal | ( | ) |
clear all the internal face forces
Definition at line 253 of file a_block.cxx.
a_block * a_block::compute | ( | ) |
compute the exit force from all the forces on the block, return next block or 0 if last one or problem
Definition at line 310 of file a_block.cxx.
|
virtual |
Definition at line 99 of file a_block.cxx.
void a_block::criteria | ( | a_fcriteria * | criteria | ) |
set resistance criteria
Definition at line 282 of file a_block.cxx.
|
virtual |
Definition at line 110 of file a_block.cxx.
int a_block::entrance | ( | int | ref | ) |
set exit face specifying where the force enters
Definition at line 409 of file a_block.cxx.
|
inline |
void a_block::exit | ( | int | ref | ) |
set exit face
Definition at line 397 of file a_block.cxx.
a_wrench a_block::fe | ( | ) | const |
external force on block in world coordinate
Definition at line 186 of file a_block.cxx.
a_wrench a_block::ft | ( | ) | const |
total force on block in world coordinate
Definition at line 200 of file a_block.cxx.
compute the total force (in world coordinate) of block connected up to block be (included)
Definition at line 218 of file a_block.cxx.
|
inline |
|
inline |
|
static |
get information about the class
Definition at line 46 of file a_block.cxx.
a_face * a_block::i | ( | const int | i | ) |
get pointer to face
Definition at line 148 of file a_block.cxx.
a_face * a_block::i | ( | const int | i | ) | const |
get pointer to face
Definition at line 155 of file a_block.cxx.
std::vector< int > a_block::in | ( | ) | const |
return inside faces
Definition at line 373 of file a_block.cxx.
double a_block::m | ( | ) | const |
mass
Definition at line 167 of file a_block.cxx.
|
inline |
void a_block::material | ( | a_material * | material | ) |
link a material
Definition at line 124 of file a_block.cxx.
|
inlinevirtual |
Reimplemented in a_block_2d5, a_block_2d4, and a_block_2d3.
Definition at line 47 of file a_block.h.
a_block * a_block::nextblock | ( | ) | const |
block connected (return 0 if end or problem)
Definition at line 229 of file a_block.cxx.
|
inline |
|
pure virtual |
get number of faces (not only the reference faces)
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
|
inline |
|
pure virtual |
get number of vertices (not only the reference vertices)
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
bool a_block::ok | ( | ) | const |
check if forces on face are acceptable
Definition at line 288 of file a_block.cxx.
std::vector< int > a_block::out | ( | ) | const |
return outside faces
Definition at line 385 of file a_block.cxx.
double a_block::penalty | ( | ) | const |
penalty value used for optimization
Definition at line 298 of file a_block.cxx.
void a_block::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
Definition at line 355 of file a_block.cxx.
|
inline |
double a_block::potential | ( | ) | const |
potential energy
Definition at line 246 of file a_block.cxx.
|
virtual |
input/output
Reimplemented in a_block_2d5, a_block_2d4, and a_block_2d3.
Definition at line 449 of file a_block.cxx.
|
pure virtual |
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
|
pure virtual |
volume of the block
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
a_point * a_block::v | ( | const int | i | ) |
get pointer to vertex
Definition at line 134 of file a_block.cxx.
a_point * a_block::v | ( | const int | i | ) | const |
get pointer to vertex
Definition at line 141 of file a_block.cxx.
|
pure virtual |
get vertex (world coordinate, 3D)
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
a_wrench a_block::W | ( | ) | const |
weight wrench in world coordinate
Definition at line 178 of file a_block.cxx.
compute the weight (in world coordinate) of block connected up to block be (included)
Definition at line 207 of file a_block.cxx.
|
virtual |
Reimplemented in a_block_2d5, a_block_2d4, and a_block_2d3.
Definition at line 473 of file a_block.cxx.
|
pure virtual |
write a blender description of the block
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
|
pure virtual |
write a triangle file description of the block
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
|
pure virtual |
write a brlcad description of the block
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
|
pure virtual |
write a triangle face representation of the block
Implemented in a_block_2d5, a_block_2d4, and a_block_2d3.
void a_block::writeverts | ( | std::ostream & | o | ) | const |
double a_block::Ws | ( | ) | const |
weight
Definition at line 172 of file a_block.cxx.
|
friend |
Definition at line 502 of file a_block.cxx.
|
friend |
Definition at line 496 of file a_block.cxx.
|
protected |