GlobalIKBase Class Referenceabstract

#include <MemoryX/libraries/helpers/KinematicBezierMaps/kbm.h>

+ Inheritance diagram for GlobalIKBase:

Classes

struct  Solution
 

Public Types

enum  Side { LOWER , UPPER , END }
 
using SolutionSet = std::vector<Solution>
 

Public Member Functions

 GlobalIKBase ()
 
void solve (Models::KBM_ptr kbm, const Vector lower, const Vector upper, Real resolution=2.0f *M_PI/180.0f)
 

Public Attributes

SolutionSet solutions
 

Protected Member Functions

virtual unsigned int recurse (unsigned int level, Models::KBM_ptr kbm)=0
 
void subdivideAngles (Side side, unsigned int recursion, Models::KBM_ptr kbm, Vector &center, Vector &spreadAngles)
 Subdivides the joint angles only. Can be used to select in which direction to subdivise first.
 
Models::KBM_ptr subdivideKBM (GlobalIKBase::Side side, unsigned int recursion, Models::KBM_ptr kbm)
 Subdivides the kbm and creates new KBM. Calls GlobalIKBase::subdivideAngles().
 

Protected Attributes

Real resolution
 
Vector targetLower
 
Vector targetUpper
 

Detailed Description

Definition at line 303 of file kbm.h.

Member Typedef Documentation

◆ SolutionSet

using SolutionSet = std::vector<Solution>

Definition at line 338 of file kbm.h.

Member Enumeration Documentation

◆ Side

enum Side
Enumerator
LOWER 
UPPER 
END 

Definition at line 340 of file kbm.h.

Constructor & Destructor Documentation

◆ GlobalIKBase()

GlobalIKBase ( )
inline

Definition at line 347 of file kbm.h.

Member Function Documentation

◆ recurse()

virtual unsigned int recurse ( unsigned int level,
Models::KBM_ptr kbm )
protectedpure virtual

Implemented in GlobalIKExtensive, and GlobalIKSemiBreadth.

+ Here is the caller graph for this function:

◆ solve()

void solve ( Models::KBM_ptr kbm,
const Vector lower,
const Vector upper,
Real resolution = 2.0f * M_PI / 180.0f )

Definition at line 509 of file inverse.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subdivideAngles()

void subdivideAngles ( GlobalIKBase::Side side,
unsigned int recursion,
Models::KBM_ptr kbm,
Vector & center,
Vector & spreadAngles )
protected

Subdivides the joint angles only. Can be used to select in which direction to subdivise first.

Definition at line 543 of file inverse.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subdivideKBM()

Models::KBM_ptr subdivideKBM ( GlobalIKBase::Side side,
unsigned int recursion,
Models::KBM_ptr kbm )
protected

Subdivides the kbm and creates new KBM. Calls GlobalIKBase::subdivideAngles().

Definition at line 521 of file inverse.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ resolution

Real resolution
protected

Definition at line 371 of file kbm.h.

◆ solutions

SolutionSet solutions

Definition at line 356 of file kbm.h.

◆ targetLower

Vector targetLower
protected

Definition at line 370 of file kbm.h.

◆ targetUpper

Vector targetUpper
protected

Definition at line 370 of file kbm.h.


The documentation for this class was generated from the following files: