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. More...
 
Models::KBM_ptr subdivideKBM (GlobalIKBase::Side side, unsigned int recursion, Models::KBM_ptr kbm)
 Subdivides the kbm and creates new KBM. Calls GlobalIKBase::subdivideAngles(). More...
 

Protected Attributes

Real resolution
 
Vector targetLower
 
Vector targetUpper
 

Detailed Description

Definition at line 275 of file kbm.h.

Member Typedef Documentation

◆ SolutionSet

using SolutionSet = std::vector<Solution>

Definition at line 299 of file kbm.h.

Member Enumeration Documentation

◆ Side

enum Side
Enumerator
LOWER 
UPPER 
END 

Definition at line 301 of file kbm.h.

Constructor & Destructor Documentation

◆ GlobalIKBase()

GlobalIKBase ( )
inline

Definition at line 308 of file kbm.h.

Member Function Documentation

◆ recurse()

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

Implemented in GlobalIKSemiBreadth, and GlobalIKExtensive.

+ 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 439 of file inverse.cpp.

+ Here is the call 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 466 of file inverse.cpp.

+ 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 447 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 321 of file kbm.h.

◆ solutions

SolutionSet solutions

Definition at line 311 of file kbm.h.

◆ targetLower

Vector targetLower
protected

Definition at line 320 of file kbm.h.

◆ targetUpper

Vector targetUpper
protected

Definition at line 320 of file kbm.h.


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