Functional joint visitor class. More...
#include <FunctionalJointVisitor.hpp>
Public Types | |
template<class T > | |
using | Proc = std::function< void(T)> |
Procedure alias. More... | |
using | Tuple = std::tuple< Proc< const RevoluteJoint & >, Proc< RevoluteJoint & >, Proc< const PrismaticJoint & >, Proc< PrismaticJoint & >, Proc< const DistanceJoint & >, Proc< DistanceJoint & >, Proc< const PulleyJoint & >, Proc< PulleyJoint & >, Proc< const TargetJoint & >, Proc< TargetJoint & >, Proc< const GearJoint & >, Proc< GearJoint & >, Proc< const WheelJoint & >, Proc< WheelJoint & >, Proc< const WeldJoint & >, Proc< WeldJoint & >, Proc< const FrictionJoint & >, Proc< FrictionJoint & >, Proc< const RopeJoint & >, Proc< RopeJoint & >, Proc< const MotorJoint & >, Proc< MotorJoint & > > |
Tuple alias. More... | |
Public Member Functions | |
template<class T > | |
FunctionalJointVisitor & | Use (const Proc< T > &proc) noexcept |
Uses given procedure. More... | |
void | Visit (const RevoluteJoint &arg) override |
Visits a revolute joint (RevoluteJoint ). More... | |
void | Visit (RevoluteJoint &arg) override |
Visits a revolute joint (RevoluteJoint ). More... | |
void | Visit (const PrismaticJoint &arg) override |
Visits a prismatic joint (PrismaticJoint ). More... | |
void | Visit (PrismaticJoint &arg) override |
Visits a prismatic joint (PrismaticJoint ). More... | |
void | Visit (const DistanceJoint &arg) override |
Visits a distance joint (DistanceJoint ). More... | |
void | Visit (DistanceJoint &arg) override |
Visits a distance joint (DistanceJoint ). More... | |
void | Visit (const PulleyJoint &arg) override |
Visits a pulley joint (PulleyJoint ). More... | |
void | Visit (PulleyJoint &arg) override |
Visits a pulley joint (PulleyJoint ). More... | |
void | Visit (const TargetJoint &arg) override |
Visits a target joint (TargetJoint ). More... | |
void | Visit (TargetJoint &arg) override |
Visits a target joint (TargetJoint ). More... | |
void | Visit (const GearJoint &arg) override |
Visits a gear joint (GearJoint ). More... | |
void | Visit (GearJoint &arg) override |
Visits a gear joint (GearJoint ). More... | |
void | Visit (const WheelJoint &arg) override |
Visits a wheel joint (WheelJoint ). More... | |
void | Visit (WheelJoint &arg) override |
Visits a wheel joint (WheelJoint ). More... | |
void | Visit (const WeldJoint &arg) override |
Visits a weld joint (WeldJoint ). More... | |
void | Visit (WeldJoint &arg) override |
Visits a weld joint (WeldJoint ). More... | |
void | Visit (const FrictionJoint &arg) override |
Visits a friction joint (FrictionJoint ). More... | |
void | Visit (FrictionJoint &arg) override |
Visits a friction joint (FrictionJoint ). More... | |
void | Visit (const RopeJoint &arg) override |
Visits a rope joint (RopeJoint ). More... | |
void | Visit (RopeJoint &arg) override |
Visits a rope joint (RopeJoint ). More... | |
void | Visit (const MotorJoint &arg) override |
Visits a motor joint (MotorJoint ). More... | |
void | Visit (MotorJoint &arg) override |
Visits a motor joint (MotorJoint ). More... | |
Public Member Functions inherited from playrho::d2::JointVisitor | |
virtual | ~JointVisitor ()=default |
Public Attributes | |
Tuple | procs |
Procedures. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from playrho::d2::JointVisitor | |
JointVisitor ()=default | |
JointVisitor (const JointVisitor &other)=default | |
Copy constructor. More... | |
JointVisitor (JointVisitor &&other)=default | |
Move constructor. More... | |
JointVisitor & | operator= (const JointVisitor &other)=default |
Copy assignment operator. More... | |
JointVisitor & | operator= (JointVisitor &&other)=default |
Move assignment operator. More... | |
Detailed Description
Functional joint visitor class.
- Note
- This class is intended to provide an alternate interface for visiting joints via the use of lambdas instead of having to subclass
JointVisitor
.
Definition at line 35 of file FunctionalJointVisitor.hpp.
Member Typedef Documentation
◆ Proc
using playrho::d2::FunctionalJointVisitor::Proc = std::function<void(T)> |
Procedure alias.
Definition at line 40 of file FunctionalJointVisitor.hpp.
◆ Tuple
using playrho::d2::FunctionalJointVisitor::Tuple = std::tuple< Proc<const RevoluteJoint&>, Proc< RevoluteJoint&>, Proc<const PrismaticJoint&>, Proc< PrismaticJoint&>, Proc<const DistanceJoint&>, Proc< DistanceJoint&>, Proc<const PulleyJoint&>, Proc< PulleyJoint&>, Proc<const TargetJoint&>, Proc< TargetJoint&>, Proc<const GearJoint&>, Proc< GearJoint&>, Proc<const WheelJoint&>, Proc< WheelJoint&>, Proc<const WeldJoint&>, Proc< WeldJoint&>, Proc<const FrictionJoint&>, Proc< FrictionJoint&>, Proc<const RopeJoint&>, Proc< RopeJoint&>, Proc<const MotorJoint&>, Proc< MotorJoint&> > |
Tuple alias.
Definition at line 69 of file FunctionalJointVisitor.hpp.
Member Function Documentation
◆ Use()
|
inlinenoexcept |
Uses given procedure.
- Note
- Provide a builder pattern mutator method.
Definition at line 76 of file FunctionalJointVisitor.hpp.
◆ Visit() [1/22]
|
inlineoverridevirtual |
Visits a revolute joint (RevoluteJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 84 of file FunctionalJointVisitor.hpp.
◆ Visit() [2/22]
|
inlineoverridevirtual |
Visits a revolute joint (RevoluteJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 85 of file FunctionalJointVisitor.hpp.
◆ Visit() [3/22]
|
inlineoverridevirtual |
Visits a prismatic joint (PrismaticJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 86 of file FunctionalJointVisitor.hpp.
◆ Visit() [4/22]
|
inlineoverridevirtual |
Visits a prismatic joint (PrismaticJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 87 of file FunctionalJointVisitor.hpp.
◆ Visit() [5/22]
|
inlineoverridevirtual |
Visits a distance joint (DistanceJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 88 of file FunctionalJointVisitor.hpp.
◆ Visit() [6/22]
|
inlineoverridevirtual |
Visits a distance joint (DistanceJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 89 of file FunctionalJointVisitor.hpp.
◆ Visit() [7/22]
|
inlineoverridevirtual |
Visits a pulley joint (PulleyJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 90 of file FunctionalJointVisitor.hpp.
◆ Visit() [8/22]
|
inlineoverridevirtual |
Visits a pulley joint (PulleyJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 91 of file FunctionalJointVisitor.hpp.
◆ Visit() [9/22]
|
inlineoverridevirtual |
Visits a target joint (TargetJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 92 of file FunctionalJointVisitor.hpp.
◆ Visit() [10/22]
|
inlineoverridevirtual |
Visits a target joint (TargetJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 93 of file FunctionalJointVisitor.hpp.
◆ Visit() [11/22]
|
inlineoverridevirtual |
Visits a gear joint (GearJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 94 of file FunctionalJointVisitor.hpp.
◆ Visit() [12/22]
|
inlineoverridevirtual |
Visits a gear joint (GearJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 95 of file FunctionalJointVisitor.hpp.
◆ Visit() [13/22]
|
inlineoverridevirtual |
Visits a wheel joint (WheelJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 96 of file FunctionalJointVisitor.hpp.
◆ Visit() [14/22]
|
inlineoverridevirtual |
Visits a wheel joint (WheelJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 97 of file FunctionalJointVisitor.hpp.
◆ Visit() [15/22]
|
inlineoverridevirtual |
Visits a weld joint (WeldJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 98 of file FunctionalJointVisitor.hpp.
◆ Visit() [16/22]
|
inlineoverridevirtual |
Visits a weld joint (WeldJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 99 of file FunctionalJointVisitor.hpp.
◆ Visit() [17/22]
|
inlineoverridevirtual |
Visits a friction joint (FrictionJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 100 of file FunctionalJointVisitor.hpp.
◆ Visit() [18/22]
|
inlineoverridevirtual |
Visits a friction joint (FrictionJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 101 of file FunctionalJointVisitor.hpp.
◆ Visit() [19/22]
|
inlineoverridevirtual |
Visits a rope joint (RopeJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 102 of file FunctionalJointVisitor.hpp.
◆ Visit() [20/22]
|
inlineoverridevirtual |
Visits a rope joint (RopeJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 103 of file FunctionalJointVisitor.hpp.
◆ Visit() [21/22]
|
inlineoverridevirtual |
Visits a motor joint (MotorJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 104 of file FunctionalJointVisitor.hpp.
◆ Visit() [22/22]
|
inlineoverridevirtual |
Visits a motor joint (MotorJoint
).
Implements playrho::d2::JointVisitor.
Definition at line 105 of file FunctionalJointVisitor.hpp.
Member Data Documentation
◆ procs
Tuple playrho::d2::FunctionalJointVisitor::procs |
Procedures.
Definition at line 71 of file FunctionalJointVisitor.hpp.
The documentation for this class was generated from the following file:
- Dynamics/Joints/FunctionalJointVisitor.hpp