#include <cmath>
#include <cassert>
Include dependency graph for PotentialFunctions.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Classes | |
| class | PotentialfieldFunction |
| An abstract class representing a function in a potential field. More... | |
| class | LinearFunction |
| A class representing a linear function in a potential field f(x) = a*x +b. More... | |
| class | ParabolicFunction |
| A class representing a parabolic function in a potential field f(x) = a*x*x +b. More... | |
| class | AsymptoticFunction |
| A class representing an asymptotic function in a potential field f(x) = a/x +b. More... | |
| class | SocialFunction |
| A class representing a social function in a potential field. More... | |
| class | NoFunction |
| A class representing an empty function. More... | |
Enumerations | |
| enum | ObjectType { ATTRACTIVE, REPULSIVE } |
| The object types. More... | |
| enum | FunctionType { NO_FUNCTION, LINEAR_FUNCTION, PARABOLIC_FUNCTION, ASYMPTOTIC_FUNCTION } |
| The function types. More... | |
| enum | FieldType { POINT_FIELD, SHAPE_FIELD, SECTOR_FIELD } |
| The field types. More... | |
Functions | |
| double | computeChargeForPointfield (const PfPose &objectPose, const PfPose &testedPose, PotentialfieldFunction *function) |
| Computes the charge at a position in a Pointfield. | |
| double | computeChargeForShapefield (const PfPose &objectPose, const PfPose &testedPose, PotentialfieldFunction *function, PfieldGeometricObject *geometry) |
| Computes the charge at a position in a Shapefield. | |
| double | computeChargeForSectorfield (const PfPose &objectPose, const PfPose &testedPose, PotentialfieldFunction *function, const Sector §or) |
| Computes the charge at a position in a Sectorfield. | |
| PfVec | computeGradientForPointfield (const PfPose &objectPose, const PfPose &testedPose, PotentialfieldFunction *function) |
| Computes the gradient at a position in a Pointfield. | |
| PfVec | computeGradientForShapefield (const PfPose &objectPose, const PfPose &testedPose, PotentialfieldFunction *function, PfieldGeometricObject *geometry, ObjectType objectType) |
| Computes the gradient at a position in a Shapefield. | |
| PfVec | computeGradientForSectorfield (const PfPose &objectPose, const PfPose &testedPose, PotentialfieldFunction *function, const Sector §or) |
| Computes the gradient at a position in a Sectorfield. | |
Definition in file PotentialFunctions.h.
|
|
The object types.
Definition at line 24 of file PotentialFunctions.h. Referenced by Object::getType(), and Parser::parseObject(). |
|
|
The function types.
Definition at line 27 of file PotentialFunctions.h. |
|
|
The field types.
Definition at line 30 of file PotentialFunctions.h. |
|
||||||||||||||||
|
Computes the charge at a position in a Pointfield.
Definition at line 77 of file PotentialFunctions.cpp. References PotentialfieldFunction::computeValue(), PfVec::distanceTo(), and PfPose::pos. Referenced by Object::computeChargeForSinglePose(). |
Here is the call graph for this function:

|
||||||||||||||||||||
|
Computes the charge at a position in a Shapefield.
Definition at line 85 of file PotentialFunctions.cpp. References PotentialfieldFunction::computeValue(), PfieldGeometricObject::distanceTo(), and PfPose::pos. Referenced by Object::computeChargeForSinglePose(). |
Here is the call graph for this function:

|
||||||||||||||||||||
|
Computes the charge at a position in a Sectorfield.
Definition at line 102 of file PotentialFunctions.cpp. References PotentialfieldFunction::computeValue(), Sector::crossFunction, PfVec::distanceTo(), PfPose::getAngleTo(), PotentialfieldFunction::getRange(), Sector::openingAngle, Sector::pointInside(), PfPose::pos, and PotentialfieldFunction::setParameters(). Referenced by Object::computeChargeForSinglePose(). |
Here is the call graph for this function:

|
||||||||||||||||
|
Computes the gradient at a position in a Pointfield.
Definition at line 119 of file PotentialFunctions.cpp. References PotentialfieldFunction::computeDerivativeValue(), PfVec::length(), PfVec::normalize(), and PfPose::pos. Referenced by Object::computeGradientVecForSinglePose(). |
Here is the call graph for this function:

|
||||||||||||||||||||||||
|
Computes the gradient at a position in a Shapefield.
Definition at line 132 of file PotentialFunctions.cpp. References ATTRACTIVE, PotentialfieldFunction::computeDerivativeValue(), PfieldGeometricObject::distanceTo(), PfVec::normalize(), and PfPose::pos. Referenced by Object::computeGradientVecForSinglePose(). |
Here is the call graph for this function:

|
||||||||||||||||||||
|
Computes the gradient at a position in a Sectorfield.
Definition at line 165 of file PotentialFunctions.cpp. References PotentialfieldFunction::computeDerivativeValue(), PotentialfieldFunction::computeValue(), Sector::crossFunction, PfVec::distanceTo(), PfPose::getAngleTo(), PotentialfieldFunction::getRange(), PfVec::length(), PfVec::normalize(), Sector::openingAngle, Sector::pointInside(), PfPose::pos, PfVec::rotate(), PfPose::rotation, and PotentialfieldFunction::setParameters(). Referenced by Object::computeGradientVecForSinglePose(). |
Here is the call graph for this function:

1.3.6