Class that describes a load to be used in the simulation. More...
#include <Load.h>
Public Member Functions | |
void | addEvent (ValueEvent *ve) |
Insert an event from the particular load the load is set to value v when time is equal to t. More... | |
void | addTarget (std::string currentData) |
add a lots of new targets using a description string (...) More... | |
void | addTarget (unsigned int target) |
add a new target More... | |
void | addValueEvent (const double v, const double d) |
set the valueEvent. More... | |
virtual void | ansysPrint (std::ostream &) const |
Print the load in ansys format (BEWARE: not everything is implemented) More... | |
Direction | getDirection () const |
get direction object (a copy) More... | |
void | getDirection (double &x, double &y, double &z) const |
Get the direction. More... | |
int | getTarget (const unsigned int target) const |
Get a target by index. More... | |
TargetList | getTargetList () const |
get the complete list More... | |
std::string | getType () const |
get the type string, has to be impleted in subclasses More... | |
Unit | getUnit () const |
get the unit More... | |
double | getValue (const double d=0.0) |
The current value at date d (default: d = 0.0). More... | |
ValueEvent * | getValueEvent (const unsigned int i) const |
Get a the ValueEvent. More... | |
bool | isActive (const double t) |
return true if the load is active at time t More... | |
Load () | |
Constructor. More... | |
unsigned int | numberOfTargets () const |
get the number of target More... | |
unsigned int | numberOfValueEvents () const |
get the nr of value event More... | |
void | setAllEvents (std::vector< ValueEvent * > &) |
set all value events More... | |
void | setDirection (const Direction &) |
Set the direction using another direction. More... | |
void | setDirection (const double x, const double y, const double z) |
Set the direction using 3 coordinates. More... | |
void | setTargetList (const TargetList &) |
set the complete list More... | |
void | setUnit (const Unit u) |
set the unit More... | |
void | xmlPrint (std::ostream &) const |
Print to an ostream. More... | |
virtual | ~Load () |
destructor is deleting all the value events (BEWARE!!!) More... | |
Static Public Member Functions | |
static Load * | LoadFactory (std::string type) |
static method to create a new load using a specific type (return nullptr if type is unknown) More... | |
Protected Attributes | |
Direction | dir |
std::string | typeString |
Unit | unit |
Friends | |
std::ostream & | operator<< (std::ostream &, Load) |
print to an output stream in XML format. More... | |
Class that describes a load to be used in the simulation.
This load can have different types Translation, Rotation, Force and Pressure. This load can be created by parsing in an XML file or by load library programming A load could be save in XML format as well using the << operator. The load is set automatically when the method setTarget is called.
a Load contains a Type, AppliedTo, 3 Directions x/y/z, a Unit and several ValueEvent (value, date)
All value events that are added to the load are then taking over by the load (i.e. when the load is deleted, it will delete all its value event.
Load::Load | ( | ) |
Constructor.
|
virtual |
destructor is deleting all the value events (BEWARE!!!)
void Load::addEvent | ( | ValueEvent * | ve | ) |
Insert an event from the particular load the load is set to value v when time is equal to t.
ve | the force to add in the list at the correct place |
Referenced by addValueEvent(), setAllEvents(), and Loads::xmlRead().
void Load::addTarget | ( | std::string | currentData | ) |
add a lots of new targets using a description string (...)
References TargetList::add().
Referenced by Loads::xmlRead().
void Load::addTarget | ( | unsigned int | target | ) |
void Load::addValueEvent | ( | const double | v, |
const double | d | ||
) |
set the valueEvent.
v | the value |
d | the date at which the value is applied |
References addEvent().
|
virtual |
Print the load in ansys format (BEWARE: not everything is implemented)
Reimplemented in Translation, and Force.
References TargetList::toAnsys().
Referenced by Loads::ansysPrint(), Force::ansysPrint(), and Translation::ansysPrint().
void Load::getDirection | ( | double & | x, |
double & | y, | ||
double & | z | ||
) | const |
Get the direction.
References dir, Direction::getX(), Direction::getY(), and Direction::getZ().
int Load::getTarget | ( | const unsigned int | target | ) | const |
Get a target by index.
target | the target index in the list |
References TargetList::getIndexedTarget().
TargetList Load::getTargetList | ( | ) | const |
get the complete list
std::string Load::getType | ( | ) | const |
get the type string, has to be impleted in subclasses
References typeString.
Referenced by Loads::ansysPrint(), and xmlPrint().
Unit Load::getUnit | ( | ) | const |
double Load::getValue | ( | const double | d = 0.0 | ) |
The current value at date d (default: d = 0.0).
eg: if we have :
# | date | value |
0 | 0.5 | 10.0 |
1 | 1.5 | 100.0 |
we want to have:
Schematically:
^ | 100+ * * * * * | * 10+ * | * +-*-*-*-*-+-------+--------+------> 0 0.5 1.0 1.5
ValueEvent * Load::getValueEvent | ( | const unsigned int | i | ) | const |
Get a the ValueEvent.
Referenced by Translation::ansysPrint(), and xmlPrint().
bool Load::isActive | ( | const double | t | ) |
return true if the load is active at time t
|
static |
static method to create a new load using a specific type (return nullptr if type is unknown)
Referenced by Loads::xmlRead().
unsigned int Load::numberOfTargets | ( | ) | const |
get the number of target
References TargetList::getNumberOfTargets().
unsigned int Load::numberOfValueEvents | ( | ) | const |
get the nr of value event
Referenced by Translation::ansysPrint(), and xmlPrint().
void Load::setAllEvents | ( | std::vector< ValueEvent * > & | newList | ) |
void Load::setDirection | ( | const Direction & | d | ) |
Set the direction using another direction.
References dir.
void Load::setDirection | ( | const double | x, |
const double | y, | ||
const double | z | ||
) |
Set the direction using 3 coordinates.
References dir, and Direction::set().
Referenced by Loads::xmlRead().
void Load::setTargetList | ( | const TargetList & | t | ) |
set the complete list
void Load::setUnit | ( | const Unit | u | ) |
set the unit
References unit.
Referenced by Loads::xmlRead().
void Load::xmlPrint | ( | std::ostream & | o | ) | const |
Print to an ostream.
References dir, getType(), getUnit(), Unit::getUnitName(), getValueEvent(), numberOfValueEvents(), TargetList::toString(), ValueEvent::xmlPrint(), and Direction::xmlPrint().
Referenced by Loads::xmlPrint().
|
friend |
print to an output stream in XML format.
|
protected |
Referenced by Translation::ansysPrint(), getDirection(), setDirection(), and xmlPrint().
|
protected |
|
protected |