sdurw_pathoptimization module

class sdurw_pathoptimization.sdurw_pathoptimization.ClearanceCalculator(*args, **kwargs)

Bases: object

Interface for ClearanceCalculator

A ClearanceCalculator provides a mean for calculating the clearance of for a state. While the concept of clearance usually refers to the distance between a device and obstacle, not such assumption should be made based on the interface, as other fitness criteria may be implemented.

Only convention is that a high clearance value is better than a low.

clearance(state)

Calculates Clearance for the state

Parameters

state (State) – [in] State for which to calculate the clearance

Return type

float

Returns

The clearance.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.ClearanceCalculatorCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

clearance(state)

Calculates Clearance for the state

Parameters

state (State) – [in] State for which to calculate the clearance

Return type

float

Returns

The clearance.

deref()

The pointer stored in the object.

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.ClearanceCalculatorPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

clearance(state)

Calculates Clearance for the state

Parameters

state (State) – [in] State for which to calculate the clearance

Return type

float

Returns

The clearance.

cptr()
deref()

The pointer stored in the object.

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.ClearanceOptimizer(device, state, metric, clearanceCalculator)

Bases: object

The ClearanceOptimizer implements the C-Retraction algorithms from [1]

[1]: R. Geraerts and M.H. Overmars, Creating High-Quality Paths for Motion Planning, The International Journal of Robotics Research, Vol. 26, No. 8, 845-863 (2007)

The algorithms work by first subdividing the path, to give a dense and even distribution of nodes along the path. Nodes are then tried moved in a random direction to improve the clearance. After having iterated through the entire path some nodes will be moved, thus a validation step is used to insert extra nodes where the density is not high enough. This is then followed by a method for removing undesired branches.

PROP_LOOPCOUNT = 'LoopCount'
PROP_MAXTIME = 'MaxTime'
PROP_STEPSIZE = 'StepSize'
getClearanceCalculator()

Returns the ClearanceCalculator associated with the optimizer.

Return type

rw::core::Ptr< rwlibs::pathoptimization::ClearanceCalculator const >

Returns

Const reference to the ClearanceCalculator.

getMinimumClearance()

Returns the minimum clearance optimized for. :rtype: float :return: The minimum clearance.

getPropertyMap()

Returns the PropertyMap associated with the optimizer.

The PropertyMap defines the following parameters used by the optimizer:

Property Name | Type | Default value ———————————- | —— | ————- ClearanceOptimizer::PROP_LOOPCOUNT | int | 20 ClearanceOptimizer::PROP_MAXTIME | double | 200 ClearanceOptimizer::PROP_STEPSIZE | double | 0.1

Return type

PropertyMap

Returns

The PropertyMap

optimize(*args)

Overload 1:

Runs optimization algorithm

Calling this method runs the path optimization algorithm. This call blocks until the optimized path is ready. This may take quite a while, depending on the maxcount specified and the amount of geometry in the scene.

Parameters
  • path (rw::trajectory::QPath) – [in] Path to optimize

  • stepsize (float) – [in] Maximum size between configurations in the dense path

  • maxcount (int) – [in] Number of time to attempt optimizing the path using the random direction. If maxcount=0 only the maxtime will be used.

  • maxtime (float) – [in] The maximal time allowed to optimize. If maxtime**<=0 only the **maxcount will be used

Return type

rw::trajectory::QPath

Returns

The optimized path with node no further than stepsize apart


Overload 2:

Runs optimization algorithm

Runs the optimization algorithm using the parameters specified in the property map

Parameters

path (rw::trajectory::QPath) – [in] Path to optimize

Return type

rw::trajectory::QPath

Returns

The optimized path

setMinimumClearance(dist)

Sets the minimum clearance optimized for. Points on the path with clearance greater than _minClearance are not optimized further. Class default value is 0.1 meters. Value must be equal to or greater than zero.

Parameters

dist (float) – [in] Minimum clearance.

setQConstraint(qConstraint)

Set a configuration constraint in the clearance optimizer.

The optimizer will not generate a path with configurations that is in collision according to the constraint.

Parameters

qConstraint (rw::core::Ptr< rw::pathplanning::QConstraint const >) – [in] the constraint.

setStateConstraint(stateConstraint)

Set a state constraint in the clearance optimizer.

The optimizer will not generate a path with configurations that is in collision according to the state constraint.

Parameters

stateConstraint (rw::core::Ptr< rw::pathplanning::StateConstraint const >) – [in] the constraint.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.ClearanceOptimizerCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

property PROP_LOOPCOUNT

Property key for the maximal number of loops. Set LOOPCOUNT=0 to deactivate it

property PROP_MAXTIME

Property key for max time. Set MAXTIME=0 to deactivate it

property PROP_STEPSIZE

Property key for step size

deref()

The pointer stored in the object.

getClearanceCalculator()

Returns the ClearanceCalculator associated with the optimizer.

Return type

rw::core::Ptr< rwlibs::pathoptimization::ClearanceCalculator const >

Returns

Const reference to the ClearanceCalculator.

getDeref()

Member access operator.

getMinimumClearance()

Returns the minimum clearance optimized for. :rtype: float :return: The minimum clearance.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.ClearanceOptimizerPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

property PROP_LOOPCOUNT

Property key for the maximal number of loops. Set LOOPCOUNT=0 to deactivate it

property PROP_MAXTIME

Property key for max time. Set MAXTIME=0 to deactivate it

property PROP_STEPSIZE

Property key for step size

cptr()
deref()

The pointer stored in the object.

getClearanceCalculator()

Returns the ClearanceCalculator associated with the optimizer.

Return type

rw::core::Ptr< rwlibs::pathoptimization::ClearanceCalculator const >

Returns

Const reference to the ClearanceCalculator.

getDeref()

Member access operator.

getMinimumClearance()

Returns the minimum clearance optimized for. :rtype: float :return: The minimum clearance.

getPropertyMap()

Returns the PropertyMap associated with the optimizer.

The PropertyMap defines the following parameters used by the optimizer:

Property Name | Type | Default value ———————————- | —— | ————- ClearanceOptimizer::PROP_LOOPCOUNT | int | 20 ClearanceOptimizer::PROP_MAXTIME | double | 200 ClearanceOptimizer::PROP_STEPSIZE | double | 0.1

Return type

PropertyMap

Returns

The PropertyMap

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

optimize(*args)

Overload 1:

Runs optimization algorithm

Calling this method runs the path optimization algorithm. This call blocks until the optimized path is ready. This may take quite a while, depending on the maxcount specified and the amount of geometry in the scene.

Parameters
  • path (rw::trajectory::QPath) – [in] Path to optimize

  • stepsize (float) – [in] Maximum size between configurations in the dense path

  • maxcount (int) – [in] Number of time to attempt optimizing the path using the random direction. If maxcount=0 only the maxtime will be used.

  • maxtime (float) – [in] The maximal time allowed to optimize. If maxtime**<=0 only the **maxcount will be used

Return type

rw::trajectory::QPath

Returns

The optimized path with node no further than stepsize apart


Overload 2:

Runs optimization algorithm

Runs the optimization algorithm using the parameters specified in the property map

Parameters

path (rw::trajectory::QPath) – [in] Path to optimize

Return type

rw::trajectory::QPath

Returns

The optimized path

setMinimumClearance(dist)

Sets the minimum clearance optimized for. Points on the path with clearance greater than _minClearance are not optimized further. Class default value is 0.1 meters. Value must be equal to or greater than zero.

Parameters

dist (float) – [in] Minimum clearance.

setQConstraint(qConstraint)

Set a configuration constraint in the clearance optimizer.

The optimizer will not generate a path with configurations that is in collision according to the constraint.

Parameters

qConstraint (rw::core::Ptr< rw::pathplanning::QConstraint const >) – [in] the constraint.

setStateConstraint(stateConstraint)

Set a state constraint in the clearance optimizer.

The optimizer will not generate a path with configurations that is in collision according to the state constraint.

Parameters

stateConstraint (rw::core::Ptr< rw::pathplanning::StateConstraint const >) – [in] the constraint.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.MinimumClearanceCalculator(*args)

Bases: ClearanceCalculator

Implements a MinimumClearanceCalculator

The minimum clearance is defined as the minimal distance between any two geometries, which are not excluded by the collision setup.

clearance(state)

Calculates Clearance for the state

Parameters

state (State) – [in] State for which to calculate the clearance

Return type

float

Returns

The clearance.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.MinimumClearanceCalculatorCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

clearance(state)
deref()

The pointer stored in the object.

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.MinimumClearanceCalculatorPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

clearance(state)
cptr()
deref()

The pointer stored in the object.

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.PathLengthOptimizer(constraint, metric)

Bases: object

The PathLengthOptimizer implements the 3 different path length optimizers presented in [1].

[1]: R. Geraerts and M.H. Overmars, Creating High-Quality Paths for Motion Planning, The International Journal of Robotics Research, Vol. 26, No. 8, 845-863 (2007)

The simplest algorithm pathPruning runs through the path an tests if nodes with index i and i+2 can be directly connected. If so it removed node i+1.

The shortCut algorithm works similary except that it takes two random indices i and j and tries to connect those. This algorithm is non-deterministic but more powerful than pathPruning.

The partialShortCut algorithm select two random node indices i and j and a random position in the configuration vector. A shortcut is then only tried between the values corresponding to the random position. This algorithm is generally more powerful than shortCut but may in some cases be more computational expensive.

PROP_LOOPCOUNT = 'LoopCount'
PROP_MAXTIME = 'MaxTime'
PROP_SUBDIVLENGTH = 'SubDivideLength'
getPropertyMap()

Returns the propertymap :rtype: PropertyMap :return: Reference to the property map

partialShortCut(*args)

Overload 1:

Optimizes using the partial shortcut technique

The partialShortCut algorithm select two random node indices i and j and a random position in the configuration vector. A shortcut is then only tried between the values corresponding to the random position.

The algorithm will loop until either the specified cnt is of met or the specified time is reached.

Parameters
  • path (rw::trajectory::QPath) – [inout] Path to optimize

  • cnt (int) – [in] Max count to use. If cnt=0, only the time limit will be used

  • time (float) – [in] Max time to use (in seconds). If time=0, only the cnt limit will be used

  • subDivideLength (float) – [in] The length into which the path is subdivided


Overload 2:

Optimizes using the partial shortcut technique

Works similar to partialShortCut(const rw::pathplanning::Path&, size_t, double, double) except that parameters are read from the propertymap.

Parameters

path (rw::trajectory::QPath) – [inout] Path to optimize

Return type

rw::trajectory::QPath

Returns

The optimized path

pathPruning(path)

Optimizes using path pruning.

pathPruning runs through the path an tests if nodes with index i and i+2 can be directly connected. If so it removes node i+1.

Parameters

path (rw::trajectory::QPath) – [in] Path to optimize

shortCut(*args)

Overload 1:

Optimizes using the shortcut technique

The shortCut algorithm works by selecting two random indices i and j and try to connect those.

The algorithm will loop until either the specified cnt is of met or the specified time is reached.

Parameters
  • path (rw::trajectory::QPath) – [inout] Path to optimize

  • cnt (int) – [in] Max count to use. If cnt=0, only the time limit will be used

  • time (float) – [in] Max time to use (in seconds). If time=0, only the cnt limit will be used

  • subDivideLength (float) – [in] The length into which the path is subdivided


Overload 2:

Optimizes using the shortcut technique

Works similar to shortCut(const rw::pathplanning::Path&, size_t, double, double) except that parameters are read from the propertymap.

Parameters

path (rw::trajectory::QPath) – [inout] Path to optimize

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.PathLengthOptimizerCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

property PROP_LOOPCOUNT

Property key for the maximal number of loops

property PROP_MAXTIME

Property key for max time

property PROP_SUBDIVLENGTH

Property key for length of segment in when subdividing

deref()

The pointer stored in the object.

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

partialShortCut(*args)

Overload 1:

Optimizes using the partial shortcut technique

The partialShortCut algorithm select two random node indices i and j and a random position in the configuration vector. A shortcut is then only tried between the values corresponding to the random position.

The algorithm will loop until either the specified cnt is of met or the specified time is reached.

Parameters
  • path (rw::trajectory::QPath) – [inout] Path to optimize

  • cnt (int) – [in] Max count to use. If cnt=0, only the time limit will be used

  • time (float) – [in] Max time to use (in seconds). If time=0, only the cnt limit will be used

  • subDivideLength (float) – [in] The length into which the path is subdivided


Overload 2:

Optimizes using the partial shortcut technique

Works similar to partialShortCut(const rw::pathplanning::Path&, size_t, double, double) except that parameters are read from the propertymap.

Parameters

path (rw::trajectory::QPath) – [inout] Path to optimize

Return type

rw::trajectory::QPath

Returns

The optimized path

pathPruning(path)

Optimizes using path pruning.

pathPruning runs through the path an tests if nodes with index i and i+2 can be directly connected. If so it removes node i+1.

Parameters

path (rw::trajectory::QPath) – [in] Path to optimize

shortCut(*args)

Overload 1:

Optimizes using the shortcut technique

The shortCut algorithm works by selecting two random indices i and j and try to connect those.

The algorithm will loop until either the specified cnt is of met or the specified time is reached.

Parameters
  • path (rw::trajectory::QPath) – [inout] Path to optimize

  • cnt (int) – [in] Max count to use. If cnt=0, only the time limit will be used

  • time (float) – [in] Max time to use (in seconds). If time=0, only the cnt limit will be used

  • subDivideLength (float) – [in] The length into which the path is subdivided


Overload 2:

Optimizes using the shortcut technique

Works similar to shortCut(const rw::pathplanning::Path&, size_t, double, double) except that parameters are read from the propertymap.

Parameters

path (rw::trajectory::QPath) – [inout] Path to optimize

property thisown

The membership flag

class sdurw_pathoptimization.sdurw_pathoptimization.PathLengthOptimizerPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

property PROP_LOOPCOUNT

Property key for the maximal number of loops

property PROP_MAXTIME

Property key for max time

property PROP_SUBDIVLENGTH

Property key for length of segment in when subdividing

cptr()
deref()

The pointer stored in the object.

getDeref()

Member access operator.

getPropertyMap()

Returns the propertymap :rtype: PropertyMap :return: Reference to the property map

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

partialShortCut(*args)

Overload 1:

Optimizes using the partial shortcut technique

The partialShortCut algorithm select two random node indices i and j and a random position in the configuration vector. A shortcut is then only tried between the values corresponding to the random position.

The algorithm will loop until either the specified cnt is of met or the specified time is reached.

Parameters
  • path (rw::trajectory::QPath) – [inout] Path to optimize

  • cnt (int) – [in] Max count to use. If cnt=0, only the time limit will be used

  • time (float) – [in] Max time to use (in seconds). If time=0, only the cnt limit will be used

  • subDivideLength (float) – [in] The length into which the path is subdivided


Overload 2:

Optimizes using the partial shortcut technique

Works similar to partialShortCut(const rw::pathplanning::Path&, size_t, double, double) except that parameters are read from the propertymap.

Parameters

path (rw::trajectory::QPath) – [inout] Path to optimize

Return type

rw::trajectory::QPath

Returns

The optimized path

pathPruning(path)

Optimizes using path pruning.

pathPruning runs through the path an tests if nodes with index i and i+2 can be directly connected. If so it removes node i+1.

Parameters

path (rw::trajectory::QPath) – [in] Path to optimize

shortCut(*args)

Overload 1:

Optimizes using the shortcut technique

The shortCut algorithm works by selecting two random indices i and j and try to connect those.

The algorithm will loop until either the specified cnt is of met or the specified time is reached.

Parameters
  • path (rw::trajectory::QPath) – [inout] Path to optimize

  • cnt (int) – [in] Max count to use. If cnt=0, only the time limit will be used

  • time (float) – [in] Max time to use (in seconds). If time=0, only the cnt limit will be used

  • subDivideLength (float) – [in] The length into which the path is subdivided


Overload 2:

Optimizes using the shortcut technique

Works similar to shortCut(const rw::pathplanning::Path&, size_t, double, double) except that parameters are read from the propertymap.

Parameters

path (rw::trajectory::QPath) – [inout] Path to optimize

property thisown

The membership flag

sdurw_pathoptimization.sdurw_pathoptimization.ownedPtr(*args)

Overload 1:

A Ptr that takes ownership over a raw pointer ptr.


Overload 2:

A Ptr that takes ownership over a raw pointer ptr.


Overload 3:

A Ptr that takes ownership over a raw pointer ptr.


Overload 4:

A Ptr that takes ownership over a raw pointer ptr.


Overload 5:

A Ptr that takes ownership over a raw pointer ptr.


Overload 6:

A Ptr that takes ownership over a raw pointer ptr.


Overload 7:

A Ptr that takes ownership over a raw pointer ptr.


Overload 8:

A Ptr that takes ownership over a raw pointer ptr.


Overload 9:

A Ptr that takes ownership over a raw pointer ptr.


Overload 10:

A Ptr that takes ownership over a raw pointer ptr.


Overload 11:

A Ptr that takes ownership over a raw pointer ptr.


Overload 12:

A Ptr that takes ownership over a raw pointer ptr.


Overload 13:

A Ptr that takes ownership over a raw pointer ptr.


Overload 14:

A Ptr that takes ownership over a raw pointer ptr.


Overload 15:

A Ptr that takes ownership over a raw pointer ptr.


Overload 16:

A Ptr that takes ownership over a raw pointer ptr.


Overload 17:

A Ptr that takes ownership over a raw pointer ptr.


Overload 18:

A Ptr that takes ownership over a raw pointer ptr.


Overload 19:

A Ptr that takes ownership over a raw pointer ptr.


Overload 20:

A Ptr that takes ownership over a raw pointer ptr.


Overload 21:

A Ptr that takes ownership over a raw pointer ptr.


Overload 22:

A Ptr that takes ownership over a raw pointer ptr.


Overload 23:

A Ptr that takes ownership over a raw pointer ptr.


Overload 24:

A Ptr that takes ownership over a raw pointer ptr.


Overload 25:

A Ptr that takes ownership over a raw pointer ptr.


Overload 26:

A Ptr that takes ownership over a raw pointer ptr.


Overload 27:

A Ptr that takes ownership over a raw pointer ptr.


Overload 28:

A Ptr that takes ownership over a raw pointer ptr.


Overload 29:

A Ptr that takes ownership over a raw pointer ptr.


Overload 30:

A Ptr that takes ownership over a raw pointer ptr.


Overload 31:

A Ptr that takes ownership over a raw pointer ptr.


Overload 32:

A Ptr that takes ownership over a raw pointer ptr.


Overload 33:

A Ptr that takes ownership over a raw pointer ptr.


Overload 34:

A Ptr that takes ownership over a raw pointer ptr.


Overload 35:

A Ptr that takes ownership over a raw pointer ptr.


Overload 36:

A Ptr that takes ownership over a raw pointer ptr.


Overload 37:

A Ptr that takes ownership over a raw pointer ptr.


Overload 38:

A Ptr that takes ownership over a raw pointer ptr.


Overload 39:

A Ptr that takes ownership over a raw pointer ptr.


Overload 40:

A Ptr that takes ownership over a raw pointer ptr.


Overload 41:

A Ptr that takes ownership over a raw pointer ptr.


Overload 42:

A Ptr that takes ownership over a raw pointer ptr.


Overload 43:

A Ptr that takes ownership over a raw pointer ptr.


Overload 44:

A Ptr that takes ownership over a raw pointer ptr.


Overload 45:

A Ptr that takes ownership over a raw pointer ptr.


Overload 46:

A Ptr that takes ownership over a raw pointer ptr.


Overload 47:

A Ptr that takes ownership over a raw pointer ptr.


Overload 48:

A Ptr that takes ownership over a raw pointer ptr.


Overload 49:

A Ptr that takes ownership over a raw pointer ptr.


Overload 50:

A Ptr that takes ownership over a raw pointer ptr.


Overload 51:

A Ptr that takes ownership over a raw pointer ptr.


Overload 52:

A Ptr that takes ownership over a raw pointer ptr.


Overload 53:

A Ptr that takes ownership over a raw pointer ptr.


Overload 54:

A Ptr that takes ownership over a raw pointer ptr.


Overload 55:

A Ptr that takes ownership over a raw pointer ptr.


Overload 56:

A Ptr that takes ownership over a raw pointer ptr.


Overload 57:

A Ptr that takes ownership over a raw pointer ptr.


Overload 58:

A Ptr that takes ownership over a raw pointer ptr.


Overload 59:

A Ptr that takes ownership over a raw pointer ptr.


Overload 60:

A Ptr that takes ownership over a raw pointer ptr.


Overload 61:

A Ptr that takes ownership over a raw pointer ptr.


Overload 62:

A Ptr that takes ownership over a raw pointer ptr.


Overload 63:

A Ptr that takes ownership over a raw pointer ptr.


Overload 64:

A Ptr that takes ownership over a raw pointer ptr.


Overload 65:

A Ptr that takes ownership over a raw pointer ptr.


Overload 66:

A Ptr that takes ownership over a raw pointer ptr.


Overload 67:

A Ptr that takes ownership over a raw pointer ptr.


Overload 68:

A Ptr that takes ownership over a raw pointer ptr.


Overload 69:

A Ptr that takes ownership over a raw pointer ptr.


Overload 70:

A Ptr that takes ownership over a raw pointer ptr.


Overload 71:

A Ptr that takes ownership over a raw pointer ptr.


Overload 72:

A Ptr that takes ownership over a raw pointer ptr.


Overload 73:

A Ptr that takes ownership over a raw pointer ptr.


Overload 74:

A Ptr that takes ownership over a raw pointer ptr.


Overload 75:

A Ptr that takes ownership over a raw pointer ptr.


Overload 76:

A Ptr that takes ownership over a raw pointer ptr.


Overload 77:

A Ptr that takes ownership over a raw pointer ptr.


Overload 78:

A Ptr that takes ownership over a raw pointer ptr.


Overload 79:

A Ptr that takes ownership over a raw pointer ptr.


Overload 80:

A Ptr that takes ownership over a raw pointer ptr.


Overload 81:

A Ptr that takes ownership over a raw pointer ptr.


Overload 82:

A Ptr that takes ownership over a raw pointer ptr.


Overload 83:

A Ptr that takes ownership over a raw pointer ptr.


Overload 84:

A Ptr that takes ownership over a raw pointer ptr.


Overload 85:

A Ptr that takes ownership over a raw pointer ptr.


Overload 86:

A Ptr that takes ownership over a raw pointer ptr.


Overload 87:

A Ptr that takes ownership over a raw pointer ptr.


Overload 88:

A Ptr that takes ownership over a raw pointer ptr.


Overload 89:

A Ptr that takes ownership over a raw pointer ptr.


Overload 90:

A Ptr that takes ownership over a raw pointer ptr.


Overload 91:

A Ptr that takes ownership over a raw pointer ptr.


Overload 92:

A Ptr that takes ownership over a raw pointer ptr.


Overload 93:

A Ptr that takes ownership over a raw pointer ptr.


Overload 94:

A Ptr that takes ownership over a raw pointer ptr.


Overload 95:

A Ptr that takes ownership over a raw pointer ptr.


Overload 96:

A Ptr that takes ownership over a raw pointer ptr.


Overload 97:

A Ptr that takes ownership over a raw pointer ptr.


Overload 98:

A Ptr that takes ownership over a raw pointer ptr.


Overload 99:

A Ptr that takes ownership over a raw pointer ptr.


Overload 100:

A Ptr that takes ownership over a raw pointer ptr.


Overload 101:

A Ptr that takes ownership over a raw pointer ptr.


Overload 102:

A Ptr that takes ownership over a raw pointer ptr.


Overload 103:

A Ptr that takes ownership over a raw pointer ptr.


Overload 104:

A Ptr that takes ownership over a raw pointer ptr.


Overload 105:

A Ptr that takes ownership over a raw pointer ptr.


Overload 106:

A Ptr that takes ownership over a raw pointer ptr.


Overload 107:

A Ptr that takes ownership over a raw pointer ptr.


Overload 108:

A Ptr that takes ownership over a raw pointer ptr.


Overload 109:

A Ptr that takes ownership over a raw pointer ptr.


Overload 110:

A Ptr that takes ownership over a raw pointer ptr.


Overload 111:

A Ptr that takes ownership over a raw pointer ptr.


Overload 112:

A Ptr that takes ownership over a raw pointer ptr.


Overload 113:

A Ptr that takes ownership over a raw pointer ptr.


Overload 114:

A Ptr that takes ownership over a raw pointer ptr.


Overload 115:

A Ptr that takes ownership over a raw pointer ptr.


Overload 116:

A Ptr that takes ownership over a raw pointer ptr.


Overload 117:

A Ptr that takes ownership over a raw pointer ptr.


Overload 118:

A Ptr that takes ownership over a raw pointer ptr.


Overload 119:

A Ptr that takes ownership over a raw pointer ptr.


Overload 120:

A Ptr that takes ownership over a raw pointer ptr.


Overload 121:

A Ptr that takes ownership over a raw pointer ptr.


Overload 122:

A Ptr that takes ownership over a raw pointer ptr.


Overload 123:

A Ptr that takes ownership over a raw pointer ptr.


Overload 124:

A Ptr that takes ownership over a raw pointer ptr.


Overload 125:

A Ptr that takes ownership over a raw pointer ptr.


Overload 126:

A Ptr that takes ownership over a raw pointer ptr.


Overload 127:

A Ptr that takes ownership over a raw pointer ptr.


Overload 128:

A Ptr that takes ownership over a raw pointer ptr.


Overload 129:

A Ptr that takes ownership over a raw pointer ptr.


Overload 130:

A Ptr that takes ownership over a raw pointer ptr.


Overload 131:

A Ptr that takes ownership over a raw pointer ptr.


Overload 132:

A Ptr that takes ownership over a raw pointer ptr.


Overload 133:

A Ptr that takes ownership over a raw pointer ptr.


Overload 134:

A Ptr that takes ownership over a raw pointer ptr.


Overload 135:

A Ptr that takes ownership over a raw pointer ptr.


Overload 136:

A Ptr that takes ownership over a raw pointer ptr.


Overload 137:

A Ptr that takes ownership over a raw pointer ptr.


Overload 138:

A Ptr that takes ownership over a raw pointer ptr.


Overload 139:

A Ptr that takes ownership over a raw pointer ptr.


Overload 140:

A Ptr that takes ownership over a raw pointer ptr.


Overload 141:

A Ptr that takes ownership over a raw pointer ptr.


Overload 142:

A Ptr that takes ownership over a raw pointer ptr.


Overload 143:

A Ptr that takes ownership over a raw pointer ptr.


Overload 144:

A Ptr that takes ownership over a raw pointer ptr.


Overload 145:

A Ptr that takes ownership over a raw pointer ptr.


Overload 146:

A Ptr that takes ownership over a raw pointer ptr.


Overload 147:

A Ptr that takes ownership over a raw pointer ptr.


Overload 148:

A Ptr that takes ownership over a raw pointer ptr.


Overload 149:

A Ptr that takes ownership over a raw pointer ptr.


Overload 150:

A Ptr that takes ownership over a raw pointer ptr.


Overload 151:

A Ptr that takes ownership over a raw pointer ptr.


Overload 152:

A Ptr that takes ownership over a raw pointer ptr.


Overload 153:

A Ptr that takes ownership over a raw pointer ptr.


Overload 154:

A Ptr that takes ownership over a raw pointer ptr.


Overload 155:

A Ptr that takes ownership over a raw pointer ptr.


Overload 156:

A Ptr that takes ownership over a raw pointer ptr.


Overload 157:

A Ptr that takes ownership over a raw pointer ptr.


Overload 158:

A Ptr that takes ownership over a raw pointer ptr.


Overload 159:

A Ptr that takes ownership over a raw pointer ptr.


Overload 160:

A Ptr that takes ownership over a raw pointer ptr.


Overload 161:

A Ptr that takes ownership over a raw pointer ptr.


Overload 162:

A Ptr that takes ownership over a raw pointer ptr.


Overload 163:

A Ptr that takes ownership over a raw pointer ptr.


Overload 164:

A Ptr that takes ownership over a raw pointer ptr.


Overload 165:

A Ptr that takes ownership over a raw pointer ptr.


Overload 166:

A Ptr that takes ownership over a raw pointer ptr.


Overload 167:

A Ptr that takes ownership over a raw pointer ptr.


Overload 168:

A Ptr that takes ownership over a raw pointer ptr.


Overload 169:

A Ptr that takes ownership over a raw pointer ptr.


Overload 170:

A Ptr that takes ownership over a raw pointer ptr.


Overload 171:

A Ptr that takes ownership over a raw pointer ptr.


Overload 172:

A Ptr that takes ownership over a raw pointer ptr.


Overload 173:

A Ptr that takes ownership over a raw pointer ptr.


Overload 174:

A Ptr that takes ownership over a raw pointer ptr.


Overload 175:

A Ptr that takes ownership over a raw pointer ptr.


Overload 176:

A Ptr that takes ownership over a raw pointer ptr.


Overload 177:

A Ptr that takes ownership over a raw pointer ptr.


Overload 178:

A Ptr that takes ownership over a raw pointer ptr.


Overload 179:

A Ptr that takes ownership over a raw pointer ptr.


Overload 180:

A Ptr that takes ownership over a raw pointer ptr.


Overload 181:

A Ptr that takes ownership over a raw pointer ptr.


Overload 182:

A Ptr that takes ownership over a raw pointer ptr.


Overload 183:

A Ptr that takes ownership over a raw pointer ptr.


Overload 184:

A Ptr that takes ownership over a raw pointer ptr.


Overload 185:

A Ptr that takes ownership over a raw pointer ptr.


Overload 186:

A Ptr that takes ownership over a raw pointer ptr.


Overload 187:

A Ptr that takes ownership over a raw pointer ptr.


Overload 188:

A Ptr that takes ownership over a raw pointer ptr.


Overload 189:

A Ptr that takes ownership over a raw pointer ptr.


Overload 190:

A Ptr that takes ownership over a raw pointer ptr.


Overload 191:

A Ptr that takes ownership over a raw pointer ptr.


Overload 192:

A Ptr that takes ownership over a raw pointer ptr.


Overload 193:

A Ptr that takes ownership over a raw pointer ptr.


Overload 194:

A Ptr that takes ownership over a raw pointer ptr.


Overload 195:

A Ptr that takes ownership over a raw pointer ptr.


Overload 196:

A Ptr that takes ownership over a raw pointer ptr.


Overload 197:

A Ptr that takes ownership over a raw pointer ptr.


Overload 198:

A Ptr that takes ownership over a raw pointer ptr.


Overload 199:

A Ptr that takes ownership over a raw pointer ptr.


Overload 200:

A Ptr that takes ownership over a raw pointer ptr.


Overload 201:

A Ptr that takes ownership over a raw pointer ptr.


Overload 202:

A Ptr that takes ownership over a raw pointer ptr.


Overload 203:

A Ptr that takes ownership over a raw pointer ptr.


Overload 204:

A Ptr that takes ownership over a raw pointer ptr.


Overload 205:

A Ptr that takes ownership over a raw pointer ptr.


Overload 206:

A Ptr that takes ownership over a raw pointer ptr.


Overload 207:

A Ptr that takes ownership over a raw pointer ptr.


Overload 208:

A Ptr that takes ownership over a raw pointer ptr.


Overload 209:

A Ptr that takes ownership over a raw pointer ptr.


Overload 210:

A Ptr that takes ownership over a raw pointer ptr.


Overload 211:

A Ptr that takes ownership over a raw pointer ptr.


Overload 212:

A Ptr that takes ownership over a raw pointer ptr.


Overload 213:

A Ptr that takes ownership over a raw pointer ptr.


Overload 214:

A Ptr that takes ownership over a raw pointer ptr.


Overload 215:

A Ptr that takes ownership over a raw pointer ptr.


Overload 216:

A Ptr that takes ownership over a raw pointer ptr.


Overload 217:

A Ptr that takes ownership over a raw pointer ptr.


Overload 218:

A Ptr that takes ownership over a raw pointer ptr.


Overload 219:

A Ptr that takes ownership over a raw pointer ptr.


Overload 220:

A Ptr that takes ownership over a raw pointer ptr.


Overload 221:

A Ptr that takes ownership over a raw pointer ptr.


Overload 222:

A Ptr that takes ownership over a raw pointer ptr.


Overload 223:

A Ptr that takes ownership over a raw pointer ptr.


Overload 224:

A Ptr that takes ownership over a raw pointer ptr.


Overload 225:

A Ptr that takes ownership over a raw pointer ptr.


Overload 226:

A Ptr that takes ownership over a raw pointer ptr.


Overload 227:

A Ptr that takes ownership over a raw pointer ptr.


Overload 228:

A Ptr that takes ownership over a raw pointer ptr.


Overload 229:

A Ptr that takes ownership over a raw pointer ptr.


Overload 230:

A Ptr that takes ownership over a raw pointer ptr.


Overload 231:

A Ptr that takes ownership over a raw pointer ptr.


Overload 232:

A Ptr that takes ownership over a raw pointer ptr.


Overload 233:

A Ptr that takes ownership over a raw pointer ptr.


Overload 234:

A Ptr that takes ownership over a raw pointer ptr.


Overload 235:

A Ptr that takes ownership over a raw pointer ptr.


Overload 236:

A Ptr that takes ownership over a raw pointer ptr.


Overload 237:

A Ptr that takes ownership over a raw pointer ptr.


Overload 238:

A Ptr that takes ownership over a raw pointer ptr.


Overload 239:

A Ptr that takes ownership over a raw pointer ptr.


Overload 240:

A Ptr that takes ownership over a raw pointer ptr.


Overload 241:

A Ptr that takes ownership over a raw pointer ptr.


Overload 242:

A Ptr that takes ownership over a raw pointer ptr.


Overload 243:

A Ptr that takes ownership over a raw pointer ptr.


Overload 244:

A Ptr that takes ownership over a raw pointer ptr.


Overload 245:

A Ptr that takes ownership over a raw pointer ptr.


Overload 246:

A Ptr that takes ownership over a raw pointer ptr.


Overload 247:

A Ptr that takes ownership over a raw pointer ptr.


Overload 248:

A Ptr that takes ownership over a raw pointer ptr.


Overload 249:

A Ptr that takes ownership over a raw pointer ptr.


Overload 250:

A Ptr that takes ownership over a raw pointer ptr.


Overload 251:

A Ptr that takes ownership over a raw pointer ptr.


Overload 252:

A Ptr that takes ownership over a raw pointer ptr.


Overload 253:

A Ptr that takes ownership over a raw pointer ptr.


Overload 254:

A Ptr that takes ownership over a raw pointer ptr.


Overload 255:

A Ptr that takes ownership over a raw pointer ptr.


Overload 256:

A Ptr that takes ownership over a raw pointer ptr.


Overload 257:

A Ptr that takes ownership over a raw pointer ptr.


Overload 258:

A Ptr that takes ownership over a raw pointer ptr.


Overload 259:

A Ptr that takes ownership over a raw pointer ptr.


Overload 260:

A Ptr that takes ownership over a raw pointer ptr.


Overload 261:

A Ptr that takes ownership over a raw pointer ptr.


Overload 262:

A Ptr that takes ownership over a raw pointer ptr.


Overload 263:

A Ptr that takes ownership over a raw pointer ptr.


Overload 264:

A Ptr that takes ownership over a raw pointer ptr.


Overload 265:

A Ptr that takes ownership over a raw pointer ptr.


Overload 266:

A Ptr that takes ownership over a raw pointer ptr.


Overload 267:

A Ptr that takes ownership over a raw pointer ptr.


Overload 268:

A Ptr that takes ownership over a raw pointer ptr.


Overload 269:

A Ptr that takes ownership over a raw pointer ptr.


Overload 270:

A Ptr that takes ownership over a raw pointer ptr.


Overload 271:

A Ptr that takes ownership over a raw pointer ptr.


Overload 272:

A Ptr that takes ownership over a raw pointer ptr.


Overload 273:

A Ptr that takes ownership over a raw pointer ptr.


Overload 274:

A Ptr that takes ownership over a raw pointer ptr.


Overload 275:

A Ptr that takes ownership over a raw pointer ptr.


Overload 276:

A Ptr that takes ownership over a raw pointer ptr.


Overload 277:

A Ptr that takes ownership over a raw pointer ptr.


Overload 278:

A Ptr that takes ownership over a raw pointer ptr.


Overload 279:

A Ptr that takes ownership over a raw pointer ptr.


Overload 280:

A Ptr that takes ownership over a raw pointer ptr.


Overload 281:

A Ptr that takes ownership over a raw pointer ptr.


Overload 282:

A Ptr that takes ownership over a raw pointer ptr.


Overload 283:

A Ptr that takes ownership over a raw pointer ptr.


Overload 284:

A Ptr that takes ownership over a raw pointer ptr.


Overload 285:

A Ptr that takes ownership over a raw pointer ptr.


Overload 286:

A Ptr that takes ownership over a raw pointer ptr.


Overload 287:

A Ptr that takes ownership over a raw pointer ptr.


Overload 288:

A Ptr that takes ownership over a raw pointer ptr.


Overload 289:

A Ptr that takes ownership over a raw pointer ptr.


Overload 290:

A Ptr that takes ownership over a raw pointer ptr.


Overload 291:

A Ptr that takes ownership over a raw pointer ptr.


Overload 292:

A Ptr that takes ownership over a raw pointer ptr.


Overload 293:

A Ptr that takes ownership over a raw pointer ptr.


Overload 294:

A Ptr that takes ownership over a raw pointer ptr.


Overload 295:

A Ptr that takes ownership over a raw pointer ptr.


Overload 296:

A Ptr that takes ownership over a raw pointer ptr.


Overload 297:

A Ptr that takes ownership over a raw pointer ptr.


Overload 298:

A Ptr that takes ownership over a raw pointer ptr.


Overload 299:

A Ptr that takes ownership over a raw pointer ptr.


Overload 300:

A Ptr that takes ownership over a raw pointer ptr.


Overload 301:

A Ptr that takes ownership over a raw pointer ptr.


Overload 302:

A Ptr that takes ownership over a raw pointer ptr.


Overload 303:

A Ptr that takes ownership over a raw pointer ptr.


Overload 304:

A Ptr that takes ownership over a raw pointer ptr.


Overload 305:

A Ptr that takes ownership over a raw pointer ptr.


Overload 306:

A Ptr that takes ownership over a raw pointer ptr.


Overload 307:

A Ptr that takes ownership over a raw pointer ptr.


Overload 308:

A Ptr that takes ownership over a raw pointer ptr.


Overload 309:

A Ptr that takes ownership over a raw pointer ptr.


Overload 310:

A Ptr that takes ownership over a raw pointer ptr.


Overload 311:

A Ptr that takes ownership over a raw pointer ptr.


Overload 312:

A Ptr that takes ownership over a raw pointer ptr.


Overload 313:

A Ptr that takes ownership over a raw pointer ptr.


Overload 314:

A Ptr that takes ownership over a raw pointer ptr.


Overload 315:

A Ptr that takes ownership over a raw pointer ptr.


Overload 316:

A Ptr that takes ownership over a raw pointer ptr.


Overload 317:

A Ptr that takes ownership over a raw pointer ptr.


Overload 318:

A Ptr that takes ownership over a raw pointer ptr.


Overload 319:

A Ptr that takes ownership over a raw pointer ptr.


Overload 320:

A Ptr that takes ownership over a raw pointer ptr.


Overload 321:

A Ptr that takes ownership over a raw pointer ptr.


Overload 322:

A Ptr that takes ownership over a raw pointer ptr.


Overload 323:

A Ptr that takes ownership over a raw pointer ptr.


Overload 324:

A Ptr that takes ownership over a raw pointer ptr.


Overload 325:

A Ptr that takes ownership over a raw pointer ptr.