Public Member Functions | |
| base::ptr | clone () const |
| Clone the kernel. | |
| base::ptr | create () const |
| Create a new kernel of the same type. | |
| Vector3 | getLoc () const |
| Get the location component of the kernel. | |
| void | setLoc (const Vector3 &v) |
| Set the location component of the kernel. | |
| std::ostream & | polyPrint (std::ostream &out) const |
| Prints the kernel parameters to the provided stream. More... | |
| Type | polyType () const |
| Get the "kernel type", i.e., its domain of definition. | |
| coord_t | polyEval (const base &k) const |
Evaluate the kernel at the location/orientation of k. | |
| coord_t | polyCutPoint () const |
| Distance (from the origin) at which the value of the kernel becomes zero. | |
| base::ptr | polySample () const |
| Get a sample from the kernel. | |
| NUKLEI_UNIQUE_PTR< kernel::se3 > | polySe3Sample () const |
| Get an \( SE(3) \) sample from the kernel. More... | |
| NUKLEI_UNIQUE_PTR< kernel::se3 > | polySe3Proj () const |
| Get an \( SE(3) \) version of the kernel. More... | |
| base::ptr | polyProjectedOn (const kernel::se3 &k) const |
Projects *this onto k and returns the result. (See Operations on Poses.) | |
| base::ptr | polyTransformedWith (const kernel::se3 &k) const |
Transforms *this with k and returns the result. (See Operations on Poses.) | |
| void | polyMakeTransformWith (const kernel::se3 &k) |
Transforms *this with k and sets *this to the result. (See Operations on Poses.) | |
| base::ptr | polyLinearInterpolation (const kernel::base &k, const coord_t x) const |
Interpolates between *this and k. More... | |
| void | polyUpdateWidth (const kernel::base &k, const coord_t x=.5) |
| Used internally. | |
| coord_pair | polyDistanceTo (const kernel::base &k) const |
Returns a std::pair containing the distance in position and orientation between *this and k. | |
Public Member Functions inherited from nuklei::kernel::base | |
| virtual void | assertConsistency () const =0 |
| bool | operator< (const kernel::base &k) const |
| Weight-based kernel comparator. | |
| bool | operator> (const kernel::base &k) const |
| Weight-based kernel comparator. | |
| virtual coord_t | getLocH () const =0 |
| Get the location bandwidth. | |
| virtual void | setLocH (const coord_t h)=0 |
| Set the location bandwidth. | |
| virtual coord_t | getOriH () const =0 |
| Get the orientation bandwidth. More... | |
| virtual void | setOriH (const coord_t h)=0 |
| Set the orientation bandwidth. More... | |
| weight_t | getWeight () const |
| Returns this kernel's weight. | |
| void | setWeight (const weight_t w) |
| Sets this kernel's weight. | |
| bool | hasDescriptor () const |
| Descriptor & | getDescriptor () |
| const Descriptor & | getDescriptor () const |
| void | setDescriptor (const Descriptor &desc) |
| void | clearDescriptor () |
| void | setFlag (bitfield_t flag) |
| void | resetFlag (bitfield_t flag) |
| bool | getFlag (bitfield_t flag) const |
Additional Inherited Members | |
Public Types inherited from nuklei::kernel::base | |
| enum | Type { R3 = 0, R3XS2, R3XS2P, SE3, UNKNOWN } |
| Explicit query of a kernel's type. See Type Queries for more info. | |
| typedef NUKLEI_UNIQUE_PTR< kernel::base > | ptr |
| NUKLEI_UNIQUE_PTR for kernel::base. | |
Static Public Attributes inherited from nuklei::kernel::base | |
| static const Type | defaultType = SE3 |
| Explicit query of a kernel's type. See Type Queries for more info. | |
| static const std::string | TypeNames [] = { "r3", "r3xs2", "r3xs2p", "se3" } |
| Explicit query of a kernel's type. See Type Queries for more info. | |
Protected Member Functions inherited from nuklei::kernel::base | |
| base (const base &k) | |
| base & | operator= (const base &k) |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Protected Attributes inherited from nuklei::kernel::base | |
| weight_t | w_ |
| int | flag1_ |
| bitfield_t | bitfield_ |
| NUKLEI_UNIQUE_PTR< Descriptor > | desc_ |
|
inlinevirtual |
Interpolates between *this and k.
For x = 0, this function returns *this. If x = 1, it returns k. For orientation, interpolation is done in Euclidean space. Slerp should be used instead. To be fixed soon.
Implements nuklei::kernel::base.
|
inlinevirtual |
Prints the kernel parameters to the provided stream.
The purpose of this method is debugging. It shouldn't be used for serialization.
Implements nuklei::kernel::base.
|
virtual |
Get an \( SE(3) \) version of the kernel.
Take a sample from the kernel. If the kernel is defined on a subspace of \( SE(3) \), make it \( SE(3) \) by selecting random values from a uniform distribution for the extra DOFs.
Implements nuklei::kernel::base.
|
virtual |
Get an \( SE(3) \) sample from the kernel.
Take a sample from the kernel. If the kernel is defined on a subspace of \( SE(3) \), make the sample \( SE(3) \) by selecting random values from a uniform distribution for the extra DOFs.
Implements nuklei::kernel::base.