Description
Main namespace for the Chrono package.
Namespaces | |
AssemblyAnalysis | |
Enumerations for assembly analysis types. | |
bt_utils | |
Utilities for Bullet-based collision detection. | |
cascade | |
Namespace with classes for the CASCADE module. | |
copter | |
Namespace with classes for the Copter models. | |
curiosity | |
Namespace with classes for the Curiosity model. | |
fea | |
Namespace for FEA classes. | |
fmi2 | |
Namespace with classes for the FMI module (FMI 2.0 support). | |
fmi3 | |
Namespace with classes for the FMI module (FMI 3.0 support). | |
fsi | |
Namespace with classes for the FSI module. | |
gpu | |
Namespace with classes for the Gpu module. | |
irrlicht | |
Namespace with classes for the Irrlicht module. | |
mc_utils | |
Utilities for Chrono multicore collision detection. | |
modal | |
Namespace with classes for the modal module. | |
opengl | |
Namespace with classes for the OpenGL module. | |
parsers | |
Namespace with classes for the Parsers module. | |
particlefactory | |
Namespace for classes that generate flows of particles. | |
postprocess | |
Namespace with classes for the POSTPROCESS module. | |
robosimian | |
Namespace with classes for the RoboSimian model. | |
ros | |
Namespace for Chrono::ROS. | |
sensor | |
Namespace for Chrono::Sensor. | |
synchrono | |
Namespace for SynChrono. | |
turtlebot | |
Namespace with classes for the Turtlebot model. | |
utils | |
Chrono core utilities. | |
vehicle | |
Namespace with classes for the VEHICLE module. | |
viper | |
Namespace with classes for the Viper model. | |
vsg3d | |
Namespace with classes for the VSG module. | |
Classes | |
struct | AngleAxis |
Representation of a rotation as angle-axis. More... | |
struct | AngleSet |
Representation of an Euler/Cardan angle set. More... | |
class | cbtArcArcCollisionAlgorithm |
Custom override of the default Bullet algorithm for 2Darc-2Darc collision. More... | |
class | cbtArcSegmentCollisionAlgorithm |
Custom override of the default Bullet algorithm for 2Dsegment-2Darc collision. More... | |
class | cbtCapsuleBoxCollisionAlgorithm |
Custom override of the default Bullet algorithm for capsule-box collision. More... | |
class | cbtCEtriangleShapeCollisionAlgorithm |
Custom override of the default Bullet algorithm for triangle-triangle collision. More... | |
class | cbtCylshellBoxCollisionAlgorithm |
Custom override of the default Bullet algorithm for cylshell-box collision. More... | |
class | cbtSegmentSegmentCollisionAlgorithm |
Custom override of the default Bullet algorithm for segment-segment collision. More... | |
class | cbtSphereCylinderCollisionAlgorithm |
Custom override of the default Bullet algorithm for sphere-cylinder collision. More... | |
class | cbtVector3CH |
Utility class to convert a Chrono ChVector3d into a Bullet vector3. More... | |
class | Ch3DOFContainer |
Base class for containers of elements with 3 degrees of freedom (fluid nodes, rigid particles). More... | |
struct | ChAABB |
Axis-aligned bounding box. More... | |
class | ChArchive |
Base class for archives with pointers to shared objects. More... | |
class | ChArchiveIn |
Base class for deserializing from archives. More... | |
class | ChArchiveInBinary |
Deserialization from binary stream. More... | |
class | ChArchiveInJSON |
This is a class for deserializing from JSON archives. More... | |
class | ChArchiveInXML |
This is a class for deserializing from XML archives. More... | |
class | ChArchiveOut |
Base class for serializing into archives. More... | |
class | ChArchiveOutBinary |
Serialization to binary stream. More... | |
class | ChArchiveOutJSON |
Serialize objects using JSON format. More... | |
class | ChArchiveOutXML |
Serialize objects using JSON format. More... | |
class | ChAssembly |
Class for assemblies of physical items. More... | |
class | ChAssemblyAnalysis |
Class for assembly analysis. More... | |
class | ChBasisToolsBSpline |
Tools for evaluating basis functions for B-splines, parametrized with parameter u (as lines) These bases are often called "N" in literature. More... | |
class | ChBasisToolsBSplineSurfaces |
Tools for evaluating basis functions for tensor-product surface B-splines, parametrized with parameters u,v (as lines) These bases are often called "R" in literature. More... | |
class | ChBasisToolsNurbs |
Tools for evaluating basis functions for NURBS, parametrized with parameter u (as lines) These bases are often called "R" in literature. More... | |
class | ChBasisToolsNurbsSurfaces |
Tools for evaluating basis functions for tensor-product surface NURBS, parametrized with parameter u,v (as lines) These bases are often called "R" in literature. More... | |
class | ChBezierCurve |
Definition of a piece-wise cubic Bezier approximation of a 3D curve. More... | |
class | ChBezierCurveTracker |
Definition of a tracker on a ChBezierCurve path. More... | |
class | ChBody |
Class for Rigid Bodies. More... | |
class | ChBodyAuxRef |
Class for Rigid Bodies with an auxiliary Reference Frame. More... | |
class | ChBodyEasyBox |
Create rigid bodies with a box shape. More... | |
class | ChBodyEasyClusterOfSpheres |
Create rigid bodies with a shape made of a cluster of spheres. More... | |
class | ChBodyEasyConvexHull |
Create rigid bodies with a convex hull shape. More... | |
class | ChBodyEasyConvexHullAuxRef |
Create rigid body with a convex hull shape, with a reference frame distinct from the centroidal frame. More... | |
class | ChBodyEasyCylinder |
Create rigid bodies with a cylinder shape. More... | |
class | ChBodyEasyEllipsoid |
Create rigid bodies with an ellipsoid shape. More... | |
class | ChBodyEasyMesh |
Create rigid bodies with a mesh shape, with a reference frame distinct from the centroidal frame. More... | |
class | ChBodyEasySphere |
Create rigid bodies with a spherical shape. More... | |
class | ChBodyFrame |
Class for objects that represent moving frames in space and contain state variables. More... | |
class | ChBox |
A box geometric object for collisions and visualization. More... | |
class | ChBroadphase |
Class for performing broad-phase collision detection. More... | |
class | ChCamera |
Class for defining a camera point of view with basic settings. More... | |
class | ChCapsule |
A capsule geometric object for collision and visualization. More... | |
class | ChCastingMap |
Stores type-casting functions between different type pairs, allowing to pick them at runtime from std::type_index or classname Converting pointers between different classes is usually possible by standard type casting, given that the source and destination class types are known at compile time. This class allows to typecast between class types that are known only at runtime. The requirement is that the typecasting function has to be prepared in advance (i.e. at compile time), when the types are still known. For each potential conversion an instance of ChCastingMap has to be declared, together with its typecasting function. This procedure is simplified by the macros CH_UPCASTING(FROM, TO) and CH_UPCASTING_SANITIZED(FROM, TO, UNIQUETAG) When the conversion should take place the following can be called: ConversionMap::Convert(std::string("source_classname"), std::string("destination_classname"), <void* to object>) More... | |
class | ChClassFactory |
A class factory. More... | |
class | ChClassRegistration |
Macro to create a ChDetect_ArchiveInConstructor. More... | |
class | ChClassRegistrationBase |
Base class for all registration data of classes whose objects can be created via a class factory. More... | |
class | ChCLI |
Wrapper for cxxopts. More... | |
class | ChCollisionData |
Global data for the custom Chrono multicore collision system. More... | |
class | ChCollisionInfo |
Class defining basic geometric information for collision pairs. More... | |
class | ChCollisionModel |
Class defining the geometric model for collision detection. More... | |
class | ChCollisionModelBullet |
Class defining the Bullet geometric model for collision detection. More... | |
class | ChCollisionModelMulticore |
Geometric model for the custom multicore Chrono collision system. More... | |
class | ChCollisionPair |
Class for storing information about a collision point. More... | |
class | ChCollisionShape |
Class defining a collision shape. More... | |
class | ChCollisionShapeArc2D |
Collision 2D arc shape. More... | |
class | ChCollisionShapeBarrel |
Collision barrel shape. More... | |
class | ChCollisionShapeBox |
Collision box shape. More... | |
class | ChCollisionShapeCapsule |
Collision capsule shape. More... | |
class | ChCollisionShapeCone |
Collision cone shape. More... | |
class | ChCollisionShapeConvexHull |
Collision convex hull shape. More... | |
class | ChCollisionShapeCylinder |
Collision cylinder shape. More... | |
class | ChCollisionShapeCylindricalShell |
Collision cylindrical shell shape. More... | |
class | ChCollisionShapeEllipsoid |
Collision ellipsoid shape. More... | |
class | ChCollisionShapeMeshTriangle |
Collision shape representing a triangle in a connected mesh. More... | |
class | ChCollisionShapePath2D |
Collision 2D path shape. More... | |
class | ChCollisionShapePoint |
Collision point shape. More... | |
class | ChCollisionShapeRoundedBox |
Collision rounded-box shape. More... | |
class | ChCollisionShapeRoundedCylinder |
Collision rounded-cylinder shape. More... | |
class | ChCollisionShapeSegment |
Collision segment shape. More... | |
class | ChCollisionShapeSegment2D |
Collision 2D segment shape. More... | |
class | ChCollisionShapeSphere |
Collision sphere shape. More... | |
class | ChCollisionShapeTriangle |
Collision triangle shape. More... | |
class | ChCollisionShapeTriangleMesh |
Collision mesh shape. More... | |
class | ChCollisionSystem |
Base class for generic collision engine. More... | |
class | ChCollisionSystemBullet |
Collision engine based on the Bullet library. More... | |
class | ChCollisionSystemChronoMulticore |
Chrono custom multicore collision system. More... | |
class | ChCollisionSystemMulticore |
Chrono multicore collision system. More... | |
class | ChColor |
Definition of a visual color. More... | |
class | ChCone |
A conical geometric object for collisions and visualization. More... | |
class | ChConstantDistribution |
Class for a distribution with a single 'value' that has probability 1.0. More... | |
class | ChConstraint |
Base class for representing constraints (bilateral or unilateral). More... | |
class | ChConstraintBilateral |
Bilateral (joint) constraints. More... | |
class | ChConstraintNgeneric |
Constraint between N objects of type ChVariables(). More... | |
class | ChConstraintRigidRigid |
Unilateral (contact) constraints. More... | |
class | ChConstraintThree |
This class is inherited by the base ChConstraint(), which does almost nothing. More... | |
class | ChConstraintThreeBBShaft |
Constraint between two bodies (2x6dof in space) and a 1D dof (a shaft). More... | |
class | ChConstraintThreeGeneric |
Constraint between three objects of type ChVariables(), with generic number of scalar variables each. More... | |
class | ChConstraintTuple_1vars |
This is a container for 'half' of a constraint, and contains a tuple of 1 or 2 or 3 differently-sized jacobian chunks. More... | |
class | ChConstraintTuple_2vars |
Case of tuple with reference to 2 ChVariable objects: More... | |
class | ChConstraintTuple_3vars |
Case of tuple with reference to 3 ChVariable objects: More... | |
class | ChConstraintTuple_4vars |
Case of tuple with reference to 4 ChVariable objects: More... | |
class | ChConstraintTwo |
This class implements the functionality for a constraint between a COUPLE of TWO objects of type ChVariables(), and defines two constraint matrices, whose column number automatically matches the number of elements in variables vectors. More... | |
class | ChConstraintTwoBodies |
Constraint between two objects of type ChVariablesBody. More... | |
class | ChConstraintTwoGeneric |
This class implements the functionality for a constraint between a COUPLE of TWO objects of type ChVariables(), with generic number of scalar variables each (ex.ChVariablesGeneric() or ChVariablesBody() ) and defines two constraint matrices, whose column number automatically matches the number of elements in variables vectors. More... | |
class | ChConstraintTwoGenericBoxed |
This class is inherited from the base ChConstraintTwoGeneric, which can be used for most pairwise constraints, and adds the feature that the multiplier must be l_min < l < l_max that is, the multiplier is 'boxed'. More... | |
class | ChConstraintTwoTuples |
This constraint is built on top of two ChConstraintTuple objects, each with a tuple of 1 or 2 or 3 differently-sized jacobian chunks. More... | |
class | ChConstraintTwoTuplesContactN |
Normal reaction between two objects, each represented by a tuple of ChVariables objects. More... | |
class | ChConstraintTwoTuplesFrictionT |
Base class for friction constraints between two objects, each represented by a tuple of ChVariables objects. More... | |
class | ChConstraintTwoTuplesFrictionTall |
This is enough to use dynamic_casting<> to detect all template types from ChConstraintTwoTuplesFrictionT. More... | |
class | ChConstraintTwoTuplesRollingN |
Normal reaction between two objects, each represented by a tuple of ChVariables objects. More... | |
class | ChConstraintTwoTuplesRollingNall |
This is enough to use dynamic_casting<> to detect all template types from ChConstraintTwoTuplesRollingN. More... | |
class | ChConstraintTwoTuplesRollingT |
Base class for friction constraints between two objects, each represented by a tuple of ChVariables objects. More... | |
class | ChConstraintTwoTuplesRollingTall |
This is enough to use dynamic_casting<> to detect all template types from ChConstraintTwoTuplesRollingT. More... | |
class | ChContactable |
Interface for objects that generate contacts. More... | |
class | ChContactContainer |
Class representing a container of many contacts. More... | |
class | ChContactContainerMulticore |
Class representing a container of many contacts, implemented as a linked list of contact tuples. More... | |
class | ChContactContainerMulticoreNSC |
Specialization of the multicore contact container for NSC contacts. More... | |
class | ChContactContainerMulticoreSMC |
Specialization of the multicore contact container for SMC contacts. More... | |
class | ChContactContainerNSC |
Class representing a container of many non-smooth contacts. More... | |
class | ChContactContainerSMC |
Class representing a container of many smooth (penalty) contacts. More... | |
class | ChContactMaterial |
Base class for specifying material properties for contact force generation. More... | |
class | ChContactMaterialComposite |
Base class for composite material for a contact pair. More... | |
class | ChContactMaterialCompositeNSC |
Composite NSC material data for a contact pair. More... | |
class | ChContactMaterialCompositeSMC |
Composite SMC material data for a contact pair. More... | |
class | ChContactMaterialCompositionStrategy |
Base class for material composition strategy. More... | |
class | ChContactMaterialData |
Material information for a collision shape. More... | |
class | ChContactMaterialNSC |
Material data for a collision surface for use with non-smooth (complementarity) contact method. More... | |
class | ChContactMaterialSMC |
Material data for a collision surface for use with smooth (penalty) contact method. More... | |
class | ChContactNSC |
Class for non-smooth contact between two generic ChContactable objects. More... | |
class | ChContactNSCrolling |
Class for non-smooth contact between two generic ChContactable objects. More... | |
class | ChContactSMC |
Class for smooth (penalty-based) contact between two generic contactable objects. More... | |
class | ChContactTuple |
Base class for contact between two generic ChContactable objects. More... | |
class | ChContinuumDistribution |
Class that can be used to generate sample numbers according to a probability distribution. More... | |
class | ChConvexDecomposition |
Base interface class for convex decomposition. More... | |
class | ChConvexDecompositionHACD |
Class for wrapping the HACD convex decomposition code by Khaled Mamou. More... | |
class | ChConvexDecompositionHACDv2 |
Class for wrapping the HACD convex decomposition code revisited by John Ratcliff. More... | |
class | ChConveyor |
Class for conveyor belt. More... | |
class | ChCoordsys |
Representation of a transform with translation and rotation. More... | |
class | ChCubicSpline |
Implementation of 1-D piece-wise cubic spline curves. More... | |
class | ChCylinder |
A cylindrical geometric object for collisions and visualization. More... | |
class | ChDefaultContactForceTorqueSMC |
Default implementation of the SMC normal and tangential force calculation. More... | |
class | ChDirectSolverLS |
Base class for sparse direct linear solvers. More... | |
class | ChDirectSolverLScomplex |
Base class for sparse direct linear solvers with complex coefficients. More... | |
class | ChDiscreteDistribution |
Class that can be used to generate sample numbers according to a discrete probability distribution. More... | |
class | ChDistribution |
Base class for all random distributions. More... | |
class | ChEllipsoid |
An ellipsoid geometric object for collisions and such. More... | |
class | ChEnumMapperBase |
Class for mapping enums to ChNameValue pairs that contain a 'readable' ascii string of the selected enum. More... | |
class | ChExplicitTimestepper |
Base properties for explicit solvers. More... | |
class | ChExternalDynamicsDAE |
Physics element that carries its own dynamics, described as an index-3 DAE IVP of the form: More... | |
class | ChExternalDynamicsODE |
Physics element that carries its own dynamics, described as an ODE IVP of the form: More... | |
class | ChExternalFmu |
Chrono physics item that wraps a model exchange FMU. More... | |
class | ChFeeder |
Class for feeders like vibrating bowls, conveyor belts. More... | |
class | ChFluidContainer |
Container of fluid particles. More... | |
class | ChFmMatrix34 |
Special MBD 3x4 matrix [Fm(q)], as in [Fp(q)] * [Fm(q)]' = [A(q)]. More... | |
class | ChFmuWrapper |
Abstract interface to a model exchange FMU. More... | |
class | ChForce |
Forces are objects which must be attached to rigid bodies in order to apply torque or force to such body. More... | |
class | ChFpMatrix34 |
Special MBD 3x4 matrix [Fp(q)], as in [Fp(q)] * [Fm(q)]' = [A(q)]. More... | |
class | ChFrame |
Representation of a 3D transform. More... | |
class | ChFrameMoving |
Representation of a moving 3D. More... | |
class | ChFseqNode |
Node for the list of functions in a ChFunctionSequence object. More... | |
class | ChFunction |
Interface base class for scalar functions. More... | |
class | ChFunctionBSpline |
B-Spline motion function. More... | |
class | ChFunctionConst |
Function returnin a constant value. More... | |
class | ChFunctionConstAcc |
Constant acceleration function. More... | |
class | ChFunctionConstJerk |
Ramp function composed by seven segments with constant jerk. More... | |
class | ChFunctionCycloidal |
Cycloidal step function. More... | |
class | ChFunctionDerivative |
Derivative of a function. More... | |
class | ChFunctionFillet3 |
Cubic fillet function. More... | |
class | ChFunctionIntegral |
Integral of a function. More... | |
class | ChFunctionInterp |
Interpolation function. More... | |
class | ChFunctionLambda |
Lambda function wrapper Allows the usage of C++ lambda functions as ChFunction objects. More... | |
class | ChFunctionMirror |
Mirror function. More... | |
class | ChFunctionOperator |
Operation between functions: More... | |
class | ChFunctionPoly |
Polynomial function. More... | |
class | ChFunctionPoly23 |
Cubic smooth step. More... | |
class | ChFunctionPoly345 |
Polynomial step function y = h * (10*(x/w)^3 - 15*(x/w)^4 + 6*(x/w)^5) where: More... | |
class | ChFunctionPosition |
Interface base class for scalar->vector functions. More... | |
class | ChFunctionPositionLine |
A motion function p=f(s) where p(t) is defined with a ChLine geometry object, ex. More... | |
class | ChFunctionPositionSetpoint |
A motion function p=f(s) where p(t) is an externally-provided sample, as a ZERO_ORDER_HOLD (zero order hold) of FIRST_ORDER_HOLD (first order). More... | |
class | ChFunctionPositionXYZFunctions |
A motion function p=f(s) where p(t) is defined with three independent ChFunction objects, each for px, py, pz component. More... | |
class | ChFunctionRamp |
Ramp function. More... | |
class | ChFunctionRepeat |
Repeat function: y = __/__/__/ More... | |
class | ChFunctionRotation |
Interface base class for scalar->quaternion functions of the type: More... | |
class | ChFunctionRotationABCFunctions |
A rotation function q=f(s) where q(s) is defined with three ChFunction objects, each per an an angle in an intrinsic triplets of angles (e.g. More... | |
class | ChFunctionRotationAxis |
A rotation function q=f(s) where q(s) is defined with axis V and angle alpha, assuming fixed axis of rotation V and a angle of rotation alpha about that axis, expressed with a ChFunction object alpha=alpha(s). More... | |
class | ChFunctionRotationBSpline |
A rotation function q=f(s) that interpolates n rotations using a "quaternion B-Spline" of generic order. More... | |
class | ChFunctionRotationSetpoint |
A rotation q=f(s) provided from a rotation sample, continuously updated by the user, behaving as a ZERO_ORDER_HOLD (zero order hold) of FIRST_ORDER_HOLD (first order). More... | |
class | ChFunctionRotationSQUAD |
A rotation function q=f(s) that interpolates n rotations using a SQUAD spherical quadrangle interpolation between quaternions. More... | |
class | ChFunctionSequence |
Sequence function: y = sequence_of_functions(f1(y), f2(y), f3(y)) All other function types can be inserted into this. More... | |
class | ChFunctionSetpoint |
Function that returns Y from an externally-provided value, as a ZERO_ORDER_HOLD (zero order hold) block. More... | |
class | ChFunctionSetpointCallback |
Interface for functions that uses a callback to return a Y value, as a ZERO_ORDER_HOLD (zero order hold) block. More... | |
class | ChFunctionSine |
Sine function y = A*sin(2*PI*f + phase)`. More... | |
class | ChFunctionSineStep |
Sinusoidal ramp between two (x,y) points p1 and p2. More... | |
class | ChFunctorArchiveIn |
Functor to call the ArchiveIn function for unrelated classes that implemented them. More... | |
class | ChGeometry |
Base class for geometric objects used for collisions and visualization. More... | |
class | ChGlMatrix34 |
Special MBD 3x4 matrix [Gl(q)], as in local angular speed conversion. More... | |
class | ChGlyphs |
Class for referencing a set of 'glyphs', that are simple symbols such as arrows or points to be drawn for showing vector directions etc. More... | |
class | ChGwMatrix34 |
Special MBD 3x4 matrix [Gw(q)], as in absolute angular speed conversion. More... | |
class | ChHydraulicActuator2 |
Hydraulic actuator using a circuit with 2 volumes. More... | |
class | ChHydraulicActuator3 |
Hydraulic actuator using a circuit with 3 volumes. More... | |
class | ChHydraulicActuatorBase |
Base class for a hydraulic actuator. More... | |
class | ChHydraulicCylinder |
ChHydraulicCylinder - a simple hydraulic cylinder Schematic: More... | |
class | ChHydraulicDirectionalValve4x3 |
ChHydraulicDirectionalValve4x3 - a computational model of 4/3 directional valve Schematic: More... | |
class | ChHydraulicThrottleValve |
ChHydraulicThrottleValve - a semi-empirical model of a throttle valve Schematic: More... | |
class | ChImplicitIterativeTimestepper |
Base properties for implicit solvers. More... | |
class | ChImplicitTimestepper |
Base class for implicit solvers (double inheritance) More... | |
class | ChIndexedNodes |
Interface class for clusters of points that can be accessed with an index. More... | |
class | ChIndexedParticles |
Interface class for clusters of particles that can be accessed with an index. More... | |
class | ChInertiaUtils |
Class with some static functions that can be used to make computations with inertia tensors. More... | |
class | ChIntegrable |
Interface class for all objects that support time integration. More... | |
class | ChIntegrableIIorder |
Special subcase: II-order differential system. More... | |
class | ChIntegrand1D |
Base class for 1D integrand T = f(x) to be used in ChQuadrature. More... | |
class | ChIntegrand2D |
Base class for 2D integrand T = f(x,y) to be used in ChQuadrature. More... | |
class | ChIntegrand3D |
Base class for 3D integrand T = f(x,y,z) to be used in ChQuadrature. More... | |
class | ChIterativeSolver |
Base class for iterative solvers. More... | |
class | ChIterativeSolverLS |
Base class for Chrono solvers based on Eigen iterative linear solvers. More... | |
class | ChIterativeSolverMulticore |
Base class for all iterative solvers. More... | |
class | ChIterativeSolverMulticoreNSC |
Wrapper class for all complementarity solvers. More... | |
class | ChIterativeSolverMulticoreSMC |
Iterative solver for SMC (penalty-based) problems. More... | |
class | ChIterativeSolverVI |
Base class for iterative solvers aimed at solving complementarity problems arising from QP optimization problems. More... | |
class | ChKRMBlock |
Sparse blocks loaded into the KRM global matrix, associated with a set of variables. More... | |
class | ChLine |
Base class for all geometric objects representing lines in 3D space. More... | |
class | ChLineArc |
Geometric object representing an arc or a circle in 3D space. More... | |
class | ChLineBezier |
Geometric object representing a piecewise cubic Bezier curve in 3D. More... | |
class | ChLineBSpline |
Geometric object representing a Bspline spline. More... | |
class | ChLineCam |
Geometric object describing the profile of a cam. More... | |
class | ChLineNurbs |
Geometric object representing a NURBS spline. More... | |
class | ChLinePath |
Geometric object representing an sequence of other ChLine objects, The ChLine objects are assumed to be properly concatenated and to have C0 continuity. More... | |
class | ChLinePoly |
Geometric object representing a polygonal line in 3D space, controlled by control points. More... | |
class | ChLineSegment |
Geometric object representing a segment in 3D space with two end points. More... | |
class | ChLink |
Base class for joints between two ChBodyFrame objects. More... | |
class | ChLinkBase |
Base class for all types of constraints in the 3D space. More... | |
class | ChLinkBushing |
Link with up to 6-degree-of-freedom linear compliance between rigid bodies. More... | |
class | ChLinkDistance |
Fixed distance constraint between two points on two ChBodyFrame objects. More... | |
class | ChLinkForce |
Class for forces in link joints of type ChLinkLock. More... | |
class | ChLinkLimit |
Class for limits in ChLinkLock joints. More... | |
class | ChLinkLock |
Base class for joints implemented using the "lock" formulation. More... | |
class | ChLinkLockAlign |
Align joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockBrake |
Link representing a brake between two rigid bodies, including the sticking effect. More... | |
class | ChLinkLockClearance |
A class for the custom fast simulation of revolute joints with clearance. More... | |
class | ChLinkLockCylindrical |
Cylindrical joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockFree |
Free joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockGear |
Gear link between two rigid bodies. More... | |
class | ChLinkLockLinActuator |
Linear actuator between two markers on two rigid bodies The distance between the two markers changes in time following a user-provided function. More... | |
class | ChLinkLockLock |
6-dof locked joint, with the link-lock formulation. More... | |
class | ChLinkLockOldham |
Oldham joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockParallel |
Parallel joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockPerpend |
Perpendicularity joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockPlanar |
Plane-plane joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockPointLine |
Point-line joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockPointPlane |
Point-plane joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockPointSpline |
ChLinkLockPointSpline class. More... | |
class | ChLinkLockPrismatic |
Prismatic joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockPulley |
Class to create pulleys on two rigid bodies, connected by a belt. More... | |
class | ChLinkLockRevolute |
Revolute joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockRevolutePrismatic |
RevolutePrismatic joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockScrew |
Screw joint between two rigid bodies. More... | |
class | ChLinkLockSpherical |
Spherical joint, with the 'ChLinkLock' formulation. More... | |
class | ChLinkLockTrajectory |
ChLinkLockTrajectory class. More... | |
class | ChLinkMarkers |
Class for links which connect two 'markers'. More... | |
class | ChLinkMask |
Mask structure for N scalar constraint equations between two bodies. More... | |
class | ChLinkMaskLF |
Specialized ChLinkMask class, for constraint equations of the ChLinkLock link. More... | |
class | ChLinkMate |
Base class for constraints between two frames attached to two bodies. More... | |
class | ChLinkMateCylindrical |
Mate constraint of coaxial type. More... | |
class | ChLinkMateDistanceZ |
Mate constraining distance of origin of frame 2 respect to Z axis of frame 1. More... | |
class | ChLinkMateFix |
Mate constraint to completely fix relative motion of two frames. More... | |
class | ChLinkMateGeneric |
Generic mate constraint. More... | |
class | ChLinkMateOrthogonal |
Mate constraint of orthogonal type. More... | |
class | ChLinkMateParallel |
Mate constraint of parallel type. More... | |
class | ChLinkMatePlanar |
Mate constraint of plane-to-plane type. More... | |
class | ChLinkMatePrismatic |
Mate constraint of prismatic type. More... | |
class | ChLinkMateRackPinion |
Rack-pinion link between two body frames. More... | |
class | ChLinkMateRevolute |
Mate constraint of revolute type. More... | |
class | ChLinkMateSpherical |
Mate constraint of spherical type. More... | |
class | ChLinkMotionImposed |
A joint to enforce position and rotation between two frames on two bodies, using six rheonomic constraints. More... | |
class | ChLinkMotor |
Base class for all "motor" constraints between two frames on two bodies. More... | |
class | ChLinkMotorLinear |
Base class for all linear "motor" constraints between two frames on two bodies. More... | |
class | ChLinkMotorLinearDriveline |
Couples the relative translation of two bodies (along Z direction of the link frames) with the rotation of a 1D shaft. More... | |
class | ChLinkMotorLinearForce |
A linear motor that applies a force between two frames on two bodies along Z axis. More... | |
class | ChLinkMotorLinearPosition |
A linear motor that enforces the position z(t) between two frames on two bodies, using a rheonomic constraint. More... | |
class | ChLinkMotorLinearSpeed |
A linear motor that enforces the speed v(t) between two frames on two bodies, using a rheonomic constraint. More... | |
class | ChLinkMotorRotation |
Base class for all rotational "motor" constraints between two frames on two bodies. More... | |
class | ChLinkMotorRotationAngle |
A motor that enforces the rotation angle r(t) between two frames on two bodies, using a rheonomic constraint. More... | |
class | ChLinkMotorRotationDriveline |
Couple for the relative rotation of two bodies (along the link frame Z direction) with the rotation of a 1D shaft. More... | |
class | ChLinkMotorRotationSpeed |
A motor that enforces the angular speed w(t) between two frames on two bodies, using a rheonomic constraint. More... | |
class | ChLinkMotorRotationTorque |
A motor that applies a torque between two frames on two bodies. More... | |
class | ChLinkRevolute |
Class for modeling a revolute joint between two two ChBodyFrame objects. More... | |
class | ChLinkRevoluteSpherical |
Composite revolute-spherical joint between two two bodies. More... | |
class | ChLinkRevoluteTranslational |
Class for modeling a composite revolute-translational joint between two ChBodyFrame objects. More... | |
class | ChLinkRSDA |
Class for rotational spring-damper-actuator (RSDA) with the torque specified through a functor object. More... | |
class | ChLinkTSDA |
Class for translational spring-damper-actuator (TSDA) with the force optionally specified through a functor object. More... | |
class | ChLinkUniversal |
Class for modeling a universal joint between two two ChBodyFrame objects. More... | |
class | ChLoad |
Load acting on a single ChLoadable item, via ChLoader objects. More... | |
class | ChLoadable |
Interface for objects that can be subject to loads (forces) Forces can be distributed on UV surfaces, or lines, etc.,so look also the more detailed children classes. More... | |
class | ChLoadableU |
Interface for objects that can be subject to line loads, distributed along U coordinate of the object. More... | |
class | ChLoadableUV |
Interface for objects that can be subject to area loads, distributed along UV coordinates of the object. More... | |
class | ChLoadableUVW |
Interface for objects that can be subject to volume loads, distributed along UVW coordinates of the object. More... | |
class | ChLoadBase |
Base class for loads. More... | |
class | ChLoadBodyBody |
Base class for wrench loads (a force + a torque) acting between two bodies. More... | |
class | ChLoadBodyBodyBushingGeneric |
Load for a visco-elastic translational/rotational bushing acting between two bodies. More... | |
class | ChLoadBodyBodyBushingMate |
Load for a visco-elastic translational/rotational bushing acting between two bodies. More... | |
class | ChLoadBodyBodyBushingPlastic |
Load for a visco-elasto-plastic bushing acting between two bodies. More... | |
class | ChLoadBodyBodyBushingSpherical |
Load for a visco-elastic bushing acting between two bodies. More... | |
class | ChLoadBodyBodyTorque |
Load representing a torque applied between two bodies. More... | |
class | ChLoadBodyForce |
Load representing a concentrated force acting on a rigid body. More... | |
class | ChLoadBodyInertia |
Load for adding mass and inertia to a body. More... | |
class | ChLoadBodyMesh |
Loads applied to a triangle mesh associated with a ChBody, as a cluster of forces operating on the rigid body. More... | |
class | ChLoadBodyTorque |
Load representing a torque applied to a rigid body. More... | |
class | ChLoadContainer |
A container of ChLoad objects. More... | |
class | ChLoadCustom |
Loads acting on a single ChLoadable item. More... | |
class | ChLoadCustomMultiple |
Loads acting on multiple ChLoadable items. More... | |
class | ChLoader |
Loads applied to a single ChLoadable object. More... | |
class | ChLoaderForceOnSurface |
Simple surface loader: a constant force vector, applied to a point on a u,v surface. More... | |
class | ChLoaderGravity |
Commonly used volume loader: constant gravitational load. More... | |
class | ChLoaderNodeXYZ |
Loader for a constant force applied at a XYZ node. More... | |
class | ChLoaderPressure |
Commonly used surface loader: constant pressure load, a 3D per-area force aligned with the surface normal. More... | |
class | ChLoaderU |
Loaders for ChLoadableU objects (which support line loads). More... | |
class | ChLoaderUatomic |
Loader for ChLoadableU objects (which support line loads), for concentrated loads. More... | |
class | ChLoaderUdistributed |
Loader for ChLoadableU objects (which support line loads), for loads of distributed type. More... | |
class | ChLoaderUV |
Loaders for ChLoadableUV objects (which support surface loads). More... | |
class | ChLoaderUVatomic |
Loaders for ChLoadableUV objects (which support surface loads), for concentrated loads. More... | |
class | ChLoaderUVdistributed |
Loaders for ChLoadableUV objects (which support surface loads), for loads of distributed type. More... | |
class | ChLoaderUVW |
Loaders for ChLoadableUVW objects (which support volume loads). More... | |
class | ChLoaderUVWatomic |
Loaders for ChLoadableUVW objects (which support volume loads), for concentrated loads. More... | |
class | ChLoaderUVWdistributed |
Loaders for ChLoadableUVW objects (which support volume loads), for loads of distributed type. More... | |
class | ChLoadJacobians |
Utility class for storing Jacobian matrices. More... | |
class | ChLoadNodeXYZ |
Force at XYZ node (ready to use load). More... | |
class | ChLoadNodeXYZBody |
Base class for loads representing a concentrated force acting between a ChNodeXYZ and a ChBody Users should inherit from this and implement a custom ComputeForce(). More... | |
class | ChLoadNodeXYZBodyBushing |
Load representing a XYZ bushing between a ChNodeXYZ and a ChBody application point, with given with spring stiffness as a ChFunction of displacement, for each X,Y,Z direction along the auxiliary frame at the attachment point. More... | |
class | ChLoadNodeXYZBodySpring |
Load representing a spring between a ChNodeXYZ and a ChBody. More... | |
class | ChLoadNodeXYZForce |
Base class for loads representing a concentrated force acting on a ChNodeXYZ. More... | |
class | ChLoadNodeXYZForceAbs |
Load representing a concentrated force acting on a ChNodeXYZ. More... | |
class | ChLoadNodeXYZNodeXYZ |
Base class for loads representing a concentrated force acting between two ChNodeXYZ. More... | |
class | ChLoadNodeXYZNodeXYZBushing |
Load representing an XYZ bushing between two ChNodeXYZ. More... | |
class | ChLoadNodeXYZNodeXYZSpring |
Load representing a spring between two ChNodeXYZ. More... | |
class | ChLumpingParms |
Helper class for lumping parameters. More... | |
class | ChMarker |
Markers are auxiliary reference frames attached to a rigid body and moving with the body. More... | |
class | ChMatlabEngine |
Class for accessing the Matlab engine with a C++ wrapper. More... | |
class | ChMatrix33 |
Definition of a 3x3 fixed-size matrix to represent 3D rotations and inertia tensors. More... | |
class | ChMulticoreDataManager |
Global data manager for Chrono::Multicore. More... | |
class | ChMumpsEngine |
Wrapper class for the MUMPS direct linear solver. More... | |
class | ChNameValue |
Class to manage name-value pairs for serialization/deserialization. More... | |
class | ChNarrowphase |
Class for performing narrowphase collision detection. More... | |
class | ChNodeBase |
Class for a node, that has some degrees of freedom. More... | |
class | ChNodeXYZ |
Class for a single 'point' node, that has 3 DOF degrees of freedom and a mass. More... | |
class | ChNonlinearSolver |
Solver for systems of nonlinear equations. More... | |
class | ChNormalDistribution |
Class that generates the Gauss Normal distribution (the 'bell' distribution). More... | |
class | ChObj |
Base class for all Chrono objects. More... | |
class | ChObjectExplorer |
A helper class to provide some basic mechanism of C++ reflection (introspection). More... | |
class | ChOMP |
Dummy no-op functions in case that no parallel multithreading via OpenMP is available. More... | |
class | CHOMPmutex |
Dummy no-op mutex in case that no parallel multithreading via OpenMP is available. More... | |
struct | CHOMPscopedLock |
Exception-safe wrapper to a mutex: it automatically locks the mutex as soon as the wrapper is created, and releases the mutex when the wrapper is deleted (you simply put the wrapper in a code section delimited by {} parentheses, so it is deleted by the compiler when exiting the scope of the section or in case of premature exit because of an exception throw) More... | |
class | ChOutputASCII |
Output objects structure to a human-readable ASCII format. More... | |
class | ChParticle |
Class for a single particle clone in the ChParticleCloud cluster. More... | |
class | ChParticleBase |
Base class for a single particle to be used in ChIndexedParticles containers. More... | |
class | ChParticleCloud |
Class for clusters of 'clone' particles, that is many rigid objects with the same shape and mass. More... | |
class | ChParticleContainer |
Container of rigid particles (3 DOF). More... | |
class | ChPhysicsItem |
Base class for physics items that are part of a simulation. More... | |
class | ChProjectConstraints |
Functor class for performing projection on the hyper-cone. More... | |
class | ChProjectNone |
Functor class for performing a single cone projection. More... | |
class | ChProperty |
Base class for properties to attach to vertices or particles as arrays of data. More... | |
class | ChPropertyColor |
Data is an array of colors. More... | |
class | ChPropertyQuaternion |
Data is an array of quaternions (for rotations) More... | |
class | ChPropertyScalar |
Data is an array of floats. More... | |
class | ChPropertyT |
Templated property: a generic array of items of type T. More... | |
class | ChPropertyVector |
Data is an array of vectors. More... | |
class | ChProximityContainer |
Class representing the interface for containers of proximity pairs, that is pairs of collision models that have been obtained from the broadphase collision. More... | |
class | ChQuadrature |
Gauss-Legendre quadrature in 1D, 2D, or 3D. More... | |
class | ChQuadratureTables |
Polynomial roots and weights for the Gauss-Legendre quadrature. More... | |
class | ChQuadratureTablesTetrahedron |
Polynomial roots and weights for quadrature over a tetrahedron. More... | |
class | ChQuadratureTablesTriangle |
Polynomial roots and weights for quadrature over a triangle. More... | |
class | ChQuaternion |
Class defining quaternion objects, that is four-dimensional numbers. More... | |
class | ChRayTest |
Class for performing ray intersection tests. More... | |
class | ChRealtimeStepTimer |
Class for a timer which attempts to enforce soft real-time. More... | |
class | ChRoundedBox |
A rounded box (sphere-swept box) geometric object for collisions and visualization. More... | |
class | ChRoundedCylinder |
A rounded cylinder (sphere-swept cylinder) geometric object for collision and visualization. More... | |
class | ChSchurProduct |
Functor class for calculating the Schur product of the matrix of unilateral constraints. More... | |
class | ChSchurProductBilateral |
Functor class for performing the Schur product of the matrix of bilateral constraints. More... | |
class | ChShaft |
Class for one-degree-of-freedom mechanical parts with associated inertia (mass or moment of rotational inertia). More... | |
class | ChShaftBodyRotation |
Constraint between a 3D ChBody object and a ChShaft object that represents a 1D rotational DOF. More... | |
class | ChShaftBodyTranslation |
Constraint between a 3D ChBody object and a ChShaft object that represents a 1D translational DOF. More... | |
class | ChShaftsAppliedTorque |
Class for defining a user-defined torque between two one-degree-of-freedom parts. More... | |
class | ChShaftsClutch |
Class for defining a clutch or a brake (1D model) between two one-degree-of-freedom parts. More... | |
class | ChShaftsCouple |
Base class for defining constraints between a couple of two one-degree-of-freedom parts. More... | |
class | ChShaftsElasticGear |
Elastic gear coupling between two shafts. More... | |
class | ChShaftsFreewheel |
Class for defining a 'freewheel' (a 1D model of a ratchet wheel) between two one-degree-of-freedom parts. More... | |
class | ChShaftsGear |
Class for defining a 'transmission ratio' (a 1D gear) between two one-degree-of-freedom parts. More... | |
class | ChShaftsGearbox |
Class for defining a gearbox. More... | |
class | ChShaftsGearboxAngled |
Class for defining a gearbox with 1D input and 1D output, but with different directions in 3D space. More... | |
class | ChShaftsLoad |
Base class for defining loads between a couple of two one-degree-of-freedom parts. More... | |
class | ChShaftsMotor |
Base class for all motors between two 1D elements of ChShaft class. More... | |
class | ChShaftsMotorLoad |
Motor to apply a load between two shafts. More... | |
class | ChShaftsMotorPosition |
Motor to enforce the relative position r(t) between two shafts, using a rheonomic constraint. More... | |
class | ChShaftsMotorSpeed |
Motor to enforce the relative speed w(t) between two shafts, using a rheonomic constraint. More... | |
class | ChShaftsPlanetary |
Class for defining a planetary gear between three one-degree-of-freedom parts. More... | |
class | ChShaftsThermalEngine |
Class for defining a thermal engine between two one-degree-of-freedom parts/ The first shaft is the 'crankshaft' to whom the torque is applied, the second is the motor block, that receives the negative torque. More... | |
class | ChShaftsTorque |
Base class for all classes defining a torque between two one-degree-of-freedom parts. More... | |
class | ChShaftsTorqueConverter |
Class for defining a torque converter between two one-degree-of-freedom parts. More... | |
class | ChShaftsTorsionSpring |
Class for defining a torsional spring-damper between two 1D parts. More... | |
class | ChShaftsTorsionSpringDamper |
Class for defining a torsional spring-damper between two 1D parts. More... | |
class | ChSharedMassBody |
Reference to a single mass property shared by multiple ChVariablesBodySharedMass objects. More... | |
class | ChSolver |
Base class for all Chrono solvers (for linear problems or complementarity problems). More... | |
class | ChSolverADMM |
An iterative solver based on modified version of ADMM Alternating Direction Method of Multipliers. More... | |
class | ChSolverAPGD |
An iterative solver based on Nesterov's Projected Gradient Descent. More... | |
class | ChSolverBB |
An iterative solver based on modified Krylov iteration of spectral projected gradients with Barzilai-Borwein. More... | |
class | ChSolverBiCGSTAB |
BiCGSTAB iterative solver. More... | |
class | ChSolverComplexPardisoMKL |
Sparse complex Pardiso direct solver. More... | |
class | ChSolverGMRES |
GMRES iterative solver. More... | |
class | ChSolverLS |
Base class for solvers aimed at solving linear systems. More... | |
class | ChSolverMatlab |
Class for using a Matlab linear solver from Chrono programs. More... | |
class | ChSolverMINRES |
MINRES iterative solver. More... | |
class | ChSolverMulticore |
Base class for all Chrono::Multicore solvers. More... | |
class | ChSolverMulticoreAPGD |
Accelerated Projected Gradient Descent (APGD) solver. More... | |
class | ChSolverMulticoreAPGDREF |
Accelerated Projected Gradient Descent (APGD) solver. Reference implementation. More... | |
class | ChSolverMulticoreBB |
Barzilai-Borwein solver. More... | |
class | ChSolverMulticoreCG |
Conjugate gradient solver. More... | |
class | ChSolverMulticoreGS |
Gauss Seidel solver. More... | |
class | ChSolverMulticoreJacobi |
Jacobi solver. More... | |
class | ChSolverMulticoreMinRes |
MINRES solver. More... | |
class | ChSolverMulticoreSPGQP |
Spectral Projected Gradient solver. More... | |
class | ChSolverMumps |
Interface to the MUMPS parallel sparse direct solver. More... | |
class | ChSolverPardisoMKL |
Interface to the Intel MKL Pardiso parallel sparse direct solver. More... | |
class | ChSolverPJacobi |
An iterative solver for VI based on projective fixed point method (projected Jacobi). More... | |
class | ChSolverPMINRES |
An iterative solver based on modified Krylov iteration of MINRES type with gradient projections (similar to nonlinear CG with Polyak-Ribiere). More... | |
class | ChSolverPSOR |
An iterative solver based on projective fixed point method, with overrelaxation and immediate variable update as in SOR methods. More... | |
class | ChSolverPSSOR |
An iterative solver based on symmetric projective fixed point method, with overrelaxation and immediate variable update as in SSOR methods. More... | |
class | ChSolverSparseComplexLU |
Sparse complex LU direct solver. More... | |
class | ChSolverSparseComplexQR |
Sparse complex QR direct solver. More... | |
class | ChSolverSparseLU |
Sparse LU direct solver. More... | |
class | ChSolverSparseQR |
Sparse QR direct solver. More... | |
class | ChSolverVI |
Base class for solvers aimed at solving complementarity problems arising from QP optimization problems. More... | |
class | ChSparsityPatternLearner |
Utility class for extracting sparsity patter from a sparse matrix. More... | |
class | ChSphere |
A spherical geometric object for collisions and visualization. More... | |
class | ChStarMatrix33 |
Special MBD 3x3 "star" matrix, , representing vector cross products. More... | |
class | ChStarMatrix44 |
Special MBD 4x4 "star" matrix, representing quaternion cross product. More... | |
class | ChState |
Class for state of time-integrable objects. More... | |
class | ChStateDelta |
Class for incremental form of state of time-integrable objects. More... | |
class | ChStaticAnalysis |
Base class for static analysis. More... | |
class | ChStaticLinearAnalysis |
Linear static analysis. More... | |
class | ChStaticNonLinearAnalysis |
Nonlinear static analysis. More... | |
class | ChStaticNonLinearIncremental |
Nonlinear static analysis where the user can define external load(s) that will be incremented gradually during the solution process. More... | |
class | ChStaticNonLinearRheonomicAnalysis |
Nonlinear static analysis for a mechanism that is rotating/moving in steady state. More... | |
class | ChStrainTensor |
Class for strain tensors, in compact Voight notation that is with 6 components in a column. More... | |
class | ChStressTensor |
Class for stress tensors, in compact Voight notation that is with 6 components in a column. More... | |
class | ChSurface |
Base class for all geometric objects representing bi-parametric surfaces in 3D space. More... | |
class | ChSurfaceNurbs |
Geometric object representing a NURBS surface. More... | |
class | ChSystem |
Chrono Simulation System. More... | |
class | ChSystemDescriptor |
Base class for collecting objects inherited from ChConstraint, ChVariables and optionally ChKRMBlock. More... | |
class | ChSystemDescriptorMulticore |
System descriptor for Chrono::Multicore. More... | |
class | ChSystemMulticore |
Base class for Chrono::Multicore systems. More... | |
class | ChSystemMulticoreNSC |
Multicore system using non-smooth contact (complementarity-based) method. More... | |
class | ChSystemMulticoreSMC |
Multicore system using smooth contact (penalty-based) method. More... | |
class | ChSystemNSC |
Class for a physical system in which contact is modeled using a non-smooth (complementarity-based) method. More... | |
class | ChSystemSMC |
Class for a physical system in which contact is modeled using a smooth (penalty-based) method. More... | |
class | ChTexture |
Class for defining a texture. More... | |
class | ChTimer |
Chrono wrappers for the high-resolution timer. More... | |
class | ChTimerMulticore |
Utility class for managing a collection of timer objects. More... | |
class | ChTimestepper |
Base class for timesteppers, i.e., time integrators that can advance a system state. More... | |
class | ChTimestepperEulerExpl |
Euler explicit timestepper. More... | |
class | ChTimestepperEulerExplIIorder |
Euler explicit timestepper customized for II order. More... | |
class | ChTimestepperEulerImplicit |
Performs a step of Euler implicit for II order systems. More... | |
class | ChTimestepperEulerImplicitLinearized |
Performs a step of Euler implicit for II order systems using the Anitescu/Stewart/Trinkle single-iteration method, that is a bit like an implicit Euler where one performs only the first Newton corrector iteration. More... | |
class | ChTimestepperEulerImplicitProjected |
Performs a step of Euler implicit for II order systems using a semi implicit Euler without constraint stabilization, followed by a projection. More... | |
class | ChTimestepperEulerSemiImplicit |
Euler semi-implicit timestepper. More... | |
class | ChTimestepperHeun |
Performs a step of a Heun explicit integrator. It is like a 2nd Runge Kutta. More... | |
class | ChTimestepperHHT |
Implementation of the HHT implicit integrator for II order systems. More... | |
class | ChTimestepperIIorder |
Base class for 2nd order timesteppers, i.e., a time integrator for a ChIntegrableIIorder. More... | |
class | ChTimestepperIorder |
Base class for 1st order timesteppers, that is a time integrator for a ChIntegrable. More... | |
class | ChTimestepperLeapfrog |
Performs a step of a Leapfrog explicit integrator. More... | |
class | ChTimestepperNewmark |
Performs a step of Newmark constrained implicit for II order DAE systems. More... | |
class | ChTimestepperRungeKuttaExpl |
Performs a step of a 4th order explicit Runge-Kutta integration scheme. More... | |
class | ChTimestepperTrapezoidal |
Performs a step of trapezoidal implicit for II order systems. More... | |
class | ChTimestepperTrapezoidalLinearized |
Performs a step of trapezoidal implicit linearized for II order systems. More... | |
class | ChTimestepperTrapezoidalLinearized2 |
Performs a step of trapezoidal implicit linearized for II order systems. More... | |
class | ChTriangle |
A triangle geometric shape for collisions and visualization. More... | |
class | ChTriangleMesh |
Base class for triangle meshes. More... | |
class | ChTriangleMeshConnected |
A triangle mesh with connectivity info: vertices can be shared between faces. More... | |
class | ChTriangleMeshSoup |
A basic triangle mesh: just a list of triangles (no edge connectivity info). More... | |
class | ChUniformDistribution |
Class for a distribution with uniform probability between a lower 'min' value and upper 'max' value. More... | |
class | ChValue |
Class to handle C++ values of generic type using type erasure and functors. More... | |
class | ChVariables |
Base class for representing objects that introduce 'variables' and their associated mass submatrices. More... | |
class | ChVariablesBody |
Specialized class for representing a 6-DOF 3D rigid body, with mass matrix and associated variables. More... | |
class | ChVariablesBodyOwnMass |
Specialized class for representing a 6-DOF 3D rigid body, with mass matrix and associated variables. More... | |
class | ChVariablesBodySharedMass |
Specialized class for representing a 6-DOF 3D rigid body, with mass matrix and associated variables. More... | |
class | ChVariablesGeneric |
Specialized class for representing a N-DOF item for a system, that is an item with mass matrix and associate variables. More... | |
class | ChVariablesGenericDiagonalMass |
Specialized class for representing a N-DOF item for a system, that is an item with a diagonal mass matrix and associated variables. More... | |
class | ChVariablesNode |
Specialized class for representing a 3-DOF item for a system, that is a 3D point node, with mass matrix and associate variables (a 3 element vector, ex.speed) More... | |
class | ChVariablesShaft |
Specialized class for representing a 1-DOF item for a system, that is a shaft, with inertia and associated variable (rotational speed) More... | |
class | ChVariableTupleCarrier_1vars |
This is a set of 'helper' classes that make easier to manage the templated structure of the tuple constraints. More... | |
class | ChVector2 |
Definition of a general purpose 2d vector. More... | |
class | ChVector3 |
Definition of general purpose 3d vector variables, such as points in 3D. More... | |
class | ChVisualMaterial |
Definition of a visual material. More... | |
class | ChVisualModel |
Base class for a visual model which encapsulates a set of visual shapes. More... | |
class | ChVisualModelInstance |
A visual model instance encodes a potentially shared visual model and its owning physics item. More... | |
class | ChVisualShape |
Base class for a visualization asset for rendering (run-time or post processing). More... | |
class | ChVisualShapeBarrel |
Class for referencing a barrel shape (a lathed arc) that can be visualized in some way. More... | |
class | ChVisualShapeBox |
Class for a box shape that can be visualized in some way. More... | |
class | ChVisualShapeCapsule |
Class for referencing a capsule shape that can be visualized in some way. More... | |
class | ChVisualShapeCone |
Class for referencing a cone shape that can be visualized in some way. More... | |
class | ChVisualShapeCylinder |
Class for referencing a cylinder shape that can be visualized in some way. More... | |
class | ChVisualShapeEllipsoid |
Class for referencing an ellipsoid shape that can be visualized in some way. More... | |
class | ChVisualShapeFEA |
FEA mesh visualization. More... | |
class | ChVisualShapeLine |
Class for referencing a ChLine that can be visualized in some way. More... | |
class | ChVisualShapeModelFile |
Class for referencing a Wavefront OBJ file containing a shape that can be visualized in some way. More... | |
class | ChVisualShapePath |
Class for referencing a ChLinePath that can be visualized in some way. More... | |
class | ChVisualShapePointPoint |
Base class for visualization of some deformable line shape between two moving points related to the parent ChPhysicsItem. More... | |
class | ChVisualShapeRotSpring |
Shape representing a rotational spring. More... | |
class | ChVisualShapeRoundedBox |
Class for referencing a rounded box shape that can be visualized in some way. More... | |
class | ChVisualShapeRoundedCylinder |
Class for referencing a rounded cylinder shape that can be visualized in some way. More... | |
class | ChVisualShapeSegment |
Shape for visualizing a line segment between two moving points related to the parent ChPhysicsItem. More... | |
class | ChVisualShapeSphere |
A spherical geometric object for collisions and visualization. More... | |
class | ChVisualShapeSpring |
Shape for visualizing a coil spring between two moving points related to the parent ChPhysicsItem. More... | |
class | ChVisualShapeSurface |
Class for referencing a ChSurface u,v, parametric surface that can be visualized in some way. More... | |
class | ChVisualShapeTriangleMesh |
Class for referencing a triangle mesh shape that can be visualized in some way. More... | |
class | ChVisualSystem |
Base class for a Chrono run-time visualization system. More... | |
class | ChVoightTensor |
Base class for stress and strain tensors, in compact Voight notation. More... | |
class | ChVolume |
Base class for all geometric objects representing tri-parametric surfaces in 3D space. More... | |
class | ChWeibullDistribution |
Class that generates a Weibull distribution. More... | |
struct | ChWrench |
Definition of a wrench (force + torque). More... | |
class | ChZhangDistribution |
Class that generates the Zhang distribution, a modified exponential distribution. More... | |
class | collision_measures |
Collision_measures. More... | |
class | collision_settings |
Chrono::Multicore collision_settings. More... | |
class | ConvexBase |
Base class for convex contact shapes. More... | |
class | ConvexShape |
Convex contact shape. More... | |
class | ConvexShapeCustom |
Custom contact shape. More... | |
class | ConvexShapeSphere |
Sphere contact shape. More... | |
class | ConvexShapeTetrahedron |
Tetrahedron contact shape. More... | |
class | ConvexShapeTriangle |
Triangle contact shape. More... | |
class | HeightColorCallback |
Predefined particle cloud dynamic coloring based on particle height. More... | |
struct | host_container |
Structure of arrays containing simulation data. More... | |
class | measures_container |
Aggregate of collision and solver measures. More... | |
struct | MPM_Settings |
Settings for the Material Point Method. More... | |
class | quaternion |
Chrono multicore quaternion class. More... | |
class | real2 |
Chrono::Multicore pair (2-dimensional vector). More... | |
class | real3 |
Chrono::Multicore triplet (3-dimensional vector). More... | |
class | real4 |
Chrono multicore qudruple (4-dimensional array). More... | |
class | settings_container |
Aggregate of all settings for Chrono::Multicore. More... | |
struct | shape_container |
Structure of arrays containing rigid collision shape information. More... | |
class | solver_measures |
Solver measures. More... | |
class | solver_settings |
Chrono::Multicore solver_settings. More... | |
struct | state_container |
Structure of arrays containing state data. More... | |
struct | TimerData |
Wrapper class for a timer object. More... | |
Typedefs | |
typedef std::shared_ptr< ChVisualMaterial > | ChVisualMaterialSharedPtr |
typedef thrust::pair< real3, real3 > | bbox |
typedef int | shape_type |
Readibility type definition. | |
typedef ChCoordsys< double > | ChCoordsysd |
Alias for double-precision coordinate systems. More... | |
typedef ChCoordsys< float > | ChCoordsysf |
Alias for single-precision coordinate systems. More... | |
typedef ChFrame< double > | ChFramed |
Alias for double-precision coordinate frames. More... | |
typedef ChFrame< float > | ChFramef |
Alias for double-precision coordinate frames. More... | |
template<typename T = double> | |
using | ChMatrixDynamic = Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > |
Dense matrix with dynamic size (i.e., with unknown at compile time) and row-major storage. More... | |
template<typename T , int M, int N> | |
using | ChMatrixNM = Eigen::Matrix< T, M, N, Eigen::RowMajor > |
Dense matrix with fixed size (known at compile time) and row-major storage. More... | |
template<typename T = double> | |
using | ChMatrixDynamic_col = Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > |
Dense matrix with dynamic size (i.e., with unknown at compile time) and column-major storage. More... | |
template<typename T , int M, int N> | |
using | ChMatrixNM_col = Eigen::Matrix< T, M, N, Eigen::ColMajor > |
Dense matrix with fixed size (known at compile time) and column-major storage. More... | |
template<typename T > | |
using | ChMatrix66 = ChMatrixNM< T, 6, 6 > |
Alias for a 6x6 matrix templated by coefficient type (row-major storage). | |
using | ChMatrix66d = ChMatrix66< double > |
Alias for a 6x6 matrix of doubles. | |
using | ChMatrix66f = ChMatrix66< float > |
Alias for a 6x6 matrix of floats. | |
template<typename T = double> | |
using | ChVectorDynamic = Eigen::Matrix< T, Eigen::Dynamic, 1, Eigen::ColMajor > |
Column vector with dynamic size (i.e., with size unknown at compile time). More... | |
template<typename T = double> | |
using | ChRowVectorDynamic = Eigen::Matrix< T, 1, Eigen::Dynamic, Eigen::RowMajor > |
Row vector with dynamic size (i.e., with size unknown at compile time). More... | |
template<typename T , int N> | |
using | ChVectorN = Eigen::Matrix< T, N, 1 > |
Column vector with fixed size (known at compile time). More... | |
template<typename T , int N> | |
using | ChRowVectorN = Eigen::Matrix< T, 1, N, Eigen::RowMajor > |
Row vector with fixed size (known at compile time). More... | |
template<typename T = double> | |
using | ChArray = Eigen::Array< T, Eigen::Dynamic, 1, Eigen::ColMajor > |
General-purpose column array with dynamic size. More... | |
template<typename T , int N> | |
using | ChArrayN = Eigen::Array< T, N, 1 > |
Column array with fixed size (known at compile time). More... | |
using | ChMatrixRef = Eigen::Ref< Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > > |
Reference to a dense matrix expression, with double coefficients. More... | |
using | ChMatrixConstRef = const Eigen::Ref< const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > > & |
Constant reference to a dense matrix expression, with double coefficients. More... | |
using | ChVectorRef = Eigen::Ref< Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor > > |
Reference to a column vector expression, with double coefficients. More... | |
using | ChVectorConstRef = const Eigen::Ref< const Eigen::Matrix< double, Eigen::Dynamic, 1, Eigen::ColMajor > > & |
Constant reference to a column vector expression, with double coefficients. More... | |
using | ChRowVectorRef = Eigen::Ref< Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor > > |
Reference to a row vector expression, with double coefficients. More... | |
using | ChRowVectorConstRef = const Eigen::Ref< const Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor > > & |
Constant reference to a row vector expression, with double coefficients. More... | |
template<typename T = double> | |
using | ChArrayRef = Eigen::Ref< Eigen::Array< T, Eigen::Dynamic, Eigen::ColMajor > > & |
Reference to an array expression, templated by coefficient type. More... | |
template<typename T = double> | |
using | ChArrayConstRef = const Eigen::Ref< const Eigen::Array< T, Eigen::Dynamic, 1, Eigen::ColMajor > > & |
Constant reference to an array expression, templated by coefficient type. More... | |
using | ChSparseMatrix = Eigen::SparseMatrix< double, Eigen::RowMajor, int > |
Sparse matrix representation. More... | |
using | ChMatrix33d = ChMatrix33< double > |
Alias for a 3x3 matrix of doubles. | |
using | ChMatrix33f = ChMatrix33< float > |
Alias for a 3x3 matrix of floats. | |
template<typename T = double> | |
using | ChMatrix34 = Eigen::Matrix< T, 3, 4, Eigen::RowMajor > |
3x4 dense matrix (fixed-size, row-major ordering) | |
template<typename T = double> | |
using | ChMatrix43 = Eigen::Matrix< T, 4, 3, Eigen::ColMajor > |
4x3 dense matrix (fixed-size, row-major ordering) | |
template<typename T = double> | |
using | ChMatrix44 = Eigen::Matrix< T, 4, 4, Eigen::RowMajor > |
4x4 dense matrix (fixed-size, row-major ordering) | |
using | ChStarMatrix33d = ChStarMatrix33< double > |
Alias for a 3x3 star matrix of doubles. | |
typedef ChQuaternion< double > | ChQuaterniond |
Alias for double-precision quaternions. More... | |
typedef ChQuaternion< float > | ChQuaternionf |
Alias for single-precision quaternions. More... | |
typedef ChVector2< double > | ChVector2d |
Alias for double-precision vectors. More... | |
typedef ChVector2< float > | ChVector2f |
Alias for single-precision vectors. More... | |
typedef ChVector2< int > | ChVector2i |
Alias for integer vectors. More... | |
typedef ChVector2< bool > | ChVector2b |
Alias for bool vectors. More... | |
typedef ChVector3< double > | ChVector3d |
Alias for double-precision vectors. More... | |
typedef ChVector3< float > | ChVector3f |
Alias for single-precision vectors. More... | |
typedef ChVector3< int > | ChVector3i |
Alias for integer vectors. More... | |
typedef ChVector3< bool > | ChVector3b |
Alias for bool vectors. More... | |
typedef ChWrench< double > | ChWrenchd |
Alias for double-precision wrenches. | |
typedef ChWrench< float > | ChWrenchf |
Alias for single-precision wrenches. | |
typedef double | real |
typedef std::shared_ptr< ChContactMaterial > | ChContactMaterialSharedPtr |
typedef ChVectorN< double, 2 > | Vec2 |
typedef ChVectorN< double, 3 > | Vec3 |
Functions | |
ChVector3f & | FetchOrAllocate (std::vector< ChVector3f > &mvector, unsigned int &id) |
void | TriangleNormalsReset (std::vector< ChVector3d > &normals, std::vector< int > &accumul) |
void | TriangleNormalsCompute (ChVector3i norm_indexes, ChVector3i vert_indexes, std::vector< ChVector3d > &vertexes, std::vector< ChVector3d > &normals, std::vector< int > &accumul) |
void | TriangleNormalsSmooth (std::vector< ChVector3d > &normals, std::vector< int > &accumul) |
int | addContactPoint (const cbtVector3 &pc, int iface, const cbtVector3 &hdims, const cbtTransform &X_box, cbtManifoldResult *resultOut) |
int | addContactPoint (const cbtVector3 &p, const cbtVector3 &c, const cbtVector3 &a, const cbtScalar h, const cbtScalar r, const cbtTransform &X_box, cbtManifoldResult *resultOut) |
int | GetIndex (ChVector3d vertex, std::vector< ChVector3d > &vertexOUT, double tol) |
void | FuseMesh (std::vector< ChVector3d > &vertexIN, std::vector< ChVector3i > &triangleIN, std::vector< ChVector3d > &vertexOUT, std::vector< ChVector3i > &triangleOUT, double tol=0.0) |
void | TransformToCOG (ChBody *body, const ChVector3d &pos, const ChMatrix33<> &rot, ChFrame<> &frame) |
void | DrawHemisphere (ChCollisionSystem::VisualizationCallback *vis, const ChCoordsys<> &csys, double radius, const ChColor &color) |
void | DrawSphere (ChCollisionSystem::VisualizationCallback *vis, const ChCoordsys<> &csys, double radius, const ChColor &color) |
void | DrawBox (ChCollisionSystem::VisualizationCallback *vis, const ChCoordsys<> &csys, const ChVector3d &hdim, const ChColor &color) |
void | DrawCylinder (ChCollisionSystem::VisualizationCallback *vis, const ChCoordsys<> &csys, double radius, double hlen, const ChColor &color) |
void | DrawCone (ChCollisionSystem::VisualizationCallback *vis, const ChCoordsys<> &csys, double radius, double hlen, const ChColor &color) |
void | DrawCapsule (ChCollisionSystem::VisualizationCallback *vis, const ChCoordsys<> &csys, double radius, double hlen, const ChColor &color) |
int | GridCoord (real x, real inv_bin_edge, real minimum) |
int | GridHash (int x, int y, int z, const vec3 &bins_per_axis) |
real3 | GetCenter (const ConvexBase *Shape) |
void | FindCenter (const ConvexBase *shapeA, const ConvexBase *shapeB, simplex &portal) |
void | MPRSupport (const ConvexBase *shapeA, const ConvexBase *shapeB, const real3 &n, const real &envelope, support &s) |
void | ExpandPortal (simplex &portal) |
real3 | PortalDir (const simplex &portal) |
void | FindPos (const simplex &portal, real3 &point) |
int | portalEncapsulesOrigin (const simplex &portal, const real3 &n) |
int | portalCanEncapsuleOrigin (const simplex &portal, const real3 &n) |
int | portalReachTolerance (const simplex &portal, const real3 &n) |
real | Vec3Dist2 (const real3 a, const real3 b) |
real | Vec3PointSegmentDist2 (const real3 &P, const real3 &x0, const real3 &b, real3 &witness) |
real | Vec3PointSegmentDist2 (const real3 &P, const real3 &x0, const real3 &b) |
real | Vec3PointTriDist2 (const real3 &P, const real3 &x0, const real3 &B, const real3 &C, real3 &witness) |
real | Vec3PointTriDist2 (const real3 &P, const real3 &V0, const real3 &V1, const real3 &V2) |
void | FindPenetration (const ConvexBase *shapeA, const ConvexBase *shapeB, const real &envelope, simplex &portal, real &depth, real3 &n, real3 &point) |
void | FindPenetrationTouch (const ConvexBase *shapeA, const ConvexBase *shapeB, simplex &portal, real &depth, real3 &n, real3 &point) |
void | FindPenetrationSegment (const ConvexBase *shapeA, const ConvexBase *shapeB, simplex &portal, real &depth, real3 &n, real3 &point) |
bool | FindPortal (const ConvexBase *shapeA, const ConvexBase *shapeB, const real &envelope, simplex &portal, real3 &n) |
int | DiscoverPortal (const ConvexBase *shapeA, const ConvexBase *shapeB, const real &envelope, simplex &portal) |
int | RefinePortal (const ConvexBase *shapeA, const ConvexBase *shapeB, const real &envelope, simplex &portal) |
bool | MPRContact (const ConvexBase *shapeA, const ConvexBase *shapeB, const real &envelope, real3 &returnNormal, real3 &point, real &depth) |
void | MPRGetPoints (const ConvexBase *shapeA, const ConvexBase *shapeB, const real &envelope, real3 &N, real3 p0, real3 &p1, real3 &p2) |
bool | sphere_sphere (const real3 &pos1, const real &radius1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
bool | capsule_sphere (const real3 &pos1, const quaternion &rot1, const real &radius1, const real &hlen1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
bool | cylinder_sphere (const real3 &pos1, const quaternion &rot1, const real &radius1, const real &hlen1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
bool | roundedcyl_sphere (const real3 &pos1, const quaternion &rot1, const real &radius1, const real &hlen1, const real &srad1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
bool | box_sphere (const real3 &pos1, const quaternion &rot1, const real3 &hdims1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
bool | roundedbox_sphere (const real3 &pos1, const quaternion &rot1, const real3 &hdims1, const real &srad1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
bool | triangle_sphere (const real3 &A1, const real3 &B1, const real3 &C1, const real3 &pos2, const real &radius2, const real &separation, real3 &norm, real &depth, real3 &pt1, real3 &pt2, real &eff_radius) |
int | capsule_capsule (const real3 &pos1, const quaternion &rot1, const real &radius1, const real &hlen1, const real3 &pos2, const quaternion &rot2, const real &radius2, const real &hlen2, const real &separation, real3 *norm, real *depth, real3 *pt1, real3 *pt2, real *eff_radius) |
int | box_capsule (const real3 &pos1, const quaternion &rot1, const real3 &hdims1, const real3 &pos2, const quaternion &rot2, const real &radius2, const real &hlen2, const real &separation, real3 *norm, real *depth, real3 *pt1, real3 *pt2, real *eff_radius) |
int | box_cylshell (const real3 &pos1, const quaternion &rot1, const real3 &hdims, const real3 &pos2, const quaternion &rot2, const real &radius, const real &hlen, const real &separation, real3 *norm, real *depth, real3 *pt1, real3 *pt2, real *eff_radius) |
int | box_box (const real3 &posT, const quaternion &rotT, const real3 &hdimsT, const real3 &posO, const quaternion &rotO, const real3 &hdimsO, const real &separation, real3 *norm, real *depth, real3 *ptT, real3 *ptO, real *eff_radius) |
int | triangle_box (const real3 &pos1, const quaternion &rot1, const real3 &hdims1, const real3 *v2, const real &separation, real3 *norm, real *depth, real3 *pt1, real3 *pt2, real *eff_radius) |
bool | sphere_ray (const real3 &pos, const real &radius, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | aabb_ray (const real3 &hdims, const real3 &start, const real3 &end, real &t, real3 &loc, real3 &normal) |
bool | box_ray (const real3 &pos, const quaternion &rot, const real3 &hdims, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | cylsurf_ray (const real &radius, const real &hlen, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | hemisphere_ray (int cap, const real &radius, const real &hlen, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | disk_ray (int cap, const real &radius, const real &hlen, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | capsule_ray (const real3 &pos, const quaternion &rot, const real &radius, const real &hlen, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | cylinder_ray (const real3 &pos, const quaternion &rot, const real &radius, const real &hlen, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
bool | triangle_ray (const real3 &A, const real3 &B, const real3 &C, const real3 &start, const real3 &end, real3 &normal, real &mindist2) |
void * | aligned_malloc (size_t size, size_t alignment) |
void | aligned_free (void *ptr) |
template<typename T , typename std::enable_if<!std::is_polymorphic< T >::value >::type * = nullptr> | |
void * | getVoidPointer (T *ptr) |
Type-erase pointer-to-object after making sure that it is pointing to the proper address Casting to void* through a static_cast leads to different results: More... | |
template<typename Real > | |
std::ostream & | operator<< (std::ostream &out, const ChCoordsys< Real > &cs) |
Insertion of coordsys to output stream. | |
template<class Real > | |
ChVector3< Real > | operator* (const ChCoordsys< Real > &Fa, const ChVector3< Real > &Fb) |
The '*' operator that transforms 'mixed' types: vector_C = frame_A * vector_B; where frame_A is a ChCoordsys vector_B is a ChVector Returns a ChVector. More... | |
template<class Real > | |
ChCoordsys< Real > | operator* (const ChVector3< Real > &Fa, const ChCoordsys< Real > &Fb) |
The '*' operator that transforms 'mixed' types: frame_C = vector_A * frame_B; where vector_A is a ChVector frame_B is a ChCoordsys Returns a ChCoordsys. More... | |
template<class Real > | |
ChVector3< Real > | operator>> (const ChVector3< Real > &Fa, const ChCoordsys< Real > &Fb) |
The '>>' operator that transforms 'mixed' types: vector_C = vector_A >> frame_B; where vector_A is a ChVector frame_B is a ChCoordsys Returns a ChVector. More... | |
template<class Real > | |
ChCoordsys< Real > | operator>> (const ChCoordsys< Real > &Fa, const ChVector3< Real > &Fb) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> vector_B; where frame_A is a ChCoordsys vector_B is a ChVector Returns a ChCoordsys. More... | |
template<class Real > | |
ChQuaternion< Real > | operator* (const ChCoordsys< Real > &Fa, const ChQuaternion< Real > &Fb) |
The '*' operator that transforms 'mixed' types: quat_C = frame_A * quat_B; where frame_A is a ChCoordsys quat_B is a ChQuaternion Returns a ChQuaternion. More... | |
template<class Real > | |
ChCoordsys< Real > | operator* (const ChQuaternion< Real > &Fa, const ChCoordsys< Real > &Fb) |
The '*' operator that transforms 'mixed' types: frame_C = quat_A * frame_B; where quat_A is a ChQuaternion frame_B is a ChCoordsys Returns a ChCoordsys. More... | |
template<class Real > | |
ChQuaternion< Real > | operator>> (const ChQuaternion< Real > &Fa, const ChCoordsys< Real > &Fb) |
The '>>' operator that transforms 'mixed' types: quat_C = quat_A >> frame_B; where quat_A is a ChQuaternion frame_B is a ChCoordsys Returns a ChQuaternion. More... | |
template<class Real > | |
ChCoordsys< Real > | operator>> (const ChCoordsys< Real > &Fa, const ChQuaternion< Real > &Fb) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> quat_B; where frame_A is a ChCoordsys frame_B is a ChQuaternion Returns a ChCoordsys. More... | |
template<class Real > | |
ChCoordsys< Real > | operator* (const ChFrame< Real > &Fa, const ChCoordsys< Real > &Cb) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChFrame frame_B is a ChCoordsys Returns a ChCoordsys. More... | |
template<class Real > | |
ChFrame< Real > | operator* (const ChCoordsys< Real > &Ca, const ChFrame< Real > &Fb) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChCoordsys frame_B is a ChFrame Returns a ChFrame. More... | |
template<class Real > | |
ChCoordsys< Real > | operator>> (const ChCoordsys< Real > &Ca, const ChFrame< Real > &Fb) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChCoordsys frame_B is a ChFrame Returns a ChCoordsys. More... | |
template<class Real > | |
ChFrame< Real > | operator>> (const ChFrame< Real > &Fa, const ChCoordsys< Real > &Cb) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChFrame frame_B is a ChCoordsys Returns a ChFrame. More... | |
template<class Real > | |
ChVector3< Real > | operator* (const ChFrame< Real > &Fa, const ChVector3< Real > &vb) |
The '*' operator that transforms 'mixed' types: vector_C = frame_A * vector_B; where frame_A is a ChFrame vector_B is a ChVector Returns a ChVector. More... | |
template<class Real > | |
ChFrame< Real > | operator* (const ChVector3< Real > &va, const ChFrame< Real > &Fb) |
The '*' operator that transforms 'mixed' types: frame_C = vector_A * frame_B; where vector_A is a ChVector frame_B is a ChFrame Returns a ChFrame. More... | |
template<class Real > | |
ChVector3< Real > | operator>> (const ChVector3< Real > &va, const ChFrame< Real > &Fb) |
The '>>' operator that transforms 'mixed' types: vector_C = vector_A >> frame_B; where vector_A is a ChVector frame_B is a ChFrame Returns a ChVector. More... | |
template<class Real > | |
ChFrame< Real > | operator>> (const ChFrame< Real > &Fa, const ChVector3< Real > &vb) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> vector_B; where frame_A is a ChFrame frame_B is a ChVector Returns a ChFrame. More... | |
template<class Real > | |
ChQuaternion< Real > | operator* (const ChFrame< Real > &Fa, const ChQuaternion< Real > &qb) |
The '*' operator that transforms 'mixed' types: quat_C = frame_A * quat_B; where frame_A is a ChFrame quat_B is a ChQuaternion Returns a ChQuaternion. More... | |
template<class Real > | |
ChFrame< Real > | operator* (const ChQuaternion< Real > &qa, const ChFrame< Real > &Fb) |
The '*' operator that transforms 'mixed' types: frame_C = quat_A * frame_B; where quat_A is a ChQuaternion frame_B is a ChFrame Returns a ChFrame. More... | |
template<class Real > | |
ChQuaternion< Real > | operator>> (const ChQuaternion< Real > &qa, const ChFrame< Real > &Fb) |
The '>>' operator that transforms 'mixed' types: quat_C = quat_A >> frame_B; where quat_A is a ChQuaternion frame_B is a ChFrame Returns a ChQuaternion. More... | |
template<class Real > | |
ChFrame< Real > | operator>> (const ChFrame< Real > &Fa, const ChQuaternion< Real > &qb) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> quat_B; where frame_A is a ChFrame frame_B is a ChQuaternion Returns a ChFrame. More... | |
template<typename Real > | |
std::ostream & | operator<< (std::ostream &out, const ChFrame< Real > &F) |
template<class Real > | |
ChFrame< Real > | operator* (const ChFrameMoving< Real > &Fa, const ChFrame< Real > &Fb) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChFrameMoving frame_B is a ChFrame Returns a ChFrame. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator* (const ChFrame< Real > &Fa, const ChFrameMoving< Real > &Fb) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChFrame frame_B is a ChFrameMoving Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator>> (const ChFrameMoving< Real > &Fa, const ChFrame< Real > &Fb) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChFrameMoving frame_B is a ChFrame Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator* (const ChCoordsys< Real > &ca, const ChFrameMoving< Real > &Fb) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChCoordsys frame_B is a ChFrameMoving Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator>> (const ChFrameMoving< Real > &Fa, const ChCoordsys< Real > &cb) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChFrameMoving frame_B is a ChCoordsys Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator* (const ChVector3< Real > &va, const ChFrameMoving< Real > &Fb) |
The '*' operator that transforms 'mixed' types: frame_C = vector_A * frame_B; where vector_A is a ChVector frame_B is a ChFrame Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator>> (const ChFrameMoving< Real > &Fa, const ChVector3< Real > &vb) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> vector_B; where frame_A is a ChFrame frame_B is a ChVector Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator* (const ChQuaternion< Real > &qa, const ChFrameMoving< Real > &Fb) |
The '*' operator that transforms 'mixed' types: frame_C = quat_A * frame_B; where quat_A is a ChQuaternion frame_B is a ChFrameMoving Returns a ChFrameMoving. More... | |
template<class Real > | |
ChFrameMoving< Real > | operator>> (const ChFrameMoving< Real > &Fa, const ChQuaternion< Real > &qb) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> quat_B; where frame_A is a ChFrameMoving frame_B is a ChQuaternion Returns a ChFrameMoving. More... | |
void | SetChronoDataPath (const std::string &path) |
Set the path to the Chrono data directory (ATTENTION: not thread safe). | |
const std::string & | GetChronoDataPath () |
Obtain the current path to the Chrono data directory (thread safe). | |
std::string | GetChronoDataFile (const std::string &filename) |
Get the full path to the specified filename, given relative to the Chrono data directory (thread safe). | |
void | SetChronoOutputPath (const std::string &path) |
Set the path to the Chrono output directory (ATTENTION: not thread safe). | |
const std::string & | GetChronoOutputPath () |
Obtain the path to the output directory for Chrono demos. | |
void | PasteMatrix (ChSparseMatrix &matrTo, ChMatrixConstRef matrFrom, int start_row, int start_col, bool overwrite=true) |
Paste a given matrix into a sparse matrix at position (start_row, start_col). More... | |
template<typename T = double> | |
ChVectorDynamic< T > | SliceVector (ChVectorConstRef v, ChArrayConstRef< int > indices) |
Utility function for slicing a vector based on an array of indices. More... | |
void | StreamOut (ChMatrixConstRef A, std::ostream &stream) |
Serialization of a dense matrix or vector into an ASCII stream (e.g. a file). | |
void | StreamOut (ChSparseMatrix &mat, std::ostream &stream, bool one_indexed=false) |
Serialization of a sparse matrix to an ASCII stream (e.g., a file) in COO sparse matrix format. More... | |
template<typename Real > | |
ChVector3< Real > | operator* (const Eigen::Transpose< Eigen::Matrix< Real, 3, 3, Eigen::RowMajor >> &A, const ChVector3< Real > &v) |
Multiply a transposed 3x3 matrix with a vector. | |
template<typename Real > | |
ChVector3< Real > | operator* (const Eigen::Transpose< const Eigen::Matrix< Real, 3, 3, Eigen::RowMajor >> &A, const ChVector3< Real > &v) |
Multiply a transposed const 3x3 matrix with a vector. | |
template<class Real > | |
ChMatrix33< Real > | TensorProduct (const ChVector3< Real > &vA, const ChVector3< Real > &vB) |
Return the outer product (a 3x3 matrix) of two vectors. | |
template<typename T , typename U > | |
ChVector3< T > | operator* (const ChMatrix34< T > &A, const ChQuaternion< U > &q) |
Multiply a 3x4 matrix with a quaternion and return a 3d vector. | |
template<typename T , typename U > | |
ChQuaternion< T > | operator* (const ChMatrix43< T > &A, const ChVector3< U > &v) |
Multiply a 4x3 matrix with a 3d vector and return a quaternion. | |
template<typename T , typename U > | |
ChQuaternion< T > | operator* (const Eigen::Transpose< Eigen::Matrix< T, 3, 4, Eigen::RowMajor >> &A, const ChVector3< U > &v) |
Multiply the transpose of a 3x4 matrix with a 3d vector and return a quaternion. | |
template<typename T , typename U > | |
ChQuaternion< T > | operator* (const ChMatrix44< T > &A, const ChQuaternion< U > &q) |
Multiply a 4x4 matrix with a quaternion and return a quaternion. | |
const ChQuaterniond | Q_ROTATE_Y_TO_X (1/CH_SQRT_2, 0, 0, -1/CH_SQRT_2) |
const ChQuaterniond | Q_ROTATE_Y_TO_Z (1/CH_SQRT_2, 1/CH_SQRT_2, 0, 0) |
const ChQuaterniond | Q_ROTATE_X_TO_Y (1/CH_SQRT_2, 0, 0, 1/CH_SQRT_2) |
const ChQuaterniond | Q_ROTATE_X_TO_Z (1/CH_SQRT_2, 0, -1/CH_SQRT_2, 0) |
const ChQuaterniond | Q_ROTATE_Z_TO_Y (1/CH_SQRT_2, -1/CH_SQRT_2, 0, 0) |
const ChQuaterniond | Q_ROTATE_Z_TO_X (1/CH_SQRT_2, 0, 1/CH_SQRT_2, 0) |
bool | Qequal (const ChQuaterniond &qa, const ChQuaterniond &qb) |
Check if two quaternions are equal. | |
bool | Qnotnull (const ChQuaterniond &qa) |
Check if quaternion is not null. | |
double | Qlength (const ChQuaterniond &q) |
ChQuaterniond | Qscale (const ChQuaterniond &q, double fact) |
ChQuaterniond | Qadd (const ChQuaterniond &qa, const ChQuaterniond &qb) |
ChQuaterniond | Qsub (const ChQuaterniond &qa, const ChQuaterniond &qb) |
ChQuaterniond | Qnorm (const ChQuaterniond &q) |
Return the norm two of the quaternion. Euler's parameters have norm = 1. | |
ChQuaterniond | Qconjugate (const ChQuaterniond &q) |
Return the conjugate of the quaternion [s,v1,v2,v3] is [s,-v1,-v2,-v3]. | |
ChQuaterniond | Qcross (const ChQuaterniond &qa, const ChQuaterniond &qb) |
Return the product of two quaternions. It is non-commutative (like cross product in vectors). | |
ChQuaterniond | QuatDtFromAngVelAbs (const ChVector3d &w, const ChQuaterniond &q) |
Get the quaternion time derivative from the vector of angular speed, with w specified in absolute coords. | |
ChQuaterniond | QuatDtFromAngVelRel (const ChVector3d &w, const ChQuaterniond &q) |
Get the quaternion time derivative from the vector of angular speed, with w specified in local coords. | |
ChQuaterniond | QuatDt2FromAngAccAbs (const ChVector3d &a, const ChQuaterniond &q, const ChQuaterniond &q_dt) |
Get the quaternion first derivative from the vector of angular acceleration with a specified in absolute coords. | |
ChQuaterniond | QuatDt2FromAngAccRel (const ChVector3d &a, const ChQuaterniond &q, const ChQuaterniond &q_dt) |
Get the quaternion second derivative from the vector of angular acceleration with a specified in relative coords. | |
ChQuaterniond | QuatFromImaginary (const ChVector3d &imm) |
Given the imaginary (vectorial) {e1 e2 e3} part of a quaternion, find the entire quaternion q = {e0, e1, e2, e3}. More... | |
ChQuaterniond | QuatDtFromImaginary (const ChVector3d &im_dt, const ChQuaterniond &q) |
Given the imaginary (vectorial) {e1 e2 e3} part of a quaternion time derivative, find the entire quaternion q = {e0, e1, e2, e3}. More... | |
ChQuaterniond | QuatDt2FromImaginary (const ChVector3d &im_dtdt, const ChQuaterniond &q, const ChQuaterniond &q_dt) |
Given the imaginary (vectorial) {e1 e2 e3} part of a quaternion second time derivative, find the entire quaternion q = {e0, e1, e2, e3}. More... | |
ChVector3d | VaxisXfromQuat (const ChQuaterniond &quat) |
template<typename Real > | |
std::ostream & | operator<< (std::ostream &out, const ChQuaternion< Real > &q) |
Insertion of quaternion to output stream. | |
AngleSet | AngleSetFromAngleSet (RotRepresentation to_seq, const AngleSet &set) |
Convert from one set of Euler or Cardan angles to another. | |
ChVector3d | RodriguesFromAngleSet (const AngleSet &set) |
Convert from a set of Euler angles to Rodrigues parameters. | |
AngleSet | AngleSetFromRodrigues (RotRepresentation to_seq, const ChVector3d ¶ms) |
Convert from Rodrigues parameters to a set of Euler angles. | |
AngleAxis | AngleAxisFromQuat (const ChQuaterniond &q) |
Convert from a quaternion to an angle-axis pair. | |
ChQuaterniond | QuatFromAngleAxis (double angle, const ChVector3d &axis) |
Convert from an angle and an axis to a quaternion. More... | |
ChQuaterniond | QuatFromAngleAxis (const AngleAxis &angle_axis) |
Convert from an angle-axis pair to a quaternion. More... | |
ChQuaterniond | QuatDtFromAngleAxis (const ChQuaterniond &quat, double angle_dt, const ChVector3d &axis) |
Convert from a speed of rotation and an axis to a quaternion derivative. More... | |
ChQuaterniond | QuatDt2FromAngleAxis (double angle_dtdt, const ChVector3d &axis, const ChQuaterniond &q, const ChQuaterniond &q_dt) |
Convert from a rotation acceleration and an axis to a quaternion second derivative. More... | |
ChQuaterniond | QuatFromAngleX (double angle) |
Convert from a rotation about X axis to a quaternion. | |
ChQuaterniond | QuatFromAngleY (double angle) |
Convert from a rotation about Y axis to a quaternion. | |
ChQuaterniond | QuatFromAngleZ (double angle) |
Convert from a rotation about Z axis to a quaternion. | |
ChVector3d | RotVecFromQuat (const ChQuaterniond &q) |
Convert from a quaternion to a rotation vector. | |
ChQuaterniond | QuatFromRotVec (const ChVector3d &vec) |
Convert from a rotation vector to a quaternion. | |
ChVector3d | RodriguesFromQuat (const ChQuaterniond &q) |
Convert from a quaternion to Rodrigues parameters. | |
ChQuaterniond | QuatFromRodrigues (const ChVector3d ¶ms) |
Convert from Rodrigues parameters to a quaternion. | |
ChQuaterniond | QuatDtFromRodrigues (const ChVector3d ¶ms, const ChQuaterniond &q) |
Convert from a set of Rodrigues parameter derivatives to a quaternion derivative. | |
ChQuaterniond | QuatDt2FromRodrigues (const ChVector3d ¶ms, const ChQuaterniond &q) |
Convert a set of Rodrigues parameter second derivatives to a quaternion second derivative. | |
AngleSet | AngleSetFromQuat (RotRepresentation to_seq, const ChQuaterniond &q) |
Convert from a quaternion to a set of Euler angles. | |
ChQuaterniond | QuatFromAngleSet (const AngleSet &set) |
Convert from a set of Euler angles to a quaternion. | |
ChQuaterniond | QuatDtFromAngleSet (const AngleSet &set, const ChQuaterniond &q) |
Convert from a set of Euler angle derivatives to a quaternion derivative. | |
ChQuaterniond | QuatDt2FromAngleSet (const AngleSet &set, const ChQuaterniond &q) |
Convert from a set of Euler angle second derivatives to a quaternion second derivative. | |
ChQuaterniond | QuatFromVec2Vec (const ChVector3d &start, const ChVector3d &end) |
Convert from a vector-to-vector rotation to a quaternion. More... | |
template<class RealA , class RealB > | |
RealA | Vdot (const ChVector2< RealA > va, const ChVector2< RealB > vb) |
template<class RealA > | |
void | Vset (ChVector2< RealA > &v, RealA mx, RealA my) |
template<class RealA , class RealB > | |
ChVector2< RealA > | Vadd (const ChVector2< RealA > &va, const ChVector2< RealB > &vb) |
template<class RealA , class RealB > | |
ChVector2< RealA > | Vsub (const ChVector2< RealA > &va, const ChVector2< RealB > &vb) |
template<class RealA , class RealB > | |
ChVector2< RealA > | Vmul (const ChVector2< RealA > &va, RealB fact) |
template<class RealA > | |
RealA | Vlength (const ChVector2< RealA > &va) |
template<class RealA > | |
ChVector2< RealA > | Vnorm (const ChVector2< RealA > &va) |
template<class RealA , class RealB > | |
bool | Vequal (const ChVector2< RealA > &va, const ChVector2< RealB > &vb) |
template<class RealA > | |
bool | Vnotnull (const ChVector2< RealA > &va) |
template<class RealA , class RealB > | |
ChVector2< RealA > | Vrot (const ChVector2< RealA > &v, RealB angle) |
template<typename Real > | |
std::ostream & | operator<< (std::ostream &out, const ChVector2< Real > &v) |
Insertion of a 2D vector to output stream. | |
template<class Real > | |
ChVector2< Real > | operator* (const Real s, const ChVector2< Real > &V) |
Operator for scaling the vector by a scalar value, as s*V. | |
template<class RealA , class RealB > | |
RealA | Vdot (const ChVector3< RealA > &va, const ChVector3< RealB > &vb) |
template<class RealA > | |
void | Vset (ChVector3< RealA > &v, RealA mx, RealA my, RealA mz) |
template<class RealA , class RealB > | |
ChVector3< RealA > | Vadd (const ChVector3< RealA > &va, const ChVector3< RealB > &vb) |
template<class RealA , class RealB > | |
ChVector3< RealA > | Vsub (const ChVector3< RealA > &va, const ChVector3< RealB > &vb) |
template<class RealA , class RealB > | |
ChVector3< RealA > | Vcross (const ChVector3< RealA > &va, const ChVector3< RealB > &vb) |
template<class RealA , class RealB > | |
ChVector3< RealA > | Vmul (const ChVector3< RealA > &va, RealB fact) |
template<class RealA > | |
RealA | Vlength (const ChVector3< RealA > &va) |
template<class RealA > | |
ChVector3< RealA > | Vnorm (const ChVector3< RealA > &va) |
template<class RealA , class RealB > | |
bool | Vequal (const ChVector3< RealA > &va, const ChVector3< RealB > &vb) |
template<class RealA > | |
bool | Vnotnull (const ChVector3< RealA > &va) |
template<class RealA > | |
ChVector3< RealA > | Vmin (const ChVector3< RealA > &va, const ChVector3< RealA > &vb) |
template<class RealA > | |
ChVector3< RealA > | Vmax (const ChVector3< RealA > &va, const ChVector3< RealA > &vb) |
template<class RealA > | |
double | VangleYZplane (const ChVector3< RealA > &va) |
template<class RealA > | |
double | VangleYZplaneNorm (const ChVector3< RealA > &va) |
template<class RealA > | |
double | VangleRX (const ChVector3< RealA > &va) |
template<class RealA > | |
ChVector3< RealA > | VfromPolar (double norm_angle, double pol_angle) |
template<typename Real > | |
std::ostream & | operator<< (std::ostream &out, const ChVector3< Real > &v) |
Insertion of a 3D vector to output stream. | |
template<class Real > | |
ChVector3< Real > | operator* (Real s, const ChVector3< Real > &V) |
Operator for scaling the vector by a scalar value, as s*V. | |
ChQuaternion | SLERP (const ChQuaternion<> &qa, const ChQuaternion<> &qb, double t) |
ChQuaternion | QUADRANGLE (const ChQuaternion<> &q0, const ChQuaternion<> &q1, const ChQuaternion<> &q2) |
bool | InterpolateAndInsert (ChTriangleMeshConnected &mesh, int ibuffer, int i1, int i2, int &created_index) |
template<typename Enumeration > | |
auto | as_integer (Enumeration const value) -> typename std::underlying_type< Enumeration >::type |
Explicit conversion of scoped enumeration to int (e.g. for streaming). | |
template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > | |
OutputIterator | Thrust_Expand (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator output) |
Utility to expand an input sequence by replicating each element a variable number of times. More... | |
CUDA_HOST_DEVICE ChApi real3 | DotMM (const real *M) |
CUDA_HOST_DEVICE ChApi real3 | DotMM (const real *M, const real *N) |
CUDA_HOST_DEVICE ChApi Mat33 | MulMM (const real *M, const real *N) |
CUDA_HOST_DEVICE ChApi Mat33 | MulM_TM (const real *M, const real *N) |
CUDA_HOST_DEVICE ChApi real3 | MulMV (const real *M, const real *N) |
CUDA_HOST_DEVICE ChApi Mat33 | OuterProductVV (const real *A, const real *B) |
CUDA_HOST_DEVICE ChApi Mat33 | ScaleMat (const real *M, const real b) |
CUDA_HOST_DEVICE ChApi SymMat33 | NormalEquations (const real *A) |
CUDA_HOST_DEVICE ChApi Mat33 | MAbs (const real *M) |
CUDA_HOST_DEVICE ChApi real3 | operator* (const Mat33 &M, const real3 &v) |
CUDA_HOST_DEVICE ChApi Mat33 | operator* (const Mat33 &N, const real scale) |
CUDA_HOST_DEVICE ChApi Mat33 | operator* (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE ChApi Mat33 | operator+ (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE ChApi Mat33 | operator- (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT real CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT Mat33 CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALSALT (+, Mat33, Mat33) CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT(- |
CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT real CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT Mat33 CUDA_HOST_DEVICE ChApi Mat33 CUDA_HOST_DEVICE ChApi Mat33 | operator- (const Mat33 &M) |
CUDA_HOST_DEVICE ChApi Mat33 | operator* (const real s, const Mat33 &a) |
CUDA_HOST_DEVICE ChApi Mat33 | Abs (const Mat33 &m) |
CUDA_HOST_DEVICE ChApi Mat33 | SkewSymmetric (const real3 &r) |
CUDA_HOST_DEVICE ChApi Mat33 | SkewSymmetricAlt (const real3 &r) |
CUDA_HOST_DEVICE ChApi Mat33 | MultTranspose (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE ChApi Mat33 | TransposeMult (const Mat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE ChApi Mat33 | Transpose (const Mat33 &a) |
CUDA_HOST_DEVICE ChApi real | Trace (const Mat33 &m) |
CUDA_HOST_DEVICE ChApi Mat33 | OuterProduct (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real | InnerProduct (const Mat33 &A, const Mat33 &B) |
CUDA_HOST_DEVICE ChApi Mat33 | Adjoint (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi Mat33 | AdjointTranspose (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi real | Determinant (const Mat33 &m) |
CUDA_HOST_DEVICE ChApi Mat33 | Inverse (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi Mat33 | InverseTranspose (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi Mat33 | InverseUnsafe (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi Mat33 | InverseTransposeUnsafe (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi real | Norm (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi real | NormSq (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi real | DoubleDot (const Mat33 &A, const Mat33 &B) |
CUDA_HOST_DEVICE ChApi real3 | LargestColumnNormalized (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi Mat33 | operator* (const DiagMat33 &M, const Mat33 &N) |
CUDA_HOST_DEVICE ChApi real3 | operator* (const DiagMat33 &M, const real3 &v) |
CUDA_HOST_DEVICE ChApi SymMat33 | operator- (const SymMat33 &M, const real &v) |
CUDA_HOST_DEVICE ChApi SymMat33 | CofactorMatrix (const SymMat33 &A) |
CUDA_HOST_DEVICE ChApi real3 | LargestColumnNormalized (const SymMat33 &A) |
CUDA_HOST_DEVICE ChApi SymMat33 | NormalEquationsMatrix (const Mat33 &A) |
CUDA_HOST_DEVICE ChApi real3 | operator* (const Mat32 &M, const real2 &v) |
CUDA_HOST_DEVICE ChApi Mat32 | operator* (const SymMat33 &M, const Mat32 &N) |
CUDA_HOST_DEVICE ChApi SymMat22 | operator- (const SymMat22 &M, const real &v) |
CUDA_HOST_DEVICE ChApi SymMat22 | CofactorMatrix (const SymMat22 &A) |
CUDA_HOST_DEVICE ChApi real2 | LargestColumnNormalized (const SymMat22 &A) |
CUDA_HOST_DEVICE ChApi SymMat22 | TransposeTimesWithSymmetricResult (const Mat32 &A, const Mat32 &B) |
CUDA_HOST_DEVICE ChApi SymMat22 | ConjugateWithTranspose (const Mat32 &A, const SymMat33 &B) |
CUDA_HOST_DEVICE ChApi void | Print (const Mat33 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | Print (const Mat32 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | Print (const SymMat33 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | Print (const SymMat22 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | PrintLine (const Mat33 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | PrintLine (const Mat32 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | PrintLine (const SymMat33 &A, const char *name) |
CUDA_HOST_DEVICE ChApi void | PrintLine (const SymMat22 &A, const char *name) |
CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT_PROTO real CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT_PROTO Mat33 CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALSALT_PROTO (+, Mat33, Mat33) CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT_PROTO(- |
CUDA_HOST_DEVICE ChApi vec3 | operator- (const vec3 &a, const vec3 &b) |
CUDA_HOST_DEVICE ChApi vec3 | operator- (const vec3 &a, const int &b) |
CUDA_HOST_DEVICE ChApi vec3 | operator+ (const vec3 &a, const vec3 &b) |
CUDA_HOST_DEVICE ChApi vec3 | operator+ (const vec3 &a, const int &b) |
CUDA_HOST_DEVICE ChApi vec3 | Clamp (const vec3 &a, const vec3 &clamp_min, const vec3 &clamp_max) |
CUDA_HOST_DEVICE ChApi vec3 | Max (const vec3 &a, const vec3 &b) |
CUDA_HOST_DEVICE ChApi vec3 | Min (const vec3 &a, const vec3 &b) |
CUDA_HOST_DEVICE real | Lerp (const real &start, const real &end, const real &t) |
template<typename T > | |
CUDA_HOST_DEVICE void | Swap (T &a, T &b) |
template<typename T > | |
CUDA_HOST_DEVICE void | Sort (T &a, T &b, T &c) |
template<typename T > | |
CUDA_HOST_DEVICE void | SwapIfGreater (T &a, T &b) |
CUDA_HOST_DEVICE real | Clamp (real x, real low, real high) |
Clamps a given value a between user specified minimum and maximum values. | |
CUDA_HOST_DEVICE void | ClampValue (real &x, real low, real high) |
Clamps a given value a between user specified minimum and maximum values. | |
CUDA_HOST_DEVICE real | ClampMin (real x, real low) |
CUDA_HOST_DEVICE real | ClampMax (real x, real high) |
CUDA_HOST_DEVICE real2 | operator+ (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | operator- (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | operator* (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | operator/ (const real2 &a, real b) |
CUDA_HOST_DEVICE real2 | operator+ (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | operator- (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | operator* (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | operator/ (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | operator- (const real2 &a) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_IMPL (/, real, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_IMPL (+, real, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_IMPL (-, real, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_IMPL (/, real2, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_IMPL (+, real2, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_IMPL (-, real2, real2) |
CUDA_HOST_DEVICE real2 | operator* (real lhs, const real2 &rhs) |
CUDA_HOST_DEVICE bool | operator== (const real2 &lhs, const real2 &rhs) |
CUDA_HOST_DEVICE real2 | Max (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real2 | Min (const real2 &a, const real2 &b) |
CUDA_HOST_DEVICE real | Dot (const real2 &v1, const real2 &v2) |
CUDA_HOST_DEVICE real | Dot (const real2 &v) |
CUDA_HOST_DEVICE real | Length2 (const real2 &v1) |
CUDA_HOST_DEVICE real2 | Normalize (const real2 &v1) |
CUDA_HOST_DEVICE void | Print (real2 v, const char *name) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_PROTO (/, real, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_PROTO (+, real, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_PROTO (-, real, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_PROTO (/, real2, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_PROTO (+, real2, real2) |
CUDA_HOST_DEVICE | OPERATOR_EQUALS_PROTO (-, real2, real2) |
CUDA_HOST_DEVICE ChApi real3 | Set3 (real x) |
CUDA_HOST_DEVICE ChApi real3 | Set3 (real x, real y, real z) |
CUDA_HOST_DEVICE ChApi real3 | operator+ (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | operator- (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | operator* (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | operator/ (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | operator+ (const real3 &a, real b) |
CUDA_HOST_DEVICE ChApi real3 | operator- (const real3 &a, real b) |
CUDA_HOST_DEVICE ChApi real3 | operator* (const real3 &a, real b) |
CUDA_HOST_DEVICE ChApi real3 | operator/ (const real3 &a, real b) |
CUDA_HOST_DEVICE ChApi real3 | operator* (real lhs, const real3 &rhs) |
CUDA_HOST_DEVICE ChApi real3 | operator/ (real lhs, const real3 &rhs) |
CUDA_HOST_DEVICE ChApi real3 | operator- (const real3 &a) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (/, real, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (+, real, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (-, real, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (/, real3, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (+, real3, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (-, real3, real3) |
CUDA_HOST_DEVICE ChApi real | Dot (const real3 &v1, const real3 &v2) |
CUDA_HOST_DEVICE ChApi real | Dot (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | Normalize (const real3 &v) |
CUDA_HOST_DEVICE ChApi real | Length (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | Sqrt (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | Cross (const real3 &b, const real3 &c) |
CUDA_HOST_DEVICE ChApi real3 | Abs (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | Sign (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | Max (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | Min (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | Max (const real3 &a, const real &b) |
CUDA_HOST_DEVICE ChApi real3 | Min (const real3 &a, const real &b) |
CUDA_HOST_DEVICE ChApi real | Max (const real3 &a) |
CUDA_HOST_DEVICE ChApi real | Min (const real3 &a) |
CUDA_HOST_DEVICE ChApi real | Length2 (const real3 &v1) |
CUDA_HOST_DEVICE ChApi real | SafeLength (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | SafeNormalize (const real3 &v, const real3 &safe) |
CUDA_HOST_DEVICE ChApi real3 | Clamp (const real3 &a, const real3 &clamp_min, const real3 &clamp_max) |
CUDA_HOST_DEVICE ChApi real3 | Clamp (const real3 &v, real max_length) |
CUDA_HOST_DEVICE ChApi bool | operator< (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi bool | operator> (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi bool | operator== (const real3 &a, const real3 &b) |
CUDA_HOST_DEVICE ChApi real3 | Round (const real3 &v) |
CUDA_HOST_DEVICE ChApi bool | IsZero (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | OrthogonalVector (const real3 &v) |
CUDA_HOST_DEVICE ChApi real3 | UnitOrthogonalVector (const real3 &v) |
CUDA_HOST_DEVICE ChApi void | Print (real3 v, const char *name) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (/, real, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (+, real, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (-, real, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (/, real3, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (+, real3, real3) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (-, real3, real3) |
CUDA_HOST_DEVICE ChApi void | Sort (real &a, real &b, real &c) |
CUDA_HOST_DEVICE ChApi real4 | Set4 (real x) |
CUDA_HOST_DEVICE ChApi real4 | Set4 (real x, real y, real z, real w) |
CUDA_HOST_DEVICE ChApi real4 | operator+ (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE ChApi real4 | operator- (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE ChApi real4 | operator* (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE ChApi real4 | operator/ (const real4 &a, const real4 &b) |
CUDA_HOST_DEVICE ChApi real4 | operator+ (const real4 &a, real b) |
CUDA_HOST_DEVICE ChApi real4 | operator- (const real4 &a, real b) |
CUDA_HOST_DEVICE ChApi real4 | operator* (const real4 &a, real b) |
CUDA_HOST_DEVICE ChApi real4 | operator/ (const real4 &a, real b) |
CUDA_HOST_DEVICE ChApi real4 | operator- (const real4 &a) |
CUDA_HOST_DEVICE ChApi real4 | Dot4 (const real3 &v, const real3 &v1, const real3 &v2, const real3 &v3, const real3 &v4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (/, real, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (+, real, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (-, real, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (/, real4, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (+, real4, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_IMPL (-, real4, real4) |
CUDA_HOST_DEVICE ChApi quaternion | SetQ (real x) |
CUDA_HOST_DEVICE ChApi quaternion | SetQ (real w, real x, real y, real z) |
CUDA_HOST_DEVICE ChApi quaternion | operator+ (const quaternion &a, real b) |
CUDA_HOST_DEVICE ChApi quaternion | operator- (const quaternion &a, real b) |
CUDA_HOST_DEVICE ChApi quaternion | operator* (const quaternion &a, real b) |
CUDA_HOST_DEVICE ChApi quaternion | operator/ (const quaternion &a, real b) |
CUDA_HOST_DEVICE ChApi quaternion | operator- (const quaternion &a) |
CUDA_HOST_DEVICE ChApi quaternion | operator~ (const quaternion &a) |
CUDA_HOST_DEVICE ChApi quaternion | Inv (const quaternion &a) |
CUDA_HOST_DEVICE ChApi real | Dot (const quaternion &v1, const quaternion &v2) |
CUDA_HOST_DEVICE ChApi real | Dot (const quaternion &v) |
CUDA_HOST_DEVICE ChApi quaternion | Mult (const quaternion &a, const quaternion &b) |
CUDA_HOST_DEVICE ChApi quaternion | Normalize (const quaternion &v) |
CUDA_HOST_DEVICE ChApi real3 | Rotate (const real3 &v, const quaternion &q) |
CUDA_HOST_DEVICE ChApi real3 | RotateT (const real3 &v, const quaternion &q) |
CUDA_HOST_DEVICE ChApi real3 | AbsRotate (const quaternion &q, const real3 &v) |
CUDA_HOST_DEVICE ChApi quaternion | QuatFromAngleAxis (const real &angle, const real3 &axis) |
CUDA_HOST_DEVICE ChApi real3 | AMatU (const quaternion &q) |
CUDA_HOST_DEVICE ChApi real3 | AMatV (const quaternion &q) |
CUDA_HOST_DEVICE ChApi real3 | AMatW (const quaternion &q) |
CUDA_HOST_DEVICE ChApi void | Print (quaternion v, const char *name) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (/, real, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (+, real, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (-, real, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (/, real4, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (+, real4, real4) |
CUDA_HOST_DEVICE ChApi | OPERATOR_EQUALS_PROTO (-, real4, real4) |
void | swap (ChAssembly &first, ChAssembly &second) |
template<class Tcont , class Titer > | |
void | _RemoveAllContacts (std::list< Tcont * > &contactlist, Titer &lastcontact, int &n_added) |
template<class Tcont , class Titer , class Ta , class Tb > | |
void | _OptimalContactInsert (std::list< Tcont * > &contactlist, Titer &lastcontact, int &n_added, ChContactContainerNSC *container, Ta *objA, Tb *objB, const ChCollisionInfo &cinfo, const ChContactMaterialCompositeNSC &cmat) |
template<class Tcont > | |
void | _ReportAllContacts (std::list< Tcont * > &contactlist, ChContactContainer::ReportContactCallback *mcallback) |
template<class Tcont > | |
void | _ReportAllContactsRolling (std::list< Tcont * > &contactlist, ChContactContainer::ReportContactCallback *mcallback) |
template<class Tcont > | |
void | _ReportAllContactsNSC (std::list< Tcont * > &contactlist, ChContactContainerNSC::ReportContactCallbackNSC *mcallback) |
template<class Tcont > | |
void | _ReportAllContactsRollingNSC (std::list< Tcont * > &contactlist, ChContactContainerNSC::ReportContactCallbackNSC *mcallback) |
template<class Tcont > | |
void | _IntStateGatherReactions (unsigned int &coffset, std::list< Tcont * > &contactlist, const unsigned int off_L, ChVectorDynamic<> &L, const int stride) |
template<class Tcont > | |
void | _IntStateScatterReactions (unsigned int &coffset, std::list< Tcont * > &contactlist, const unsigned int off_L, const ChVectorDynamic<> &L, const int stride) |
template<class Tcont > | |
void | _IntLoadResidual_CqL (unsigned int &coffset, std::list< Tcont * > &contactlist, const unsigned int off_L, ChVectorDynamic<> &R, const ChVectorDynamic<> &L, const double c, const int stride) |
template<class Tcont > | |
void | _IntLoadConstraint_C (unsigned int &coffset, std::list< Tcont * > &contactlist, const unsigned int off, ChVectorDynamic<> &Qc, const double c, bool do_clamp, double recovery_clamp, const int stride) |
template<class Tcont > | |
void | _IntToDescriptor (unsigned int &coffset, std::list< Tcont * > &contactlist, const unsigned int off_v, const ChStateDelta &v, const ChVectorDynamic<> &R, const unsigned int off_L, const ChVectorDynamic<> &L, const ChVectorDynamic<> &Qc, const int stride) |
template<class Tcont > | |
void | _IntFromDescriptor (unsigned int &coffset, std::list< Tcont * > &contactlist, const unsigned int off_v, ChStateDelta &v, const unsigned int off_L, ChVectorDynamic<> &L, const int stride) |
template<class Tcont > | |
void | _InjectConstraints (std::list< Tcont * > &contactlist, ChSystemDescriptor &descriptor) |
template<class Tcont > | |
void | _ConstraintsBiReset (std::list< Tcont * > &contactlist) |
template<class Tcont > | |
void | _ConstraintsBiLoad_C (std::list< Tcont * > &contactlist, double factor, double recovery_clamp, bool do_clamp) |
template<class Tcont > | |
void | _ConstraintsFetch_react (std::list< Tcont * > &contactlist, double factor) |
template<class Tcont , class Titer , class Ta , class Tb > | |
void | _OptimalContactInsert (std::list< Tcont * > &contactlist, Titer &lastcontact, int &n_added, ChContactContainerSMC *container, Ta *objA, Tb *objB, const ChCollisionInfo &cinfo, const ChContactMaterialCompositeSMC &cmat) |
template<class Tcont > | |
void | _IntLoadResidual_F (std::list< Tcont * > &contactlist, ChVectorDynamic<> &R, const double c) |
template<class Tcont > | |
void | _KRMmatricesLoad (std::list< Tcont * > contactlist, double Kfactor, double Rfactor) |
template<class Tcont > | |
void | _InjectKRMmatrices (std::list< Tcont * > contactlist, ChSystemDescriptor &descriptor) |
CH_FACTORY_REGISTER (ChContactMaterialData) | |
CH_FACTORY_REGISTER (ChContactMaterialComposite) | |
CH_FACTORY_REGISTER (ChContactMaterialCompositionStrategy) | |
void | Transform_Cq_to_Cqw_row (const ChMatrixNM< double, 7, BODY_QDOF > &mCq, int qrow, ChMatrixRef mCqw, int qwrow, const ChGlMatrix34<> &Gl) |
template<class T > | |
ChNameValue< T > | make_ChNameValue (const std::string &auto_name, const T &t, const std::string &custom_name, char flags=0, ChCausalityType causality=ChCausalityType::local, ChVariabilityType variability=ChVariabilityType::continuous) |
template<class T > | |
ChNameValue< T > | make_ChNameValue (const std::string &auto_name, const T &t, char flags=0, ChCausalityType causality=ChCausalityType::local, ChVariabilityType variability=ChVariabilityType::continuous) |
template<class T > | |
void | StreamSwapBytes (T *ptData) |
Templated function for swapping bytes of objects of type 'T', for arbitrary T type. More... | |
CH_UPCASTING (ChSolverVI, ChSolver) ChIterativeSolverVI | |
ChState | operator+ (const ChState &y, const ChStateDelta &Dy) |
Custom operator "+" that takes care of incremental update of a state y by an increment Dy. More... | |
ChState & | operator+= (ChState &y, const ChStateDelta &Dy) |
ChState | operator+ (const ChStateDelta &Dy, const ChState &y) |
Custom operator "+" that takes care of incremental update of a state y by an increment Dy "y_new = Dy + y", invokes the specialized StateIncrement() in the ChIntegrable. More... | |
ChState | operator- (const ChState &y, const ChStateDelta &Dy) |
Custom operator "-" that takes care of incremental update of a state y by an increment Dy. More... | |
ChState & | operator-= (ChState &y, const ChStateDelta &Dy) |
ChState | operator- (const ChStateDelta &Dy, const ChState &y) |
Custom operator "-" that takes care of incremental update of a state y by an increment Dy "y_new = Dy - y", invokes the specialized StateIncrement() in the ChIntegrable. More... | |
template<typename T > | |
void | ChClampValue (T &value, T limitMin, T limitMax) |
Clamp and modify the specified value to lie within the given limits. | |
template<typename T > | |
T | ChClamp (T value, T limitMin, T limitMax) |
Clamp the specified value to lie within the given limits. | |
template<typename T > | |
int | ChSignum (T x) |
Signum function. | |
template<typename T > | |
T | ChWrapAngle (T angle, bool symmetric=true) |
Wrap angle in range. More... | |
Eigen::Map< Eigen::SparseMatrix< double, Eigen::ColMajor, int > > | getColMajorSparseMatrix (const ChSparseMatrix &mat) |
void | CountNonZerosForEachRow (const ChSparseMatrix &Q, Eigen::VectorXi &nonZerosPerRow, int offset) |
void | CountNonZerosForEachRowTransposed (const ChSparseMatrix &Q_transp, Eigen::VectorXi &nonZerosPerRow, int offset) |
void | PlaceMatrix (ChSparseMatrix &HCQ, const ChSparseMatrix &H, int row_start, int col_start, double scale) |
CH_MULTICORE_API void | Orthogonalize (const real3 &Vx, real3 &Vy, real3 &Vz) |
CH_MULTICORE_API void | Compute_Jacobian (const quaternion &quat, const real3 &U, const real3 &V, const real3 &W, const real3 &point, real3 &T1, real3 &T2, real3 &T3) |
CH_MULTICORE_API void | Compute_Jacobian_Rolling (const quaternion &quat, const real3 &U, const real3 &V, const real3 &W, real3 &T1, real3 &T2, real3 &T3) |
CH_MULTICORE_API bool | Cone_generalized_rigid (real &gamma_n, real &gamma_u, real &gamma_v, real mu) |
CH_MULTICORE_API bool | Cone_single_rigid (real &gamma_n, real &gamma_s, real mu) |
CH_MULTICORE_API void | AppendRigidFluidBoundary (const real contact_mu, const uint num_fluid_bodies, const uint body_offset, const uint start_boundary, ChMulticoreDataManager *data_manager) |
CH_MULTICORE_API void | ProjectRigidFluidBoundary (const real contact_mu, const real contact_cohesion, const uint num_fluid_bodies, const uint start_boundary, real *gamma, ChMulticoreDataManager *data_manager) |
CH_MULTICORE_API void | ComplianceRigidFluidBoundary (const real contact_mu, const real contact_compliance, const real alpha, const uint start_boundary, ChMulticoreDataManager *data_manager) |
CH_MULTICORE_API void | CorrectionRigidFluidBoundary (const real contact_mu, const real contact_cohesion, const real alpha, const real contact_recovery_speed, const uint num_fluid_bodies, const uint start_boundary, ChMulticoreDataManager *data_manager) |
CH_MULTICORE_API void | BuildRigidFluidBoundary (const real contact_mu, const uint num_fluid_bodies, const uint body_offset, const uint start_boundary, ChMulticoreDataManager *data_manager) |
void | MPM_Initialize (MPM_Settings &settings, std::vector< float > &positions) |
void | MPM_Solve (MPM_Settings &settings, std::vector< float > &positions, std::vector< float > &velocities) |
void | MPM_UpdateDeformationGradient (MPM_Settings &settings, std::vector< float > &positions, std::vector< float > &velocities, std::vector< float > &jejp) |
CUDA_HOST_DEVICE float | Clamp (float x, float low, float high) |
CUDA_HOST_DEVICE OPERATOR_EQUALSALT float CUDA_HOST_DEVICE OPERATOR_EQUALSALT Mat33f CUDA_HOST_DEVICE | OPERATOR_EQUALSALT (+, Mat33f, Mat33f) CUDA_HOST_DEVICE OPERATOR_EQUALSALT(- |
real | N (const real &dist, const real &h) |
real | cubic_spline (const real &dist, const real &h) |
real3 | grad_cubic_spline (const real3 &dist, const real d, const real &h) |
real | poly6 (const real &dist, const real &h) |
real3 | grad_poly6 (const real3 &xij, const real d, const real &h) |
real | spiky (const real &dist, const real &h) |
real3 | grad_spiky (const real3 &xij, const real dist, const real &h) |
real | unormalized_spiky (const real &dist, const real &h) |
real3 | unormalized_grad_spiky (const real3 &xij, const real d, const real &h) |
real3 | viscosity (const real3 &xij, const real d, const real &h) |
real3 | grad2_viscosity (const real3 &xij, const real d, const real &h) |
real | kernel (const real &dist, const real &h) |
real | grad2_poly6 (const real &dist, const real &h) |
BilateralType | GetBilateralType (ChPhysicsItem *item) |
Variables | |
auto | inverted |
const ChCoordsysd | CSYSNULL (ChVector3d(0, 0, 0), ChQuaterniond(0, 0, 0, 0)) |
const ChCoordsysd | CSYSNORM (ChVector3d(0, 0, 0), ChQuaterniond(1, 0, 0, 0)) |
ChQuadratureTables | static_tables (1, CH_QUADRATURE_STATIC_TABLES) |
ChQuadratureTablesTriangle | static_tables_triangle |
ChQuadratureTablesTetrahedron | static_tables_tetrahedron |
const ChQuaterniond | QNULL (0., 0., 0., 0.) |
Constant null quaternion: {0, 0, 0, 0}. | |
const ChQuaterniond | QUNIT (1., 0., 0., 0.) |
Constant unit quaternion: {1, 0, 0, 0} , corresponds to no rotation (diagonal rotation matrix) | |
const ChQuaterniond | Q_FLIP_AROUND_X (0., 1., 0., 0.) |
const ChQuaterniond | Q_FLIP_AROUND_Y (0., 0., 1., 0.) |
const ChQuaterniond | Q_FLIP_AROUND_Z (0., 0., 0., 1.) |
const ChApi ChQuaterniond | Q_ROTATE_Y_TO_X |
const ChApi ChQuaterniond | Q_ROTATE_Y_TO_Z |
const ChApi ChQuaterniond | Q_ROTATE_X_TO_Y |
const ChApi ChQuaterniond | Q_ROTATE_X_TO_Z |
const ChApi ChQuaterniond | Q_ROTATE_Z_TO_Y |
const ChApi ChQuaterniond | Q_ROTATE_Z_TO_X |
const ChVector3d | VNULL (0., 0., 0.) |
const ChVector3d | VECT_X (1., 0., 0.) |
const ChVector3d | VECT_Y (0., 1., 0.) |
const ChVector3d | VECT_Z (0., 0., 1.) |
CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT real CUDA_HOST_DEVICE ChApi OPERATOR_EQUALSALT Mat33 CUDA_HOST_DEVICE ChApi | Mat33 |
CUDA_HOST_DEVICE OPERATOR_EQUALS_IMPL * | real2 |
CUDA_HOST_DEVICE ChApi OPERATOR_EQUALS_IMPL * | real3 |
CUDA_HOST_DEVICE ChApi OPERATOR_EQUALS_IMPL * | real4 |
const int | BODY_DOF = 6 |
degrees of freedom of body in 3d space | |
const int | BODY_QDOF = 7 |
degrees of freedom with quaternion rotation state | |
const int | BODY_ROT = 3 |
rotational dof in Newton dynamics | |
CUDA_HOST_DEVICE OPERATOR_EQUALSALT float CUDA_HOST_DEVICE OPERATOR_EQUALSALT Mat33f CUDA_HOST_DEVICE | Mat33f |
Typedef Documentation
◆ ChCoordsysd
typedef ChCoordsys<double> chrono::ChCoordsysd |
Alias for double-precision coordinate systems.
Instead of writing ChCoordsys<double> csys; or ChCoordsys<> csys; you can use: ChCoordsysd csys;
◆ ChCoordsysf
typedef ChCoordsys<float> chrono::ChCoordsysf |
Alias for single-precision coordinate systems.
Instead of writing ChCoordsys<float> csys; you can use: ChCoordsysf csys;
◆ ChFramed
typedef ChFrame<double> chrono::ChFramed |
Alias for double-precision coordinate frames.
Instead of writing ChFrame<double> F; or ChFrame<> F; you can use: ChFramed F;
◆ ChFramef
typedef ChFrame<float> chrono::ChFramef |
Alias for double-precision coordinate frames.
Instead of writing ChFrame<float> F; you can use: ChFramef F;
◆ ChQuaterniond
typedef ChQuaternion<double> chrono::ChQuaterniond |
Alias for double-precision quaternions.
Instead of writing ChQuaternion<double> q; or ChQuaternion<> q; you can use: ChQuaterniond q;
◆ ChQuaternionf
typedef ChQuaternion<float> chrono::ChQuaternionf |
Alias for single-precision quaternions.
Instead of writing ChQuaternion<float> q; you can use: ChQuaternionf q;
◆ ChVector2b
typedef ChVector2<bool> chrono::ChVector2b |
Alias for bool vectors.
Instead of writing ChVector2<bool> v; you can use: ChVector2b v;
◆ ChVector2d
typedef ChVector2<double> chrono::ChVector2d |
Alias for double-precision vectors.
Instead of writing ChVector2<double> v; or ChVector2<> v; you can use: ChVector2d v;
◆ ChVector2f
typedef ChVector2<float> chrono::ChVector2f |
Alias for single-precision vectors.
Instead of writing ChVector2<float> v; you can use: ChVector2f v;
◆ ChVector2i
typedef ChVector2<int> chrono::ChVector2i |
Alias for integer vectors.
Instead of writing ChVector2<int> v; you can use: ChVector2i v;
◆ ChVector3b
typedef ChVector3<bool> chrono::ChVector3b |
Alias for bool vectors.
Instead of writing ChVector3<bool> v; you can use: ChVector3b v;
◆ ChVector3d
typedef ChVector3<double> chrono::ChVector3d |
Alias for double-precision vectors.
Instead of writing ChVector3<double> v; or ChVector3d v; you can use: ChVector3d v;
◆ ChVector3f
typedef ChVector3<float> chrono::ChVector3f |
Alias for single-precision vectors.
Instead of writing ChVector3<float> v; you can use: ChVector3f v;
◆ ChVector3i
typedef ChVector3<int> chrono::ChVector3i |
Alias for integer vectors.
Instead of writing ChVector3<int> v; you can use: ChVector3i v;
Enumeration Type Documentation
◆ ChContactMethod
|
strong |
◆ RotRepresentation
|
strong |
Definitions of various rotation representations for conversions.
◆ VisualizationType
|
strong |
Body visualization mode.
Enumerator | |
---|---|
NONE | no visualization |
PRIMITIVES | use primitve shapes (create primitive ChVisualShape objects) |
MESH | use meshes (create a ChVisualShapeTriangleMesh) |
MODEL_FILE | use a data file (create a ChVisualShapeModelFile) |
COLLISION | visualize collision shapes |
Function Documentation
◆ ChWrapAngle()
T chrono::ChWrapAngle | ( | T | angle, |
bool | symmetric = true |
||
) |
Wrap angle in range.
If symmetric, wrap in [-PI; PI). If not symmetric, wrap in [0; 2PI).
◆ getVoidPointer()
void * chrono::getVoidPointer | ( | T * | ptr | ) |
Type-erase pointer-to-object after making sure that it is pointing to the proper address Casting to void* through a static_cast leads to different results:
- if the object is not polymorphic the result is just the type-erasure;
- if the object is polymorphic, and the pointer is not of the most derived class, the resulting address (if the derived class has multiple inheritance) might not point to the original object address In this latter case, a dynamic_cast is required. However, the dynamic_cast is not possible for non-polymorphic classes, thus the need for a compile-time switch.
◆ operator*() [1/15]
ChFrame<Real> chrono::operator* | ( | const ChCoordsys< Real > & | Ca, |
const ChFrame< Real > & | Fb | ||
) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChCoordsys frame_B is a ChFrame Returns a ChFrame.
The effect is like applying the transformation frame_A to frame_B and get frame_C. Performance warning: this operator promotes frame_A to a temporary ChFrame.
◆ operator*() [2/15]
ChFrameMoving<Real> chrono::operator* | ( | const ChCoordsys< Real > & | ca, |
const ChFrameMoving< Real > & | Fb | ||
) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChCoordsys frame_B is a ChFrameMoving Returns a ChFrameMoving.
The effect is like applying the transformation frame_A to frame_B and get frame_C. Also speeds and accelerations are transformed. Performance warning: this operator promotes frame_A to a temporary ChFrameMoving.
◆ operator*() [3/15]
ChQuaternion<Real> chrono::operator* | ( | const ChCoordsys< Real > & | Fa, |
const ChQuaternion< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: quat_C = frame_A * quat_B; where frame_A is a ChCoordsys quat_B is a ChQuaternion Returns a ChQuaternion.
The effect is like applying the transformation frame_A to quat_B and get quat_C.
◆ operator*() [4/15]
ChVector3<Real> chrono::operator* | ( | const ChCoordsys< Real > & | Fa, |
const ChVector3< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: vector_C = frame_A * vector_B; where frame_A is a ChCoordsys vector_B is a ChVector Returns a ChVector.
The effect is like applying the transformation frame_A to vector_B and get vector_C.
◆ operator*() [5/15]
ChCoordsys<Real> chrono::operator* | ( | const ChFrame< Real > & | Fa, |
const ChCoordsys< Real > & | Cb | ||
) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChFrame frame_B is a ChCoordsys Returns a ChCoordsys.
The effect is like applying the transformation frame_A to frame_B and get frame_C.
◆ operator*() [6/15]
ChFrameMoving<Real> chrono::operator* | ( | const ChFrame< Real > & | Fa, |
const ChFrameMoving< Real > & | Fb | ||
) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChFrame frame_B is a ChFrameMoving Returns a ChFrameMoving.
The effect is like applying the transformation frame_A to frame_B and get frame_C. Also speeds and accelerations are transformed. Performance warning: this operator promotes frame_A to a temporary ChFrameMoving.
◆ operator*() [7/15]
ChQuaternion<Real> chrono::operator* | ( | const ChFrame< Real > & | Fa, |
const ChQuaternion< Real > & | qb | ||
) |
The '*' operator that transforms 'mixed' types: quat_C = frame_A * quat_B; where frame_A is a ChFrame quat_B is a ChQuaternion Returns a ChQuaternion.
The effect is like applying the transformation frame_A to quat_B and get quat_C.
◆ operator*() [8/15]
ChVector3<Real> chrono::operator* | ( | const ChFrame< Real > & | Fa, |
const ChVector3< Real > & | vb | ||
) |
The '*' operator that transforms 'mixed' types: vector_C = frame_A * vector_B; where frame_A is a ChFrame vector_B is a ChVector Returns a ChVector.
The effect is like applying the transformation frame_A to vector_B and get vector_C.
◆ operator*() [9/15]
ChFrame<Real> chrono::operator* | ( | const ChFrameMoving< Real > & | Fa, |
const ChFrame< Real > & | Fb | ||
) |
The '*' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A * frame_B; where frame_A is a ChFrameMoving frame_B is a ChFrame Returns a ChFrame.
The effect is like applying the transformation frame_A to frame_B and get frame_C. Also speeds and accelerations are transformed.
◆ operator*() [10/15]
ChCoordsys<Real> chrono::operator* | ( | const ChQuaternion< Real > & | Fa, |
const ChCoordsys< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: frame_C = quat_A * frame_B; where quat_A is a ChQuaternion frame_B is a ChCoordsys Returns a ChCoordsys.
The effect is like applying the rotation quat_A to frame_B and get frame_C.
◆ operator*() [11/15]
ChFrame<Real> chrono::operator* | ( | const ChQuaternion< Real > & | qa, |
const ChFrame< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: frame_C = quat_A * frame_B; where quat_A is a ChQuaternion frame_B is a ChFrame Returns a ChFrame.
The effect is like applying the rotation quat_A to frame_B and get frame_C.
◆ operator*() [12/15]
ChFrameMoving<Real> chrono::operator* | ( | const ChQuaternion< Real > & | qa, |
const ChFrameMoving< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: frame_C = quat_A * frame_B; where quat_A is a ChQuaternion frame_B is a ChFrameMoving Returns a ChFrameMoving.
The effect is like applying the rotation quat_A to frame_B and get frame_C. Also speeds and accelerations are rotated. Performance warning: this operator promotes quat_A to a temporary ChFrameMoving.
◆ operator*() [13/15]
ChCoordsys<Real> chrono::operator* | ( | const ChVector3< Real > & | Fa, |
const ChCoordsys< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: frame_C = vector_A * frame_B; where vector_A is a ChVector frame_B is a ChCoordsys Returns a ChCoordsys.
The effect is like applying the translation vector_A to frame_B and get frame_C.
◆ operator*() [14/15]
◆ operator*() [15/15]
ChFrameMoving<Real> chrono::operator* | ( | const ChVector3< Real > & | va, |
const ChFrameMoving< Real > & | Fb | ||
) |
The '*' operator that transforms 'mixed' types: frame_C = vector_A * frame_B; where vector_A is a ChVector frame_B is a ChFrame Returns a ChFrameMoving.
The effect is like applying the translation vector_A to frame_B and get frame_C.
◆ operator+() [1/2]
|
inline |
Custom operator "+" that takes care of incremental update of a state y by an increment Dy.
"y_new = y + Dy", invokes the specialized StateIncrement() in the ChIntegrable. If none is provided, this defaults to a simple vector sum
◆ operator+() [2/2]
|
inline |
Custom operator "+" that takes care of incremental update of a state y by an increment Dy "y_new = Dy + y", invokes the specialized StateIncrement() in the ChIntegrable.
If none is provided, this defaults to a simple vector sum
◆ operator-() [1/2]
|
inline |
Custom operator "-" that takes care of incremental update of a state y by an increment Dy.
"y_new = y - Dy", invokes the specialized StateIncrement() in the ChIntegrable. If none is provided, this defaults to a simple vector sum
◆ operator-() [2/2]
|
inline |
Custom operator "-" that takes care of incremental update of a state y by an increment Dy "y_new = Dy - y", invokes the specialized StateIncrement() in the ChIntegrable.
If none is provided, this defaults to a simple vector sum
◆ operator>>() [1/14]
ChCoordsys<Real> chrono::operator>> | ( | const ChCoordsys< Real > & | Ca, |
const ChFrame< Real > & | Fb | ||
) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChCoordsys frame_B is a ChFrame Returns a ChCoordsys.
The effect is like applying the transformation frame_B to frame_A and get frame_C.
◆ operator>>() [2/14]
ChCoordsys<Real> chrono::operator>> | ( | const ChCoordsys< Real > & | Fa, |
const ChQuaternion< Real > & | Fb | ||
) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> quat_B; where frame_A is a ChCoordsys frame_B is a ChQuaternion Returns a ChCoordsys.
The effect is like applying the rotation quat_B to frame_A and get frame_C.
◆ operator>>() [3/14]
ChCoordsys<Real> chrono::operator>> | ( | const ChCoordsys< Real > & | Fa, |
const ChVector3< Real > & | Fb | ||
) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> vector_B; where frame_A is a ChCoordsys vector_B is a ChVector Returns a ChCoordsys.
The effect is like applying the translation vector_B to frame_A and get frame_C.
◆ operator>>() [4/14]
ChFrame<Real> chrono::operator>> | ( | const ChFrame< Real > & | Fa, |
const ChCoordsys< Real > & | Cb | ||
) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChFrame frame_B is a ChCoordsys Returns a ChFrame.
The effect is like applying the transformation frame_B to frame_A and get frame_C. Performance warning: this operator promotes frame_B to a temporary ChFrame.
◆ operator>>() [5/14]
ChFrame<Real> chrono::operator>> | ( | const ChFrame< Real > & | Fa, |
const ChQuaternion< Real > & | qb | ||
) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> quat_B; where frame_A is a ChFrame frame_B is a ChQuaternion Returns a ChFrame.
The effect is like applying the rotation quat_B to frame_A and get frame_C.
◆ operator>>() [6/14]
◆ operator>>() [7/14]
ChFrameMoving<Real> chrono::operator>> | ( | const ChFrameMoving< Real > & | Fa, |
const ChCoordsys< Real > & | cb | ||
) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChFrameMoving frame_B is a ChCoordsys Returns a ChFrameMoving.
The effect is like applying the transformation frame_B to frame_A and get frame_C. Also speeds and accelerations are transformed. Performance warning: this operator promotes frame_B to a temporary ChFrameMoving.
◆ operator>>() [8/14]
ChFrameMoving<Real> chrono::operator>> | ( | const ChFrameMoving< Real > & | Fa, |
const ChFrame< Real > & | Fb | ||
) |
The '>>' operator that transforms a coordinate system of 'mixed' type: frame_C = frame_A >> frame_B; where frame_A is a ChFrameMoving frame_B is a ChFrame Returns a ChFrameMoving.
The effect is like applying the transformation frame_B to frame_A and get frame_C. Also speeds and accelerations are transformed. Performance warning: this operator promotes frame_B to a temporary ChFrameMoving.
◆ operator>>() [9/14]
ChFrameMoving<Real> chrono::operator>> | ( | const ChFrameMoving< Real > & | Fa, |
const ChQuaternion< Real > & | qb | ||
) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> quat_B; where frame_A is a ChFrameMoving frame_B is a ChQuaternion Returns a ChFrameMoving.
The effect is like applying the rotation quat_B to frame_A and get frame_C. Also speeds and accelerations are rotated. Performance warning: this operator promotes quat_A to a temporary ChFrameMoving
◆ operator>>() [10/14]
ChFrameMoving<Real> chrono::operator>> | ( | const ChFrameMoving< Real > & | Fa, |
const ChVector3< Real > & | vb | ||
) |
The '>>' operator that transforms 'mixed' types: frame_C = frame_A >> vector_B; where frame_A is a ChFrame frame_B is a ChVector Returns a ChFrameMoving.
The effect is like applying the translation vector_B to frame_A and get frame_C.
◆ operator>>() [11/14]
ChQuaternion<Real> chrono::operator>> | ( | const ChQuaternion< Real > & | Fa, |
const ChCoordsys< Real > & | Fb | ||
) |
The '>>' operator that transforms 'mixed' types: quat_C = quat_A >> frame_B; where quat_A is a ChQuaternion frame_B is a ChCoordsys Returns a ChQuaternion.
The effect is like applying the transformation frame_B to quat_A and get quat_C.
◆ operator>>() [12/14]
ChQuaternion<Real> chrono::operator>> | ( | const ChQuaternion< Real > & | qa, |
const ChFrame< Real > & | Fb | ||
) |
The '>>' operator that transforms 'mixed' types: quat_C = quat_A >> frame_B; where quat_A is a ChQuaternion frame_B is a ChFrame Returns a ChQuaternion.
The effect is like applying the transformation frame_B to quat_A and get quat_C.
◆ operator>>() [13/14]
ChVector3<Real> chrono::operator>> | ( | const ChVector3< Real > & | Fa, |
const ChCoordsys< Real > & | Fb | ||
) |
The '>>' operator that transforms 'mixed' types: vector_C = vector_A >> frame_B; where vector_A is a ChVector frame_B is a ChCoordsys Returns a ChVector.
The effect is like applying the transformation frame_B to frame_A and get frame_C.
◆ operator>>() [14/14]
ChVector3<Real> chrono::operator>> | ( | const ChVector3< Real > & | va, |
const ChFrame< Real > & | Fb | ||
) |
The '>>' operator that transforms 'mixed' types: vector_C = vector_A >> frame_B; where vector_A is a ChVector frame_B is a ChFrame Returns a ChVector.
The effect is like applying the transformation frame_B to vector_A and get vector_C. For a sequence of transformations, i.e. a chain of coordinate systems, you can also write this (like you would do with a sequence of Denavitt-Hartemberg matrix multiplications, but in the opposite order...) new_v = old_v >> frame3to2 >> frame2to1 >> frame1to0; This operation is not commutative.
◆ QuatDt2FromAngleAxis()
ChApi ChQuaterniond chrono::QuatDt2FromAngleAxis | ( | double | angle_dtdt, |
const ChVector3d & | axis, | ||
const ChQuaterniond & | q, | ||
const ChQuaterniond & | q_dt | ||
) |
Convert from a rotation acceleration and an axis to a quaternion second derivative.
The rotation axis is assumed to be represented in absolute coordinates.
◆ QuatDt2FromImaginary()
ChApi ChQuaterniond chrono::QuatDt2FromImaginary | ( | const ChVector3d & | im_dtdt, |
const ChQuaterniond & | q, | ||
const ChQuaterniond & | q_dt | ||
) |
Given the imaginary (vectorial) {e1 e2 e3} part of a quaternion second time derivative, find the entire quaternion q = {e0, e1, e2, e3}.
Note: singularities are possible.
◆ QuatDtFromAngleAxis()
ChApi ChQuaterniond chrono::QuatDtFromAngleAxis | ( | const ChQuaterniond & | quat, |
double | angle_dt, | ||
const ChVector3d & | axis | ||
) |
Convert from a speed of rotation and an axis to a quaternion derivative.
The rotation axis is assumed to be represented in absolute coordinates.
◆ QuatDtFromImaginary()
ChApi ChQuaterniond chrono::QuatDtFromImaginary | ( | const ChVector3d & | im_dt, |
const ChQuaterniond & | q | ||
) |
Given the imaginary (vectorial) {e1 e2 e3} part of a quaternion time derivative, find the entire quaternion q = {e0, e1, e2, e3}.
Note: singularities are possible.
◆ QuatFromAngleAxis() [1/2]
ChApi ChQuaterniond chrono::QuatFromAngleAxis | ( | const AngleAxis & | angle_axis | ) |
Convert from an angle-axis pair to a quaternion.
The axis is supposed to be fixed, i.e. it is constant during rotation. The 'axis' vector must be normalized.
◆ QuatFromAngleAxis() [2/2]
ChApi ChQuaterniond chrono::QuatFromAngleAxis | ( | double | angle, |
const ChVector3d & | axis | ||
) |
Convert from an angle and an axis to a quaternion.
The axis is supposed to be fixed, i.e. it is constant during rotation. The 'axis' vector must be normalized.
◆ QuatFromImaginary()
ChApi ChQuaterniond chrono::QuatFromImaginary | ( | const ChVector3d & | imm | ) |
Given the imaginary (vectorial) {e1 e2 e3} part of a quaternion, find the entire quaternion q = {e0, e1, e2, e3}.
Note: singularities are possible.
◆ QuatFromVec2Vec()
ChApi ChQuaterniond chrono::QuatFromVec2Vec | ( | const ChVector3d & | start, |
const ChVector3d & | end | ||
) |
Convert from a vector-to-vector rotation to a quaternion.
This quaternion represents the rotation that rotates the source vector to be aligned with the destination vector. The vectors do not need to be normalized.
◆ StreamSwapBytes()
|
inline |
Templated function for swapping bytes of objects of type 'T', for arbitrary T type.
This is used for cross-platform compatibility when sharing objects between big-endian and little-endian memory models, depending on the microprocessor type.
◆ swap()
void chrono::swap | ( | ChAssembly & | first, |
ChAssembly & | second | ||
) |
Implemented as a friend (as opposed to a member function) so classes with a ChAssembly member can use ADL when implementing their own swap.
Variable Documentation
◆ inverted
auto chrono::inverted |