This class implements a vertex search snap. More...
#include <SnapVertex.h>
Public Member Functions | |
void | add (te::gm::Geometry *geom) |
void | add (te::da::DataSet *dataset) |
void | build (te::da::DataSet *dataset) |
void | clear () |
std::string | getDescription () const |
std::size_t | getMaxGeometries () const |
std::string | getName () const |
std::size_t | getNGeometries () const |
std::string | getSource () const |
int | getSRID () const |
double | getTolerance () const |
virtual bool | search (const te::gm::Coord2D &coord, te::gm::Coord2D &result) |
void | setTolerance (const double &t) |
void | setWorld (const double &llx, const double &lly, const double &urx, const double &ury, const std::size_t &width, const std::size_t &height) |
SnapVertex (const std::string &source, int srid=TE_UNKNOWN_SRS) | |
~SnapVertex () | |
Static Public Member Functions | |
static Snap * | Builder (const std::string &source, int srid) |
Protected Member Functions | |
te::gm::Envelope | getSearchEnvelope (const te::gm::Coord2D &coord) const |
bool | search (const te::gm::Envelope &e, te::gm::Coord2D &result) |
Protected Attributes | |
std::size_t | m_maxGeometries |
The maximum number of geometries that can be added to the snap. If 0, there will be not limit. More... | |
std::size_t | m_nGeometries |
The current number of geometries added to the snap. More... | |
std::string | m_source |
The source of the geometries. More... | |
int | m_srid |
The SRS of the geometries. More... | |
double | m_tolerance |
The tolerance that will be used by the snap. For while, the unit is screen pixels. More... | |
te::map::WorldDeviceTransformer * | m_transformer |
For transforming from device coordinate to world coordinate and vice-versa. More... | |
Private Attributes | |
std::vector< te::gm::Coord2D > | m_coords |
The snap coordinates. More... | |
te::sam::rtree::Index < std::size_t, 8 > | m_rtree |
Internal index used to retrieve geometries spatially. More... | |
This class implements a vertex search snap.
Definition at line 45 of file SnapVertex.h.
te::edit::SnapVertex::SnapVertex | ( | const std::string & | source, |
int | srid = TE_UNKNOWN_SRS |
||
) |
Definition at line 33 of file SnapVertex.cpp.
te::edit::SnapVertex::~SnapVertex | ( | ) |
Definition at line 38 of file SnapVertex.cpp.
|
virtual |
Implements te::edit::Snap.
Definition at line 42 of file SnapVertex.cpp.
References te::edit::GetCoordinates().
|
inherited |
Definition at line 102 of file Snap.cpp.
References te::dt::GEOMETRY_TYPE, te::da::GetFirstPropertyPos(), te::da::DataSet::getGeometry(), and te::da::DataSet::moveNext().
|
inherited |
Definition at line 93 of file Snap.cpp.
Referenced by te::edit::SnapManager::buildSnap().
|
static |
Definition at line 81 of file SnapVertex.cpp.
Referenced by te::edit::Module::initialize().
|
virtual |
Implements te::edit::Snap.
Definition at line 64 of file SnapVertex.cpp.
|
virtual |
Implements te::edit::Snap.
Definition at line 76 of file SnapVertex.cpp.
|
inherited |
|
virtual |
Implements te::edit::Snap.
Definition at line 71 of file SnapVertex.cpp.
|
inherited |
|
protectedinherited |
Definition at line 125 of file Snap.cpp.
References te::gm::Envelope::isValid(), te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, TE_TR, te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
inherited |
Definition at line 75 of file Snap.cpp.
Referenced by te::edit::SnapOptionsDialog::buildOptions().
|
protectedvirtual |
Implements te::edit::Snap.
Definition at line 86 of file SnapVertex.cpp.
References te::gm::Envelope::getCenter(), te::edit::GetDistance(), te::gm::Envelope::isValid(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
virtualinherited |
|
inherited |
|
inherited |
|
private |
The snap coordinates.
Definition at line 69 of file SnapVertex.h.
|
protectedinherited |
|
protectedinherited |
|
private |
Internal index used to retrieve geometries spatially.
Definition at line 70 of file SnapVertex.h.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |