Container class that contains a single point plus all the data that are necessary for searching and re-connecting operations on points.
More...
|
| PointContainer (PointType point, int index) |
|
| PointContainer (PointType point) |
|
IVector | GetPointCoordinates () |
| returns vector coo-rdinates (or input parameters) of the point contained in the current container. More...
|
|
abstract IVector | GetPointCoordinates (PointType point) |
| Returns vector of co-ordinates (or input parameters) of the specified point. More...
|
|
virtual IVector | GetPointOutputVector (PointType point) |
| Gets the vector of output values of the point contained in the current container. <pra>This method must be overridden in derived classes that use this functionality (not all point containers use it).</pra> More...
|
|
virtual IVector | GetPointOutputVector () |
| Gets the vector of output values of the point containet in the current container. <pra>This method must be overridden in derived classes that use this functionality (not all point containers use it).</pra> More...
|
|
abstract PointLinkType | CreateLink (PointContainerType point) |
| Creates and returns a new link object that points to the specified point (indirectly through point container). More...
|
|
|
object | Lock [get] |
| This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
|
|
PointType | Point [get, protected set] |
| Point that is enclosed by the current point container object. More...
|
|
static int | NextPointId [get] |
| Returns the next point ID that can be used for new PointContainer objects. More...
|
|
int | Id [get, private set] |
| Unique ID of the current point container (important also for testing and debugging). More...
|
|
List< PointLinkType > | Neighbors [get] |
| List of connected points ("neighbors"). More...
|
|
virtual int | Index [get, set] |
| Index of the current point in the original list of points where it can be accessed. More...
|
|
double | StoredDistance [get, set] |
| Stored distance to a reference point, which is used to increase performance of operations that perform comparison of point containers by the distance to some reference point. More...
|
|
PointType | Point [get] |
| Point that is enclosed by the current point container object. More...
|
|
int | Id [get] |
| Unique ID of the current point container (important also for testing and debugging). More...
|
|
int | Index [get] |
| Index of the current point in the original list of points where it can be accessed. More...
|
|
double | StoredDistance [get, set] |
| Stored distance to a reference point, which is used to increase performance of operations that perform comparison of point containers by the distance to some reference point. More...
|
|
object | Lock [get] |
|
Container class that contains a single point plus all the data that are necessary for searching and re-connecting operations on points.
- Template Parameters
-
PointLinkType | Type of point container used by the class. |
PointContainerType | Type of point link that is used by point container. |
PointType | Type of the point enclosed in this container class. |
This class as a part of group of classes that have been created in 2008 in order to support different operations and algorithms on losely connected clouds of points that are embedded in space of arbitrary dimension. The primary intended application was in optimization algorithms based on successive approximations of response and on restricted step prototype algorithms, developed by the author. The scope is much broader, however, because these classes can support closest neighbors algorithms, various graph algorithms based on points in space, detection of clusters, etc.
In 2009, major refactoring has been performed where a more generic structure has been introduced, allowing implementation of generic algorithm methods that can be used with different representations of points.
In 2011, the classes weer migrated from sandbox environment to the prduction IGLib library and simplified a bit. The intention is to use the classes in the artificial neural network-based approximation modules developed for COBIK and the University of Nova Gorica. The intention is, however, that the eventual algorithms developed within this scope are implemented in a generic way, such that they can serve multiple purposes.
$A Igor Sep08 May09 Dec11;
- Type Constraints
-
PointLinkType | : | PointLink | |
PointLinkType | : | PointLinkType | |
PointLinkType | : | PointContainerType | |
PointLinkType | : | PointType | |
PointContainerType | : | PointContainer | |
PointContainerType | : | PointLinkType | |
PointContainerType | : | PointContainerType | |
PointContainerType | : | PointType | |
double IG.Num.PointContainer< PointLinkType, PointContainerType, PointType >.StoredDistance |
|
getset |
Stored distance to a reference point, which is used to increase performance of operations that perform comparison of point containers by the distance to some reference point.
Storing distance to a reference point can significantly speed up sorting operations where points are compared according to their distance to the specified reference point. Since CPU time spent for calculation of the distance is proportional to the dimension of space where points are embedded, we can save time if we only calculate the distance to a reference point once and then in all comparisons use the already calculated distance. For example, when sorting N point, on average N*log_2(N) comparisons of point pairs are performed, each of which would need to calculate distances of both compared points from the specified reference point. If we calculate the distances in advance and use stored distances in sorting, distance calculation is performed only N times. If N=1000, this means about ten times less distance calculations and almost 10 times less time for sorting in higher space dimensions.