SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Classes | Typedefs | Functions
smtk::session::polygon Namespace Reference

A session for planar polygonal model geometry. More...

Classes

class  ActiveFragmentTree
 The sweepline Interval Tree (IT), of active edge segments, is a set of offsets into the array of fragments. More...
 
class  CleanGeometry
 Create one or more edges given a set of point coordinates. More...
 
class  CreateEdge
 Create one or more edges given a set of point coordinates. More...
 
class  CreateEdgeFromPoints
 Create one edge given a set of point coordinates. More...
 
class  CreateEdgeFromVertices
 Create one or more edges given a set of point coordinates. More...
 
class  CreateFaces
 Create a face given a set of point coordinates or edges (but not both). More...
 
class  CreateFacesFromEdges
 Create a face given a set of point coordinates or edges (but not both). More...
 
class  CreateModel
 Create a polygonal model made up of vertices, edges, and faces. More...
 
class  CreateVertices
 Create a face given a set of point coordinates or edges (but not both). More...
 
class  Delete
 Create a polygonal model made up of vertices, edges, and faces. More...
 
class  DemoteVertex
 Create one or more edges given a set of point coordinates. More...
 
struct  EdgeFragment
 Structure to hold information about a portion of an edge-segment forming part of an output loop. More...
 
struct  EdgeFragmentComparator
 Functor to compare indices into a vector of EdgeFragments based on which fragment is above the other. More...
 
class  ExtractContours
 Create polygon edges from contours extraced from an image. More...
 
class  ForceCreateFace
 Create a face given a set of point coordinates or edges (but not both). More...
 
class  Import
 Import a CMB polygon model file. More...
 
class  ImportPPG
 Create a model resource from .ppg file input. More...
 
class  LegacyRead
 Read a legacy SMTK polygon model file. More...
 
struct  LoopInfo
 An internal structure used to hold a sequence of model edges which form a loop. More...
 
struct  ModelEdgeInfo
 An internal structure used when discovering edge loops. More...
 
class  Neighborhood
 Represent the neighborhood of a sweepline point, x. More...
 
class  Operation
 An operator using the polygon kernel. More...
 
class  Read
 Read an SMTK polygon model file. More...
 
class  Region
 A structure to hold chains of coedges bounding regions of space. More...
 
class  Registrar
 
class  Resource
 
class  Session
 Methods that handle translation between polygon and SMTK instances. More...
 
class  SessionIOJSON
 A base class for delegating session I/O to/from JSON. More...
 
class  SplitEdge
 Create one or more edges given a set of point coordinates. More...
 
class  SweepEvent
 Structure to hold data for a sweepline event (segment start, segment end, segment crossing). More...
 
struct  SweeplinePosition
 
class  TweakEdge
 Tweak the shape of a model edge by redefining its point coordinates. More...
 
class  Write
 Write a CMB polygon model file. More...
 

Typedefs

typedef smtk::shared_ptr< smtk::session::polygon::SessionSessionPtr
 
typedef smtk::shared_ptr< const SessionConstSessionPtr
 
typedef std::vector< std::pair< size_t, internal::Segment > > SegmentSplitsT
 
typedef std::map< internal::Id, LoopInfoLoopsById
 An internal structure that holds all the loops discovered, sorted by their lower-left bounding box coordinates.
 
typedef std::vector< EdgeFragmentFragmentArray
 
typedef std::vector< std::pair< smtk::model::Edge, bool > > OrientedEdges
 
typedef std::map< smtk::model::Edge, ModelEdgeInfoModelEdgeMap
 An internal structure used to map model edges to information about the space between them.
 
typedef std::vector< std::pair< smtk::model::Edge, bool > > EdgesWithOrientation
 
typedef std::set< FragmentId, EdgeFragmentComparatorActiveFragmentTreeType
 
typedef size_t FragmentId
 
typedef std::set< SweepEventSweepEventSet
 Sweep events ordered by their left-, lower-most point coordinates.
 
typedef std::vector< SweepEventSweepEventArray
 
typedef int RegionId
 
typedef smtk::common::UnionFind< RegionId > RegionIdSet
 The set of all regions is a UnionFind (UF) data structure.
 
typedef std::map< RegionId, smtk::shared_ptr< Region > > RegionDefinitions
 A map to hold each region's definition indexed by its UF region ID.
 

Functions

template<typename T >
smtk::model::Edge findEdgeFromSegmentId (size_t cur, T &lkup)
 
template<typename T >
smtk::model::Vertex findOrAddInputModelVertex (smtk::model::ResourcePtr resource, const internal::Point &splitPt, T &endpoints, internal::pmodel *mod, smtk::model::EntityRefArray &created)
 
bool needEdgeSplit (const smtk::model::EntityRefs &prev, const smtk::model::EntityRefs &next, bool &splitPrev, bool &splitNext)
 
template<typename T , typename U >
bool checkOneDirection (T &p0, T &q0, const U &p1, const U &q1)
 
template<typename T >
bool checkBothDirections3 (T &p0, T &pt, T &q0, T &p1, T &q1, bool &matchDir)
 
template<typename T >
void printPts (const std::string &msg, T begin, T end)
 
int internal_createEdge (smtk::session::polygon::CreateEdge::Ptr edgeOp, smtk::attribute::AttributePtr opParams, smtk::model::EntityRefArray &createdEds, const smtk::model::Model &model, smtk::io::Logger &logger)
 
int polyLines2modelEdges (vtkPolyData *mesh, smtk::operation::Operation::Ptr edgeOp, smtk::model::EntityRefArray &createdEds, smtk::attribute::DoubleItem::Ptr pointsItem, const vtkIdType *pts, vtkIdType npts, smtk::io::Logger &logger)
 
int polyLines2modelEdgesAndFaces (vtkPolyData *mesh, smtk::model::Model &model, smtk::io::Logger &logger)
 
smtk::resource::ResourcePtr legacyRead (const std::string &filename)
 
smtk::resource::ResourcePtr read (const std::string &filename, const std::shared_ptr< smtk::common::Managers > &managers)
 
bool write (const smtk::resource::ResourcePtr &resource, const std::shared_ptr< smtk::common::Managers > &managers)
 
internal::HighPrecisionCoord dot2d (const internal::Coord oa[2], const internal::Coord oo[2])
 
internal::HighPrecisionCoord cross2d (const internal::Coord oa[2], const internal::Coord oo[2])
 
internal::HighPrecisionCoord deltacross2d (const internal::Point &a0, const internal::Point &a1, const internal::Point &b0, const internal::Point &b1)
 

Detailed Description

A session for planar polygonal model geometry.