NetDEM v1.0
|
A class used to group walls in a DEM simulation. More...
#include <wall_group.hpp>
Public Member Functions | |
WallGroup () | |
Default constructor for WallGroup class. | |
VecXT< Wall * > const & | GetWalls () |
Get the walls. | |
void | AddWall (int id) |
Adds a wall to the group. | |
void | RemoveWall (int id) |
Removes a wall from the group. | |
void | AddWall (const VecXT< int > &ids) |
Adds multiple walls to the group. | |
void | RemoveWall (const VecXT< int > &ids) |
Removes multiple walls from the group. | |
void | AddWall (const std::initializer_list< int > &ids) |
Adds multiple walls to the group. | |
void | RemoveWall (const std::initializer_list< int > &ids) |
Removes multiple walls from the group. | |
void | SetWall (int id) |
Sets the walls based on a wall ID. | |
void | SetWall (const VecXT< int > &id_list) |
Sets the walls based on a variable number of wall IDs. | |
void | SetWall (const std::initializer_list< int > &id_list) |
Sets the walls based on a variable number of wall IDs. | |
void | Clear () |
Clears all walls from the group. | |
Modifier * | Clone () const override |
Clones the current WallGroup instance. | |
void | Execute () override |
Executes the WallGroup instance. | |
void | Update () override |
Updates the WallGroup instance. | |
Public Member Functions inherited from netdem::Modifier | |
Modifier () | |
Default constructor for Modifier class. | |
virtual void | Init (Simulation *sim) |
Initializes the Modifier instance. | |
virtual void | Enable () |
Enables the Modifier instance. | |
virtual void | Disable () |
Disables the Modifier instance. | |
virtual | ~Modifier () |
Destructor for Modifier class. | |
Protected Attributes | |
std::unordered_set< int > | wall_id_list |
The list of wall ids. | |
VecXT< Wall * > | wall_list |
The list of wall. | |
Additional Inherited Members | |
Public Attributes inherited from netdem::Modifier | |
std::string | label {"default"} |
DEMSolver::CyclePoint | cycle_point {DEMSolver::CyclePoint::pre} |
Simulation * | sim {nullptr} |
Scene * | scene {nullptr} |
bool | update_with_scene {false} |
bool | enable_logging {true} |
A class used to group walls in a DEM simulation.
The WallGroup class is used to group walls together for various operations, such as setting their velocity or spin properties.
netdem::WallGroup::WallGroup | ( | ) |
Default constructor for WallGroup class.
void netdem::WallGroup::AddWall | ( | const std::initializer_list< int > & | ids | ) |
Adds multiple walls to the group.
ids | A vector of wall IDs to add. |
void netdem::WallGroup::AddWall | ( | const VecXT< int > & | ids | ) |
Adds multiple walls to the group.
ids | A vector of wall IDs to add. |
void netdem::WallGroup::AddWall | ( | int | id | ) |
Adds a wall to the group.
id | The ID of the wall to add. |
void netdem::WallGroup::Clear | ( | ) |
Clears all walls from the group.
|
overridevirtual |
Clones the current WallGroup instance.
Reimplemented from netdem::Modifier.
Reimplemented in netdem::WallMotionControl, netdem::WallMotionIntegrator, and netdem::WallServoControl.
|
overridevirtual |
Executes the WallGroup instance.
Reimplemented from netdem::Modifier.
Reimplemented in netdem::WallMotionControl, netdem::WallMotionIntegrator, and netdem::WallServoControl.
void netdem::WallGroup::RemoveWall | ( | const std::initializer_list< int > & | ids | ) |
Removes multiple walls from the group.
ids | A vector of wall IDs to remove. |
void netdem::WallGroup::RemoveWall | ( | const VecXT< int > & | ids | ) |
Removes multiple walls from the group.
ids | A vector of wall IDs to remove. |
void netdem::WallGroup::RemoveWall | ( | int | id | ) |
Removes a wall from the group.
id | The ID of the wall to remove. |
void netdem::WallGroup::SetWall | ( | const std::initializer_list< int > & | id_list | ) |
Sets the walls based on a variable number of wall IDs.
void netdem::WallGroup::SetWall | ( | const VecXT< int > & | id_list | ) |
Sets the walls based on a variable number of wall IDs.
void netdem::WallGroup::SetWall | ( | int | id | ) |
Sets the walls based on a wall ID.
|
overridevirtual |
Updates the WallGroup instance.
Updates the wall_list based on the current wall_id_list.
Reimplemented from netdem::Modifier.
Reimplemented in netdem::WallServoControl.
|
protected |
The list of wall ids.