All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
TapePositioningSystem::Node Class Reference

Brief description of class still missing. More...

#include <Node.h>

List of all members.

Public Member Functions

void addDistance (Node *to, double value)
int connectionCount () const
QList< Node * > connections () const
double distance (Node *to) const
bool isConnected (Node *to) const
const QString & name () const
QList< Cluster * > robustQuads (double stddev)
void setName (const QString &n)

Detailed Description

Brief description of class still missing.

Full description of class still missing


Member Function Documentation

void TapePositioningSystem::Node::addDistance ( Node to,
double  value 
)

References TRACE.

Referenced by TapePositioningSystem::Triangulator::addDistance().

  {
    TRACE;
    QMap<Node *, double>::iterator it=_distances.find(to);
    if(it==_distances.end()) {
      _distances.insert(to, value);
    } else if(it.value()!=value) {
      it.value()=value;
    }
  }

Referenced by robustQuads().

{return _distances.count();}
QList<Node *> TapePositioningSystem::Node::connections ( ) const [inline]
{return _distances.keys();}

Returns -1 if this node is not connected to node to.

References TRACE.

  {
    TRACE;
    QMap<Node *, double>::const_iterator it=_distances.find(to);
    if(it!=_distances.end()) {
      return it.value();
    } else {
      return -1.0;
    }
  }
bool TapePositioningSystem::Node::isConnected ( Node to) const [inline]
{return _distances.contains(to);}
const QString& TapePositioningSystem::Node::name ( ) const [inline]
QList< Cluster * > TapePositioningSystem::Node::robustQuads ( double  stddev)

References QGpCoreTools::Curve< pointType >::append(), connectionCount(), group(), and TRACE.

  {
    TRACE;
    QList<Cluster *> quads;
    if(connectionCount()<3) {
      return quads;
    }

    // Tries to create all possible combination
    QList<Node *> neighbors=_distances.keys();
    int n=neighbors.count();
    for(int i=0; i<n; i++) {
      for(int j=i+1; j<n; j++) {
        for(int k=j+1; k<n; k++) {
          QList<Node *> group;
          group.append(neighbors.at(i));
          group.append(neighbors.at(j));
          group.append(neighbors.at(k));
          Cluster * quad=createRobustQuad(group, stddev);
          if(quad) {
            quads.append(quad);
          }
        }
      }
    }
    return quads;
  }
void TapePositioningSystem::Node::setName ( const QString &  n) [inline]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines