We need to refactor the Model class to store pointers to Node and (potentially) Constraint objects -- currently, we are holding copies to such objects which makes transformations difficult to keep track of.
Tasks
Change Data Structures:
Modify the nodes vector to hold std::shared_ptr.
Modify the constraints vector to hold std::shared_ptr.
Add a std::vector<std::shared_ptr> to store beam elements.
Update Methods to Use Pointers:
Refactor all methods that add nodes and constraints to return pointers instead of objects.
Ensure proper handling and storage of these pointers in the nodes, constraints, and beam_elements vectors.
Node Transformations:
Add methods to the Node class to perform transformations like rotation and translation.
Ensure transformations are reflected in the model
Add Beam Elements:
Implement a method to add BeamElement objects to the model.
Testing
Create node, add to model, transform node, make assertion on node from model class
We need to refactor the
Model
class to store pointers toNode
and (potentially)Constraint
objects -- currently, we are holding copies to such objects which makes transformations difficult to keep track of.Tasks
Change Data Structures:
Update Methods to Use Pointers:
Node Transformations:
Add Beam Elements:
Testing