chrono::ChSpringShape Class Reference

Description

Shape for visualizing a coil spring between two moving points related to the parent ChPhysicsItem.

Notes:

  • Currently, only ChLink and its derivatives are supported.
  • An instance of this class should not be shared among multiple ChPhysicsItem instances. Otherwise drawing may broken since each physics item will try to update geometry of the line and causes race conditions.

#include <ChPointPointShape.h>

Inheritance diagram for chrono::ChSpringShape:
Collaboration diagram for chrono::ChSpringShape:

Public Member Functions

 ChSpringShape (double mradius=0.05, int mresolution=65, double mturns=5.)
 
double GetRadius ()
 
size_t GetResolution ()
 
double GetTurns ()
 
- Public Member Functions inherited from chrono::ChPointPointShape
virtual void Update (ChPhysicsItem *updater, const ChFrame<> &coords) override
 Update this visual shape with information for the owning physical object. More...
 
- Public Member Functions inherited from chrono::ChLineShape
 ChLineShape (std::shared_ptr< geometry::ChLine > &mline)
 
std::shared_ptr< geometry::ChLineGetLineGeometry ()
 Access the line geometry.
 
void SetLineGeometry (std::shared_ptr< geometry::ChLine > mline)
 Set the line geometry.
 
const std::string & GetName () const
 
void SetName (const std::string &mname)
 
unsigned int GetNumRenderPoints () const
 
void SetNumRenderPoints (unsigned int n)
 
double GetThickness () const
 
void SetThickness (double mt)
 
virtual void ArchiveOut (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIn (ChArchiveIn &marchive) override
 Method to allow de-serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::ChVisualShape
void SetVisible (bool mv)
 Set this visualization asset as visible.
 
bool IsVisible () const
 Return true if the asset is set as visible.
 
void SetColor (const ChColor &col)
 Set the diffuse color for this shape. More...
 
ChColor GetColor () const
 Return the diffuse color of the first material in the list of materials for this shape. More...
 
void SetOpacity (float val)
 Set opacity for this shape (0: fully transparent; 1: fully opaque). More...
 
float GetOpacity () const
 Get opacity of the first material in the list of materials for this shape. More...
 
void SetTexture (const std::string &filename, float scale_x=1, float scale_y=1)
 Set the diffuse texture map for this shape. More...
 
std::string GetTexture () const
 Return the diffuse texture map of the first material in the list of materials for this shape. More...
 
void SetMutable (bool val)
 Set this visualization shape as modifiable (default: false for primitive shapes, true otherwise). More...
 
bool IsMutable () const
 Return true if the visualization shape is marked as modifiable.
 
int AddMaterial (std::shared_ptr< ChVisualMaterial > material)
 Add a visualization material and return its index in the list of materials.
 
void SetMaterial (int i, std::shared_ptr< ChVisualMaterial > material)
 Replace the material with specified index. More...
 
std::vector< std::shared_ptr< ChVisualMaterial > > & GetMaterials ()
 Get the list of visualization materials.
 
std::shared_ptr< ChVisualMaterialGetMaterial (int i)
 Get the specified material in the list.
 
int GetNumMaterials () const
 Get the number of visualization materials.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::ChLineShape
std::shared_ptr< geometry::ChLinegline
 underlying line geometry
 
std::string name
 asset name
 
unsigned int npoints
 number of points evaluated when rendering
 
double thickness
 thickness of line when rendering (for rendering engines that support it)
 
- Protected Attributes inherited from chrono::ChVisualShape
bool visible
 shape visibility flag
 
bool is_mutable
 flag indicating whether the shape is rigid or deformable
 
std::vector< std::shared_ptr< ChVisualMaterial > > material_list
 list of visualization materials
 

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/assets/ChPointPointShape.h
  • /builds/uwsbel/chrono/src/chrono/assets/ChPointPointShape.cpp