IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Num.PointLink< PointLinkType, PointContainerType, PointType > Class Template Reference

Contains a pointer (link) to another point container. More...

+ Inheritance diagram for IG.Num.PointLink< PointLinkType, PointContainerType, PointType >:
+ Collaboration diagram for IG.Num.PointLink< PointLinkType, PointContainerType, PointType >:

Public Member Functions

 PointLink (PointContainerType point)
 

Protected Attributes

double _distanceFromPoint
 

Properties

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...
 
PointContainerType Point [get, set]
 Gets or sets the point that is contained in the current container. More...
 
double DistanceFromPoint [get, set]
 Distance to the point containing the current link in its neighbor list. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Detailed Description

Contains a pointer (link) to another point container.

Template Parameters
PointLinkTypeType of point container used by the class.
PointContainerTypeType of point link that is used by point container.
PointTypeType of the point class object that is enclosed in the pointed-to container.

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 

Constructor & Destructor Documentation

IG.Num.PointLink< PointLinkType, PointContainerType, PointType >.PointLink ( PointContainerType  point)
inline

Member Data Documentation

double IG.Num.PointLink< PointLinkType, PointContainerType, PointType >._distanceFromPoint
protected

Property Documentation

object IG.Num.PointLink< PointLinkType, PointContainerType, PointType >.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.

PointContainerType IG.Num.PointLink< PointLinkType, PointContainerType, PointType >.Point
getset

Gets or sets the point that is contained in the current container.

double IG.Num.PointLink< PointLinkType, PointContainerType, PointType >.DistanceFromPoint
getset

Distance to the point containing the current link in its neighbor list.

This kdistance must be calculated by algorithms that set, create or change the link. Otherwise, distance on all links of pont cloud can also be updated by the method


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