chrono::fea::ChBeamSectionShapeCircular Class Reference

Description

A ready-to-use class for drawing properties of circular beams.

Used as a component of ChBeamSection

#include <ChBeamSectionShape.h>

Inheritance diagram for chrono::fea::ChBeamSectionShapeCircular:
Collaboration diagram for chrono::fea::ChBeamSectionShapeCircular:

Public Member Functions

 ChBeamSectionShapeCircular (double mradius, int mresolution=10)
 
virtual unsigned int GetNumLines () const override
 Get the number of lines making the profile of the section, for meshing purposes.
 
virtual unsigned int GetNumPoints (unsigned int i_line) const override
 Get the number of points to be allocated per each section, for the i-th line in the section.
 
virtual void GetPoints (unsigned int i_line, std::vector< ChVector3d > &mpoints) const override
 Compute the points (in the reference of the section).
 
virtual void GetNormals (unsigned int i_line, std::vector< ChVector3d > &mnormals) const override
 Compute the normals (in the reference of the section) at each point.
 
virtual void GetAABB (double &ymin, double &ymax, double &zmin, double &zmax) const override
 Returns the axis-aligned bounding box (assuming axes of local reference of the section) This functions has many uses, ex.for drawing, optimizations, collisions.
 
- Public Member Functions inherited from chrono::fea::ChBeamSectionShape

Member Function Documentation

◆ GetAABB()

void chrono::fea::ChBeamSectionShapeCircular::GetAABB ( double & ymin,
double & ymax,
double & zmin,
double & zmax ) const
overridevirtual

Returns the axis-aligned bounding box (assuming axes of local reference of the section) This functions has many uses, ex.for drawing, optimizations, collisions.

Reimplemented from chrono::fea::ChBeamSectionShape.

◆ GetNormals()

virtual void chrono::fea::ChBeamSectionShapeCircular::GetNormals ( unsigned int i_line,
std::vector< ChVector3d > & mnormals ) const
inlineoverridevirtual

Compute the normals (in the reference of the section) at each point.

Note: mnormals must already have the proper size.

Implements chrono::fea::ChBeamSectionShape.

◆ GetNumLines()

virtual unsigned int chrono::fea::ChBeamSectionShapeCircular::GetNumLines ( ) const
inlineoverridevirtual

Get the number of lines making the profile of the section, for meshing purposes.

C0 continuity is required between lines, C1 also required within each line. Ex. a circle has 1 line, a cube 4 lines, etc. Sharp corners can be done mith multiple lines.

Implements chrono::fea::ChBeamSectionShape.

◆ GetNumPoints()

virtual unsigned int chrono::fea::ChBeamSectionShapeCircular::GetNumPoints ( unsigned int i_line) const
inlineoverridevirtual

Get the number of points to be allocated per each section, for the i-th line in the section.

We assume one also allocates same number of 3d normalss.

Implements chrono::fea::ChBeamSectionShape.

◆ GetPoints()

virtual void chrono::fea::ChBeamSectionShapeCircular::GetPoints ( unsigned int i_line,
std::vector< ChVector3d > & mpoints ) const
inlineoverridevirtual

Compute the points (in the reference of the section).

Note: mpoints must already have the proper size.

Implements chrono::fea::ChBeamSectionShape.


The documentation for this class was generated from the following files:
  • C:/M/B/src/chrono-9.0.1/src/chrono/fea/ChBeamSectionShape.h
  • C:/M/B/src/chrono-9.0.1/src/chrono/fea/ChBeamSectionShape.cpp