WSF
WsfClusterManager Class Reference

#include <WsfClusterManager.hpp>

Inherits UtClusterManager.

Public Member Functions

 WsfClusterManager (WsfSimulation &aSimulation, size_t aNumClusters=0, UtClusterManager::ClusteringMethod aMethod=UtClusterManager::cK_MEANS, UtClusterManager::DistanceFunction aDistType=UtClusterManager::cPOSITION_ONLY)
 ~WsfClusterManager () override=default

'utility' methods.

enum  DrawType { HULL , STAR }
unsigned int UniqueId (const std::vector< WsfTrack * > &aList)
unsigned int UniqueId (const std::vector< WsfPlatform * > &aList)
unsigned int UniqueId (const std::vector< WsfGeoPoint * > &aList)
unsigned int UniqueId (const std::vector< WsfAssetPerception * > &aList)
std::vector< WsfTrack * > ConvexHull (const std::vector< WsfTrack * > &aList)
std::vector< WsfPlatform * > ConvexHull (const std::vector< WsfPlatform * > &aList)
std::vector< WsfGeoPoint * > ConvexHull (const std::vector< WsfGeoPoint * > &aList)
std::vector< WsfAssetPerception * > ConvexHull (const std::vector< WsfAssetPerception * > &aList)
WsfGeoPoint MeanLocation (const std::vector< WsfTrack * > &aList)
WsfGeoPoint MeanLocation (const std::vector< WsfPlatform * > &aList)
WsfGeoPoint MeanLocation (const std::vector< WsfGeoPoint * > &aList)
WsfGeoPoint MeanLocation (const std::vector< WsfAssetPerception * > &aList)
WsfTrackNearestMember (const std::vector< WsfTrack * > &aList, WsfGeoPoint &toPoint)
WsfPlatformNearestMember (const std::vector< WsfPlatform * > &aList, WsfGeoPoint &toPoint)
WsfGeoPointNearestMember (const std::vector< WsfGeoPoint * > &aList, WsfGeoPoint &toPoint)
WsfAssetPerceptionNearestMember (const std::vector< WsfAssetPerception * > &aList, WsfGeoPoint &toPoint)
void NearestEdgePoint (const std::vector< WsfTrack * > &aList, WsfGeoPoint &toPoint, WsfGeoPoint &edgePoint, size_t &edgeIndex1, size_t &edgeIndex2)
void NearestEdgePoint (const std::vector< WsfPlatform * > &aList, WsfGeoPoint &toPoint, WsfGeoPoint &edgePoint, size_t &edgeIndex1, size_t &edgeIndex2)
void NearestEdgePoint (const std::vector< WsfGeoPoint * > &aList, WsfGeoPoint &toPoint, WsfGeoPoint &edgePoint, size_t &edgeIndex1, size_t &edgeIndex2)
void NearestEdgePoint (const std::vector< WsfAssetPerception * > &aList, WsfGeoPoint &toPoint, WsfGeoPoint &edgePoint, size_t &edgeIndex1, size_t &edgeIndex2)
void CrossLength (const std::vector< WsfTrack * > &aList, WsfGeoPoint &refPoint, double &dist1, WsfGeoPoint &leftPt, WsfGeoPoint &rightPt)
void CrossLength (const std::vector< WsfPlatform * > &aList, WsfGeoPoint &refPoint, double &dist1, WsfGeoPoint &leftPt, WsfGeoPoint &rightPt)
void CrossLength (const std::vector< WsfGeoPoint * > &aList, WsfGeoPoint &refPoint, double &dist1, WsfGeoPoint &leftPt, WsfGeoPoint &rightPt)
void CrossLength (const std::vector< WsfAssetPerception * > &aList, WsfGeoPoint &refPoint, double &dist1, WsfGeoPoint &leftPt, WsfGeoPoint &rightPt)
void Draw (const std::vector< WsfTrack * > &aList, double duration, UtVec3d &color, DrawType type=HULL)
void Draw (const std::vector< WsfPlatform * > &aList, double duration, UtVec3d &color, DrawType type=HULL)
void Draw (const std::vector< WsfGeoPoint * > &aList, double duration, UtVec3d &color, DrawType type=HULL)
void Draw (const std::vector< WsfAssetPerception * > &aList, double duration, UtVec3d &color, DrawType type=HULL)
void DrawHull (std::vector< UtClusterObject * > &cluster, double duration, UtVec3d &color)
void DrawStar (std::vector< UtClusterObject * > &cluster, double duration, UtVec3d &color)

'configuration' methods.

bool SetUserDistanceFunction (UtScriptContext *aScriptContextPtr, const std::string &aScoringFunctionName)
 finds and validates the script the user passed in as a scoring function
bool UserDistanceFunction (UtClusterObject *aObjectPtr, UtClusterObject *aObject2Ptr, double &aDistance) override
WsfSimulationGetSimulation () const

'clustering' methods.

std::vector< std::vector< WsfTrack * > > GetTrackClusters (WsfTrackList &aList)
std::vector< std::vector< WsfLocalTrack * > > GetTrackClusters (WsfLocalTrackList &aList)
std::vector< std::vector< WsfTrack * > > GetTrackClusters (const std::vector< WsfTrack * > &aList)
std::vector< std::vector< WsfLocalTrack * > > GetTrackClusters (const std::vector< WsfLocalTrack * > &aList)
std::vector< std::vector< WsfPlatform * > > GetPlatformClusters (const std::vector< WsfPlatform * > &aList)
std::vector< std::vector< WsfGeoPoint * > > GetGeoPointClusters (const std::vector< WsfGeoPoint * > &aList)
std::vector< std::vector< WsfAssetPerception * > > GetAssetClusters (const std::vector< WsfAssetPerception * > &aList)
void Delete (std::vector< UtClusterObject * > &objects)

Detailed Description

A WsfClusterManager is a cluster creator & maintainer.

WsfClusterManager provides the processing desired for dynamic clustering. It is used to form clusters from an array or list of items. Cluster algorithms implemented at this time:

  • K-Means Clustering.
  • Hierarchical Tree Clustering, single-linkage.
  • Hierarchical Tree Clustering, complete-linkage.
  • Hierarchical Tree Clustering, average-linkage.
See also
WsfCluster

Member Enumeration Documentation

◆ DrawType

Enumerator
HULL 
STAR 

Constructor & Destructor Documentation

◆ WsfClusterManager()

WsfClusterManager::WsfClusterManager ( WsfSimulation & aSimulation,
size_t aNumClusters = 0,
UtClusterManager::ClusteringMethod aMethod = UtClusterManager::cK_MEANS,
UtClusterManager::DistanceFunction aDistType = UtClusterManager::cPOSITION_ONLY )

◆ ~WsfClusterManager()

Member Function Documentation

◆ ConvexHull() [1/4]

std::vector< WsfAssetPerception * > WsfClusterManager::ConvexHull ( const std::vector< WsfAssetPerception * > & aList)

◆ ConvexHull() [2/4]

std::vector< WsfGeoPoint * > WsfClusterManager::ConvexHull ( const std::vector< WsfGeoPoint * > & aList)

◆ ConvexHull() [3/4]

std::vector< WsfPlatform * > WsfClusterManager::ConvexHull ( const std::vector< WsfPlatform * > & aList)

◆ ConvexHull() [4/4]

std::vector< WsfTrack * > WsfClusterManager::ConvexHull ( const std::vector< WsfTrack * > & aList)

◆ CrossLength() [1/4]

void WsfClusterManager::CrossLength ( const std::vector< WsfAssetPerception * > & aList,
WsfGeoPoint & refPoint,
double & dist1,
WsfGeoPoint & leftPt,
WsfGeoPoint & rightPt )

◆ CrossLength() [2/4]

void WsfClusterManager::CrossLength ( const std::vector< WsfGeoPoint * > & aList,
WsfGeoPoint & refPoint,
double & dist1,
WsfGeoPoint & leftPt,
WsfGeoPoint & rightPt )

◆ CrossLength() [3/4]

void WsfClusterManager::CrossLength ( const std::vector< WsfPlatform * > & aList,
WsfGeoPoint & refPoint,
double & dist1,
WsfGeoPoint & leftPt,
WsfGeoPoint & rightPt )

◆ CrossLength() [4/4]

void WsfClusterManager::CrossLength ( const std::vector< WsfTrack * > & aList,
WsfGeoPoint & refPoint,
double & dist1,
WsfGeoPoint & leftPt,
WsfGeoPoint & rightPt )

◆ Delete()

◆ Draw() [1/4]

void WsfClusterManager::Draw ( const std::vector< WsfAssetPerception * > & aList,
double duration,
UtVec3d & color,
DrawType type = HULL )

◆ Draw() [2/4]

void WsfClusterManager::Draw ( const std::vector< WsfGeoPoint * > & aList,
double duration,
UtVec3d & color,
DrawType type = HULL )

◆ Draw() [3/4]

void WsfClusterManager::Draw ( const std::vector< WsfPlatform * > & aList,
double duration,
UtVec3d & color,
DrawType type = HULL )

◆ Draw() [4/4]

void WsfClusterManager::Draw ( const std::vector< WsfTrack * > & aList,
double duration,
UtVec3d & color,
DrawType type = HULL )

◆ DrawHull()

void WsfClusterManager::DrawHull ( std::vector< UtClusterObject * > & cluster,
double duration,
UtVec3d & color )

References GetSimulation().

Referenced by Draw(), Draw(), Draw(), and Draw().

◆ DrawStar()

void WsfClusterManager::DrawStar ( std::vector< UtClusterObject * > & cluster,
double duration,
UtVec3d & color )

References GetSimulation().

Referenced by Draw(), Draw(), Draw(), and Draw().

◆ GetAssetClusters()

std::vector< std::vector< WsfAssetPerception * > > WsfClusterManager::GetAssetClusters ( const std::vector< WsfAssetPerception * > & aList)

◆ GetGeoPointClusters()

std::vector< std::vector< WsfGeoPoint * > > WsfClusterManager::GetGeoPointClusters ( const std::vector< WsfGeoPoint * > & aList)

◆ GetPlatformClusters()

std::vector< std::vector< WsfPlatform * > > WsfClusterManager::GetPlatformClusters ( const std::vector< WsfPlatform * > & aList)

◆ GetSimulation()

◆ GetTrackClusters() [1/4]

std::vector< std::vector< WsfLocalTrack * > > WsfClusterManager::GetTrackClusters ( const std::vector< WsfLocalTrack * > & aList)

◆ GetTrackClusters() [2/4]

std::vector< std::vector< WsfTrack * > > WsfClusterManager::GetTrackClusters ( const std::vector< WsfTrack * > & aList)

◆ GetTrackClusters() [3/4]

std::vector< std::vector< WsfLocalTrack * > > WsfClusterManager::GetTrackClusters ( WsfLocalTrackList & aList)

◆ GetTrackClusters() [4/4]

◆ MeanLocation() [1/4]

WsfGeoPoint WsfClusterManager::MeanLocation ( const std::vector< WsfAssetPerception * > & aList)

◆ MeanLocation() [2/4]

WsfGeoPoint WsfClusterManager::MeanLocation ( const std::vector< WsfGeoPoint * > & aList)

◆ MeanLocation() [3/4]

WsfGeoPoint WsfClusterManager::MeanLocation ( const std::vector< WsfPlatform * > & aList)

◆ MeanLocation() [4/4]

WsfGeoPoint WsfClusterManager::MeanLocation ( const std::vector< WsfTrack * > & aList)

◆ NearestEdgePoint() [1/4]

void WsfClusterManager::NearestEdgePoint ( const std::vector< WsfAssetPerception * > & aList,
WsfGeoPoint & toPoint,
WsfGeoPoint & edgePoint,
size_t & edgeIndex1,
size_t & edgeIndex2 )

◆ NearestEdgePoint() [2/4]

void WsfClusterManager::NearestEdgePoint ( const std::vector< WsfGeoPoint * > & aList,
WsfGeoPoint & toPoint,
WsfGeoPoint & edgePoint,
size_t & edgeIndex1,
size_t & edgeIndex2 )

◆ NearestEdgePoint() [3/4]

void WsfClusterManager::NearestEdgePoint ( const std::vector< WsfPlatform * > & aList,
WsfGeoPoint & toPoint,
WsfGeoPoint & edgePoint,
size_t & edgeIndex1,
size_t & edgeIndex2 )

◆ NearestEdgePoint() [4/4]

void WsfClusterManager::NearestEdgePoint ( const std::vector< WsfTrack * > & aList,
WsfGeoPoint & toPoint,
WsfGeoPoint & edgePoint,
size_t & edgeIndex1,
size_t & edgeIndex2 )

◆ NearestMember() [1/4]

WsfAssetPerception * WsfClusterManager::NearestMember ( const std::vector< WsfAssetPerception * > & aList,
WsfGeoPoint & toPoint )

◆ NearestMember() [2/4]

WsfGeoPoint * WsfClusterManager::NearestMember ( const std::vector< WsfGeoPoint * > & aList,
WsfGeoPoint & toPoint )

◆ NearestMember() [3/4]

WsfPlatform * WsfClusterManager::NearestMember ( const std::vector< WsfPlatform * > & aList,
WsfGeoPoint & toPoint )

◆ NearestMember() [4/4]

WsfTrack * WsfClusterManager::NearestMember ( const std::vector< WsfTrack * > & aList,
WsfGeoPoint & toPoint )

◆ SetUserDistanceFunction()

bool WsfClusterManager::SetUserDistanceFunction ( UtScriptContext * aScriptContextPtr,
const std::string & aScoringFunctionName )

finds and validates the script the user passed in as a scoring function

◆ UniqueId() [1/4]

unsigned int WsfClusterManager::UniqueId ( const std::vector< WsfAssetPerception * > & aList)

◆ UniqueId() [2/4]

unsigned int WsfClusterManager::UniqueId ( const std::vector< WsfGeoPoint * > & aList)

◆ UniqueId() [3/4]

unsigned int WsfClusterManager::UniqueId ( const std::vector< WsfPlatform * > & aList)

◆ UniqueId() [4/4]

unsigned int WsfClusterManager::UniqueId ( const std::vector< WsfTrack * > & aList)

◆ UserDistanceFunction()

bool WsfClusterManager::UserDistanceFunction ( UtClusterObject * aObjectPtr,
UtClusterObject * aObject2Ptr,
double & aDistance )
override

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved