coriolis/katabatic/doc/AutoSegments.dox

198 lines
8.8 KiB
C++

// -*- C++ -*-
namespace Katabatic {
//! \enum FunctionFlag
//! \typedef typedef Hurricane::Filter<AutoSegment*> AutoSegmentHF;
//! Shorthand for AutoSegment Hurricane Filter.
//! \typedef typedef Hurricane::Locator<AutoSegment*> AutoSegmentHL;
//! Shorthand for AutoSegment Hurricane Locator.
//! \typedef typedef Hurricane::Collection<AutoSegment*> AutoSegmentHC;
//! Shorthand for AutoSegment Hurricane Collection.
//! \typedef typedef GenericFilter<AutoSegment*> AutoSegmentFilter;
//! Shorthand for AutoSegment Hurricane Generic Filter
//! (filter with \c unique_ptr<> like support).
//! \typedef typedef GenericLocator<AutoSegment*> AutoSegmentLocator;
//! Shorthand for AutoSegment Hurricane Generic Locator
//! (locator with \c unique_ptr<> like support).
//! \typedef typedef GenericCollection<AutoSegment*> AutoSegments;
//! Shorthand for AutoSegment Hurricane Generic Collection
//! (collection with \c unique_ptr<> like support).
/*! \class AutoSegments_OnContact
* \brief All AutoSegment anchored on a Contact
*
* A Collection to iterate over all the AutoSegment anchored on
* \c contact. If supplied, the AutoSegment \c master will be
* excluded from the list.
*
* \remark If a Hurricane::Segment is anchored on the \c contact, but is not
* associated to an AutoSegment, it will be silently skipped.
*/
//! \function AutoSegments_OnContact::AutoSegments_OnContact ( AutoSegment* master, Contact* contact );
//! \param master Exclude this AutoSegment from the Collection.
//! \param contact The Hurricane Contact over which to iterate.
//!
//! Construct a Collection of all the AutoSegment anchored on \c contact.
//! \function AutoSegments_OnContact::AutoSegments_OnContact ( AutoSegment* master, Contact* contact );
//! Create the collection of all AutoSegments direcly anchored on \c contact,
//! with exclusion of \c master.
//! \function AutoSegments_OnContact::AutoSegments_OnContact ( const AutoSegments_OnContact& );
//! Copy constructor.
//! \function AutoSegmentHC* AutoSegments_OnContact::getClone () const;
//! \sreturn A deep copy of the Collection.
//! \function AutoSegmentHC* AutoSegments_OnContact::getLocator () const;
//! \sreturn A deep copy of the Collection Locator.
/*! \class AutoSegments_Aligneds
* \brief All aligned AutoSegment of a set.
*
* A Collection to iterate over all the AutoSegment aligned with \c master.
* The \c master itself will not be included in the walkthrough.
* If the Katabatic::KbWithPerpands flag is passed as argument, the collection
* will also includes the AutoSegments directly perpandicular to the aligned
* set.
*
* \remark AutoSegments are forced to be aligneds only when connected through
* AutoContactHTee or AutoContactVTee.
*
*/
//! \function AutoSegments_Aligneds::AutoSegments_Aligneds ( AutoSegment* master, unsigned int flags );
//! Create a collection of all the AutoSegment aligned on \c master
//! (master itself is excluded from the Collection). If the flag Katabatic::KbWithPerpands
//! is given the directly perpandicular AutoSegment will also be includeds.
//! \function AutoSegments_Aligneds::AutoSegments_Aligneds ( const AutoSegments_Aligneds& );
//! Copy constructor.
//! \function AutoSegmentHC* AutoSegments_Aligneds::getClone () const;
//! \sreturn A deep copy of the Collection.
//! \function AutoSegmentHC* AutoSegments_Aligneds::getLocator () const;
//! \sreturn A deep copy of the Collection Locator.
/*! \class AutoSegments_Perpandiculars
* \brief All perpandicular AutoSegment to a set of aligneds.
*
* A Collection to iterate over all the AutoSegment perpandicular to
* the set of aligned AutoSegment of \c master.
*
* \remark This Collection is canonical aware (work on the aligned set).
*
*/
//! \function AutoSegments_Perpandiculars::AutoSegments_Perpandiculars ( AutoSegment* master );
//! Create a collection of all the AutoSegment perpandicular to the aligned
//! set of \c master.
//! \function AutoSegments_Perpandiculars::AutoSegments_Perpandiculars ( const AutoSegments_Perpandiculars& );
//! Copy constructor.
//! \function AutoSegmentHC* AutoSegments_Perpandiculars::getClone () const;
//! \sreturn A deep copy of the Collection.
//! \function AutoSegmentHC* AutoSegments_Perpandiculars::getLocator () const;
//! \sreturn A deep copy of the Collection Locator.
/*! \class AutoSegments_AnchorOnGCell
* \brief All AutoSegment Beginning and/or Stopping in a GCell
*
* A Collection to iterate over all the AutoSegment that begin from and/or
* end in a GCell.
*
*/
//! \function AutoSegments_AnchorOnGCell::AutoSegments_AnchorOnGCell ( GCell* fcell, unsigned int flags );
//! Create a collection of all the AutoSegment beginning from and/or
//! ending in \c fcell. The set returned by the Collection is selected
//! through \c flags :
//! - Katabatic::KbBySource : include AutoSegment starting from \c fcell.
//! - Katabatic::KbByTarget : include AutoSegment ending in \c fcell.
//! - Katabatic::KbHorizontal : include horizontal AutoSegment.
//! - Katabatic::KbVertical : include vertical AutoSegment.
//! \function AutoSegments_AnchorOnGCell::AutoSegments_AnchorOnGCell ( const AutoSegments_AnchorOnGCell& );
//! Copy constructor.
//! \function AutoSegmentHC* AutoSegments_AnchorOnGCell::getClone () const;
//! \sreturn A deep copy of the Collection.
//! \function AutoSegmentHC* AutoSegments_AnchorOnGCell::getLocator () const;
//! \sreturn A deep copy of the Collection Locator.
/*! \class AutoSegments_OnContact
* \brief All AutoSegment Beginning from an AutoContact
*
* A Collection to iterate over all the AutoSegment that begin from
* AutoContact. As AutoSegments are kept orienteds (source anchor must
* be lower than target), selecting source anchored AutoSegments
* implies that they are starting from this AutoContact.
*/
//! \function AutoSegments_CachedOnContact::AutoSegments_CachedOnContact ( AutoContact* source, unsigned int direction=KbHorizontal|KbVertical );
//! Create a collection of all the AutoSegment anchored on \c source.
//! Use \c direction to select the kind of AutoSegments:
//! - KbHorizontal : include horizontal AutoSegment.
//! - KbVertical : include vertical AutoSegment.
//! \function AutoSegments_CachedOnContact::AutoSegments_CachedOnContact ( const AutoSegments_CachedOnContact& );
//! Copy constructor.
//! \function AutoSegmentHC* AutoSegments_CachedOnContact::getClone () const;
//! \sreturn A deep copy of the Collection.
//! \function AutoSegmentHC* AutoSegments_CachedOnContact::getLocator () const;
//! \sreturn A deep copy of the Collection Locator.
/*! \class AutoSegments_IsAccountable
* \brief Filter to select accoutable AutoSegment.
*
* A Filter to select accoutable AutoSegment. An AutoSegment is said
* to be accountable if it is canonical (in the sense of an aligned set).
*/
//! \function bool AutoSegments_IsAccountable::accept ( AutoSegment* segment ) const;
//! \sreturn \true if the \c segment is accountable (i.e. canonical).
//! \function AutoSegmentHF* AutoSegments_IsAccountable::getClone () const;
//! \sreturn A deep copy of the Collection.
/*! \class AutoSegments_InDirection
* \brief Filter to select AutoSegment in a given direction.
*
* A Filter to select AutoSegment in a specific direction.
*/
//! \function AutoSegments_InDirection::AutoSegments_InDirection ( unsigned int direction );
//! Create a filter for AutoSegment in \c direction (Katabatic::KbHorizontal
//! or Katabatic::KbVertical).
//! \function bool AutoSegments_InDirection::accept ( AutoSegment* segment ) const;
//! \sreturn \true if the \c segment is in the correct direction.
//! \function AutoSegmentHF* AutoSegments_InDirection::getClone () const;
//! \sreturn A deep copy of the Collection.
}