Description

FEA mesh visualization.

Adds to the containing visual model a trimesh and a glyphs visual shapes.

#include <ChVisualShapeFEA.h>

Public Types

enum  DataType {
  NONE, SURFACE, CONTACTSURFACES, LOADSURFACES,
  NODE_DISP_NORM, NODE_DISP_X, NODE_DISP_Y, NODE_DISP_Z,
  NODE_SPEED_NORM, NODE_SPEED_X, NODE_SPEED_Y, NODE_SPEED_Z,
  NODE_ACCEL_NORM, NODE_ACCEL_X, NODE_ACCEL_Y, NODE_ACCEL_Z,
  ELEM_STRAIN_VONMISES, ELEM_STRESS_VONMISES, ELEM_STRAIN_HYDROSTATIC, ELEM_STRESS_HYDROSTATIC,
  ELEM_BEAM_MX, ELEM_BEAM_MY, ELEM_BEAM_MZ, ELEM_BEAM_TX,
  ELEM_BEAM_TY, ELEM_BEAM_TZ, NODE_FIELD_VALUE, ANCF_BEAM_AX,
  ANCF_BEAM_BD
}
 Visualization mesh data type.
 
enum  GlyphType {
  NONE, NODE_DOT_POS, NODE_CSYS, NODE_VECT_SPEED,
  NODE_VECT_ACCEL, ELEM_TENS_STRAIN, ELEM_TENS_STRESS, ELEM_VECT_DP
}
 Visualization glyph data type.
 

Public Member Functions

void SetFEMdataType (DataType type)
 Set the current data type to be plotted (speeds, forces, etc.).
 
void SetFEMglyphType (GlyphType type)
 Set the current data type to be drawn with glyphs.
 
void SetDefaultMeshColor (ChColor mcolor)
 Set color for SURFACE mode (also for wireframe lines).
 
void SetDefaultSymbolsColor (ChColor mcolor)
 Set color for GlyphType::NONE mode or for wireframe lines.
 
void SetColormapRange (double min, double max)
 Set min and max values for indexing in the colormap.
 
void SetColormapRange (const ChVector2d &range)
 Set min and max values for indexing in the colormap.
 
void SetColormap (ChColormap::Type type)
 Set the colormap type for false coloring of the SCM mesh. More...
 
void SetSymbolsScale (double scale)
 Set the scale for drawing of symbols (e.g., vectors).
 
void SetSymbolsThickness (double thickness)
 Set the thickness for drawing of symbols (e.g., vectors).
 
void SetBeamResolution (int resolution)
 Set the resolution of beam triangulated drawing, along the beam direction (default: 8).
 
void SetBeamResolutionSection (int resolution)
 Set the resolution of beam triangulated drawing, along the section (default: 10). More...
 
void SetShellResolution (int resolution)
 Set the resolution of shell triangulated drawing (default: 2). More...
 
void SetShrinkElements (bool shrink, double factor)
 Set shrinkage of elements during drawing.
 
void SetBackfaceCull (bool cull)
 Set backface cull speedup (default false). More...
 
void SetZbufferHide (bool hide)
 Set the Z buffer enable/disable, for visualization systems that support it (default: true). More...
 
void SetSmoothFaces (bool smooth)
 Activate Gourad or Phong smoothing for faces of non-straight elements. More...
 
void SetDrawInUndeformedReference (bool undeformed)
 Draw the mesh in its underformed (reference) configuration.
 
void SetWireframe (bool use_wireframe)
 Set as wireframe visualization.
 
DataType GetFEMdataType ()
 Return the current data type to be plotted (speeds, forces, etc.).
 
GlyphType GetFEMglyphType ()
 Returns the current data type to be drawn with glyphs.
 
ChColormap::Type GetColormapType () const
 Get the type of the colormap currently in use.
 
const ChColormapGetColormap () const
 Get the colormap object in current use.
 
double GetSymbolsScale () const
 Return the scale for drawing of symbols.
 
double GetSymbolsThickness () const
 Return the thickness for drawing of symbols.
 
int GetBeamResolution () const
 Return the resolution of beam triangulated drawing, along the beam direction.
 
int GetBeamResolutionSection () const
 Return the resolution of beam triangulated drawing, along the section.
 
int GetShellResolution () const
 Return the resolution of shell triangulated drawing.
 
void Update (ChObj *updater, const ChFrame<> &frame)
 Update the triangle visualization mesh so that it matches with the FEM mesh.
 

Friends

class ChVisualModel
 
class ChObj
 

Member Function Documentation

◆ SetBackfaceCull()

void chrono::ChVisualShapeFEA::SetBackfaceCull ( bool  cull)
inline

Set backface cull speedup (default false).

Must be set true for shells and in general where already double-sided twin triangles are used.

◆ SetBeamResolutionSection()

void chrono::ChVisualShapeFEA::SetBeamResolutionSection ( int  resolution)
inline

Set the resolution of beam triangulated drawing, along the section (default: 10).

For example, in case of a circular section, this is the number of points along the circle.

◆ SetColormap()

void chrono::ChVisualShapeFEA::SetColormap ( ChColormap::Type  type)

Set the colormap type for false coloring of the SCM mesh.

The default colormap is JET (a divergent blue-red map).

◆ SetShellResolution()

void chrono::ChVisualShapeFEA::SetShellResolution ( int  resolution)
inline

Set the resolution of shell triangulated drawing (default: 2).

This value represents the number of visualization mesh vertices on each FEM element edge. The default value of 2 results in a visualization mesh constructed using only the FEM nodes.

◆ SetSmoothFaces()

void chrono::ChVisualShapeFEA::SetSmoothFaces ( bool  smooth)
inline

Activate Gourad or Phong smoothing for faces of non-straight elements.

Note: experimental feature.

◆ SetZbufferHide()

void chrono::ChVisualShapeFEA::SetZbufferHide ( bool  hide)
inline

Set the Z buffer enable/disable, for visualization systems that support it (default: true).

If hide = false, symbols will appear even if hidden by meshes/geometries.


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