Logo Search packages:      
Sourcecode: inkscape version File versions  Download package

Classes | Typedefs | Enumerations | Functions | Variables

Avoid Namespace Reference

The namespace used by code in the libavoid library. More...

Classes

class  ActionInfo
class  Block
class  Blocks
class  ClusterRef
class  CmpLineOrder
struct  CmpNodePos
struct  CmpVertInf
class  CompareConstraints
class  ConnEnd
 The ConnEnd class represents different possible endpoints for connectors. More...
class  ConnRef
 The ConnRef class represents a connector object. More...
class  Constraint
struct  delete_object
class  Edge
 A line between two points. More...
class  EdgeInf
class  EdgeList
class  EdgePair
struct  Event
class  IncSolver
class  isBoundingShape
class  LineSegment
struct  node
struct  Node
class  Point
 The Point class defines a point in the plane. More...
class  PointPair
class  PointRep
class  Polygon
 A dynamic Polygon, to which points can be easily added and removed. More...
class  PolygonInterface
 A common interface used by the Polygon classes. More...
struct  PositionStats
struct  PosVertInf
class  PtOrder
class  Rectangle
 A Rectangle, a simpler way to define the polygon for square or rectangular shapes. More...
class  ReferencingPolygon
 A Polygon which just references its points from other Polygons. More...
class  Router
 The Router class represents a libavoid router instance. More...
class  SegmentListWrapper
class  ShapeRef
 The ShapeRef class represents a shape object. More...
class  ShiftSegment
class  Timer
struct  UnsatisfiableException
struct  UnsatisfiedConstraint
class  Variable
class  VertID
class  VertInf
class  VertInfList

Typedefs

typedef std::list< ActionInfoActionInfoList
typedef Edge BBox
 A bounding box, represented with an Edge between top-left and bottom-right corners.
typedef unsigned long long int bigclock_t
typedef std::set< PosVertInfBreakpointSet
typedef std::list< ClusterRef * > ClusterRefList
typedef unsigned int ConnDirFlags
 One or more Avoid::ConnDirFlag options.
typedef std::list< ConnRef * > ConnRefList
typedef std::set< ConnRef * > ConnRefSet
typedef std::list< std::pair
< unsigned int, ConnEnd > > 
ConnUpdateList
typedef std::vector< Constraint * > Constraints
typedef std::map< VertID,
ShapeSet > 
ContainsMap
typedef std::pair< int,
unsigned int > 
CrossingsInfoPair
typedef std::list< EdgeInf * > EdgeInfList
typedef std::list< bool * > FlagList
typedef std::priority_queue
< Constraint *, std::vector
< Constraint * >
, CompareConstraints
Heap
typedef std::list< unsigned int > IntList
typedef std::set< Node
*, CmpNodePos
NodeSet
typedef std::list< PointRep * > PointRepList
typedef std::set< PointRep * > PointRepSet
typedef std::set< Avoid::PointPointSet
typedef Polygon PolyLine
 A multi-segment line, represented with the Polygon class.
typedef std::pair< Point
*, ConnRef * > 
PtConnPtrPair
typedef std::map< Avoid::Point,
PtOrder
PtOrderMap
typedef std::list< LineSegmentSegmentList
typedef std::list< int > ShapeList
typedef std::list< ShapeRef * > ShapeRefList
typedef std::set< unsigned int > ShapeSet
typedef std::list< ShiftSegmentShiftSegmentList
typedef std::list< ShiftSegment * > ShiftSegmentPtrList
typedef std::list< EdgePairSweepEdgeList
typedef std::vector< Variable * > Variables
typedef Point Vector
 A vector, represented by the Point class.
typedef std::set< VertInf
*, CmpVertInf
VertSet

Enumerations

enum  ActionType { ShapeMove, ShapeAdd, ShapeRemove, ConnChange }
enum  ConnDirFlag {
  ConnDirNone = 0, ConnDirUp = 1, ConnDirDown = 2, ConnDirLeft = 4,
  ConnDirRight = 8, ConnDirAll = 15
}
 

Flags that can be passed to the ConnEnd constructor to specify which sides of a shape this point should have visibility to if it is located within the shape's area.

More...
enum  ConnType { ConnType_None = 0, ConnType_PolyLine = 1, ConnType_Orthogonal = 2 }
 

Describes the type of routing that is performed for each connector.

More...
enum  EventType {
  Open = 1, SegOpen = 2, ConnPoint = 3, SegClose = 4,
  Close = 5
}
enum  PenaltyType {
  segmentPenalty = 0, anglePenalty, crossingPenalty, clusterCrossingPenalty,
  fixedSharedPathPenalty, lastPenaltyMarker
}
 

Types of penalty cases that can be used to improve the quality of the connector routes produced.

More...
enum  RouterFlag { PolyLineRouting = 1, OrthogonalRouting = 2 }
 

Flags that can be passed to the router during initialisation to specify options.

More...
enum  TimerIndex {
  tmNon = 0, tmAdd, tmDel, tmMov,
  tmPth, tmSev, tmOrthogGraph, tmOrthogRoute,
  tmOrthogCentre, tmOrthogNudge, tmCount
}

Functions

double angle (const Point &a, const Point &b, const Point &c)
static void buildOrthogonalChannelInfo (Router *router, const size_t dim, ShiftSegmentList &segmentList)
static void buildOrthogonalNudgingOrderInfo (Router *router, PtOrderMap &pointOrders)
bool cmpShiftSegment (const ShiftSegment &u, const ShiftSegment &v)
int compare_events (const void *a, const void *b)
void computeCompleteVis (void)
int cornerSide (const Point &c1, const Point &c2, const Point &c3, const Point &p)
CrossingsInfoPair countRealCrossings (Avoid::Polygon &poly, bool polyIsConn, Avoid::Polygon &conn, size_t cIndex, bool checkForBranchingSegments, const bool finalSegment, PointSet *crossingPoints, PtOrderMap *pointOrders, ConnRef *polyConnRef, ConnRef *connConnRef)
void db_printf (const char *,...)
bool directVis (VertInf *src, VertInf *dst)
double dist (const Point &a, const Point &b)
static const VertID dummyOrthogID (0, true, 0)
double euclideanDist (const Point &a, const Point &b)
void generateStaticOrthogonalVisGraph (Router *router)
static ConnDirFlags getPosVertInfDirection (VertInf *v, size_t dim)
void improveOrthogonalRoutes (Router *router)
bool inBetween (const Point &a, const Point &b, const Point &c)
bool inPoly (const Polygon &poly, const Point &q, bool countBorder)
bool inPolyGen (const PolygonInterface &argpoly, const Point &q)
static void intersectSegments (Router *router, SegmentList &segments, LineSegment &vertLine)
bool inValidRegion (bool IgnoreRegions, const Point &a0, const Point &a1, const Point &a2, const Point &b)
static ShiftSegmentList linesort (ShiftSegmentList origList, CmpLineOrder &comparison)
void makePath (ConnRef *lineRef, bool *flag)
double manhattanDist (const Point &a, const Point &b)
static int midVertexNumber (const Point &p0, const Point &p1, const Point &c)
static void nudgeOrthogonalRoutes (Router *router, size_t dimension, PtOrderMap &pointOrders, ShiftSegmentList &segmentList)
std::ostream & operator<< (std::ostream &os, const Constraint &c)
std::ostream & operator<< (std::ostream &os, const Variable &v)
ostream & operator<< (ostream &os, const VertID &vID)
ostream & operator<< (ostream &os, const Block &b)
static int orthogTurnOrder (const Point &a, const Point &b, const Point &c)
bool pointOnLine (const Point &a, const Point &b, const Point &c, const double tolerance)
static bool pointRepLessThan (PointRep *r1, PointRep *r2)
static void processEventHori (Router *, NodeSet &scanline, SegmentListWrapper &segments, Event *e, unsigned int pass)
static void processEventVert (Router *router, NodeSet &scanline, SegmentListWrapper &segments, Event *e, unsigned int pass)
static void processShiftEvent (Router *, NodeSet &scanline, ShiftSegmentList &, Event *e, size_t dim, unsigned int pass)
static Point projection (const Point &a, const Point &b, const Point &c)
int rayIntersectPoint (const Point &a1, const Point &a2, const Point &b1, const Point &b2, double *x, double *y)
static void reduceRange (double &val)
static int segDir (const Point &p1, const Point &p2)
bool segmentIntersect (const Point &a, const Point &b, const Point &c, const Point &d)
int segmentIntersectPoint (const Point &a1, const Point &a2, const Point &b1, const Point &b2, double *x, double *y)
bool segmentShapeIntersect (const Point &e1, const Point &e2, const Point &s1, const Point &s2, bool &seenIntersectionAtEndpoint)
void shapeVis (ShapeRef *shape)
void shapeVisSweep (ShapeRef *shape)
static void shorten_line (double &x1, double &y1, double &x2, double &y2, const unsigned int mode, const double shorten_length)
static void simplifyOrthogonalRoutes (Router *router)
void splitBranchingSegments (Avoid::Polygon &poly, bool polyIsConn, Avoid::Polygon &conn, const double tolerance)
static bool sweepVisible (SweepEdgeList &T, const PointPair &point, std::set< unsigned int > &onBorderIDs, int *blocker)
double totalLength (const Polygon &poly)
bool validateBendPoint (VertInf *aInf, VertInf *bInf, VertInf *cInf)
static int vecDir (const Point &a, const Point &b, const Point &c, const double maybeZero=0.0)
void vertexSweep (VertInf *vert)
void vertexVisibility (VertInf *point, VertInf *partner, bool knownNew, const bool gen_contains)

Variables

static const double ATTACH_POS_BOTTOM = 1
static const double ATTACH_POS_CENTER = 0.5
static const double ATTACH_POS_LEFT = ATTACH_POS_TOP
static const double ATTACH_POS_RIGHT = ATTACH_POS_BOTTOM
static const double ATTACH_POS_TOP = 0
long blockTimeCtr
static VertID centerID
static VertInfcenterInf
static Point centerPoint
static const double CHANNEL_MAX = 100000000
static const double chooseSensiblePenalty = -1
const unsigned int CROSSING_NONE = 0
const unsigned int CROSSING_SHARES_FIXED_SEGMENT = 8
const unsigned int CROSSING_SHARES_PATH = 2
const unsigned int CROSSING_SHARES_PATH_AT_END = 4
const unsigned int CROSSING_TOUCHES = 1
static const int DO_INTERSECT = 1
static const int DONT_INTERSECT = 0
Event ** events
static const unsigned short kUnassignedVertexNumber = 8
static const double LAGRANGIAN_TOLERANCE = -1e-4
static const double LIMIT = 100000000
static const double noPenalty = 0
static const int PARALLEL = 3
static const unsigned int runningFrom = 2
static const unsigned int runningTo = 1
static const unsigned int runningToAndFrom = runningTo | runningFrom
static const unsigned int SHORTEN_BOTH = SHORTEN_START | SHORTEN_END
static const unsigned int SHORTEN_END = 2
static const unsigned int SHORTEN_NONE = 0
static const unsigned int SHORTEN_START = 1
static const bool timerDelay = false
static const bool timerStart = true
static const size_t XDIM = 0
static const size_t YDIM = 1
static const double ZERO_UPPERBOUND = -1e-10

Detailed Description

The namespace used by code in the libavoid library.


Generated by  Doxygen 1.6.0   Back to index