Description
Class for conveyor belt.
A conveyor belt is approximated by a box collision shape, where the upper surface has continuous motion in X direction. No cylindrical rounding is used at the ends.
#include <ChConveyor.h>
Public Member Functions | |
ChConveyor (double xlength=1, double ythick=0.1, double zwidth=0.5) | |
Build a conveyor belt, with motion along x axis. | |
ChConveyor (const ChConveyor &other) | |
virtual ChConveyor * | Clone () const override |
"Virtual" copy constructor (covariant return type). | |
virtual void | SetSystem (ChSystem *m_system) override |
Set the pointer to the parent ChSystem(). | |
void | SetConveyorSpeed (double mspeed) |
Set the speed of the conveyor belt (upper part, X direction). | |
double | GetConveyorSpeed () |
Get the speed of the conveyor belt (upper part, X direction). | |
ChBody * | GetTruss () const |
Access the internal body used as the truss of the moving belt. | |
ChBody * | GetPlate () const |
Access the internal body used as the moving belt (a plate with const.vel.). | |
void | SetFixed (bool mev) |
bool | IsFixed () |
const ChCoordsys & | GetCoordsys () const |
const ChVector3d & | GetPos () const |
const ChQuaternion & | GetRot () const |
void | SetCoordsys (const ChCoordsys<> &mcoord) |
void | SetCoordsys (const ChVector3d &mv, const ChQuaternion<> &mq) |
void | SetRot (const ChQuaternion<> &mrot) |
void | SetPos (const ChVector3d &mpos) |
void | SetMaterialSurface (std::shared_ptr< ChContactMaterial > mat) |
Set the material surface properties by passing a ChContactMaterialNSC or ChContactMaterialSMC object. | |
std::shared_ptr< ChContactMaterial > | GetMaterialSurface () const |
Access the material surface properties of the conveyor belt (shortcut). | |
virtual unsigned int | GetNumCoordsPosLevel () override |
Number of coordinates: this contains an auxiliary body, so it is 14 (with quaternions for rotations). | |
virtual unsigned int | GetNumCoordsVelLevel () override |
Number of coordinates of the particle cluster (for two bodies). | |
virtual unsigned int | GetNumConstraintsBilateral () override |
Get the number of scalar constraints. In this case, a lock constraint is embedded. | |
virtual bool | IsCollisionEnabled () const override |
Tell if the object is subject to collision. More... | |
virtual void | AddCollisionModelsToSystem (ChCollisionSystem *coll_sys) const override |
Add to the provided collision system any collision models managed by this physics item. More... | |
virtual void | RemoveCollisionModelsFromSystem (ChCollisionSystem *coll_sys) const override |
Remove from the provided collision system any collision models managed by this physics item. More... | |
virtual void | SyncCollisionModels () override |
Synchronize the position and bounding box of any collsion models managed by this physics item. | |
virtual void | ArchiveOut (ChArchiveOut &archive_out) override |
Method to allow serialization of transient data to archives. | |
virtual void | ArchiveIn (ChArchiveIn &archive_in) override |
Method to allow deserialization of transient data from archives. More... | |
Public Member Functions inherited from chrono::ChPhysicsItem | |
ChPhysicsItem (const ChPhysicsItem &other) | |
ChSystem * | GetSystem () const |
Get the pointer to the parent ChSystem(). | |
void | AddVisualModel (std::shared_ptr< ChVisualModel > model) |
Add an (optional) visualization model. More... | |
std::shared_ptr< ChVisualModel > | GetVisualModel () const |
Access the visualization model (if any). More... | |
void | AddVisualShape (std::shared_ptr< ChVisualShape > shape, const ChFrame<> &frame=ChFrame<>()) |
Add the specified visual shape to the visualization model. More... | |
std::shared_ptr< ChVisualShape > | GetVisualShape (unsigned int i) const |
Access the specified visualization shape in the visualization model (if any). More... | |
void | AddVisualShapeFEA (std::shared_ptr< ChVisualShapeFEA > shapeFEA) |
Add the specified FEA visualization object to the visualization model. More... | |
std::shared_ptr< ChVisualShapeFEA > | GetVisualShapeFEA (unsigned int i) const |
Access the specified FEA visualization object in the visualization model (if any). More... | |
virtual ChFrame | GetVisualModelFrame (unsigned int nclone=0) const |
Get the reference frame (expressed in and relative to the absolute frame) of the visual model. More... | |
virtual unsigned int | GetNumVisualModelClones () const |
Return the number of clones of the visual model associated with this physics item. More... | |
void | AddCamera (std::shared_ptr< ChCamera > camera) |
Attach a ChCamera to this physical item. More... | |
std::vector< std::shared_ptr< ChCamera > > | GetCameras () const |
Get the set of cameras attached to this physics item. | |
virtual bool | IsActive () const |
Return true if the object is active and included in dynamics. | |
virtual ChAABB | GetTotalAABB () const |
Get the axis-aligned bounding box (AABB) of this object. More... | |
virtual ChVector3d | GetCenter () const |
Get a symbolic 'center' of the object. More... | |
virtual void | Setup () |
Perform setup operations. More... | |
virtual void | Update (bool update_assets=true) |
Perform an update using the current time. | |
void | UpdateVisualModel () |
Utility function to update only the associated visual assets (if any). | |
virtual void | ForceToRest () |
Set zero speed (and zero accelerations) in state, without changing the position. More... | |
virtual unsigned int | GetNumConstraints () |
Get the number of scalar constraints. | |
virtual unsigned int | GetNumConstraintsUnilateral () |
Get the number of unilateral scalar constraints. | |
unsigned int | GetOffset_x () |
Get offset in the state vector (position part) | |
unsigned int | GetOffset_w () |
Get offset in the state vector (speed part) | |
unsigned int | GetOffset_L () |
Get offset in the lagrangian multipliers. | |
void | SetOffset_x (const unsigned int moff) |
Set offset in the state vector (position part) Note: only the ChSystem::Setup function should use this. | |
void | SetOffset_w (const unsigned int moff) |
Set offset in the state vector (speed part) Note: only the ChSystem::Setup function should use this. | |
void | SetOffset_L (const unsigned int moff) |
Set offset in the lagrangian multipliers Note: only the ChSystem::Setup function should use this. | |
virtual void | InjectKRMMatrices (ChSystemDescriptor &descriptor) |
Register with the given system descriptor any ChKRMBlock objects associated with this item. | |
virtual void | LoadKRMMatrices (double Kfactor, double Rfactor, double Mfactor) |
Compute and load current stiffnes (K), damping (R), and mass (M) matrices in encapsulated ChKRMBlock objects. More... | |
virtual void | ConstraintsFbLoadForces (double factor=1) |
Adds the current link-forces, if any, (caused by springs, etc.) to the 'fb' vectors of the ChVariables referenced by encapsulated ChConstraints. | |
Public Member Functions inherited from chrono::ChObj | |
ChObj (const ChObj &other) | |
int | GetIdentifier () const |
Get the unique integer identifier of this object. More... | |
void | SetTag (int tag) |
Set an object integer tag (default: -1). More... | |
int | GetTag () const |
Get the tag of this object. | |
void | SetName (const std::string &myname) |
Set the name of this object. | |
const std::string & | GetName () const |
Get the name of this object. | |
double | GetChTime () const |
Gets the simulation time of this object. | |
void | SetChTime (double m_time) |
Sets the simulation time of this object. | |
virtual std::string & | ArchiveContainerName () |
Additional Inherited Members | |
Protected Member Functions inherited from chrono::ChObj | |
int | GenerateUniqueIdentifier () |
Protected Attributes inherited from chrono::ChPhysicsItem | |
ChSystem * | system |
parent system | |
std::shared_ptr< ChVisualModelInstance > | vis_model_instance |
instantiated visualization model | |
std::vector< std::shared_ptr< ChCamera > > | cameras |
set of cameras | |
unsigned int | offset_x |
offset in vector of state (position part) | |
unsigned int | offset_w |
offset in vector of state (speed part) | |
unsigned int | offset_L |
offset in vector of lagrangian multipliers | |
Protected Attributes inherited from chrono::ChObj | |
double | ChTime |
object simulation time | |
std::string | m_name |
object name | |
int | m_identifier |
object unique identifier | |
int | m_tag |
user-supplied tag | |
Member Function Documentation
◆ AddCollisionModelsToSystem()
|
overridevirtual |
Add to the provided collision system any collision models managed by this physics item.
A derived calss should invoke ChCollisionSystem::Add for each of its collision models.
Reimplemented from chrono::ChPhysicsItem.
◆ ArchiveIn()
|
overridevirtual |
Method to allow deserialization of transient data from archives.
Method to allow de serialization of transient data from archives.
Reimplemented from chrono::ChPhysicsItem.
◆ IsCollisionEnabled()
|
inlineoverridevirtual |
Tell if the object is subject to collision.
Only for interface; child classes may override this, using internal flags.
Reimplemented from chrono::ChPhysicsItem.
◆ RemoveCollisionModelsFromSystem()
|
overridevirtual |
Remove from the provided collision system any collision models managed by this physics item.
A derived class should invoke ChCollisionSystem::Remove for each of its collision models.
Reimplemented from chrono::ChPhysicsItem.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/physics/ChConveyor.h
- /builds/uwsbel/chrono/src/chrono/physics/ChConveyor.cpp