|
OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimImageViewProjectionTransform.h>
Public Member Functions | |
| ossimImageViewProjectionTransform (ossimImageGeometry *imageGeometry=0, ossimImageGeometry *viewGeometry=0) | |
| ossimImageViewProjectionTransform (const ossimImageViewProjectionTransform &src) | |
| copy constructor More... | |
| virtual ossimObject * | dup () const |
| virtual | ~ossimImageViewProjectionTransform () |
| virtual bool | isValid () const |
| Satisfies base class pure virtual. Returns TRUE if both input and output geoms exist. More... | |
| virtual bool | isIdentity () const |
| Returns TRUE if both input and output geometries are identical. More... | |
| void | setViewGeometry (ossimImageGeometry *g) |
| Assigns the geometry to use for output view. This object does NOT own the geometry. More... | |
| void | setImageGeometry (ossimImageGeometry *g) |
| Assigns the geometry to use for input image. This object does NOT own the geometry. More... | |
| virtual void | imageToView (const ossimDpt &imagePoint, ossimDpt &viewPoint) const |
| Workhorse of the object. Converts image-space to view-space. More... | |
| virtual void | viewToImage (const ossimDpt &viewPoint, ossimDpt &imagePoint) const |
| Other workhorse of the object. Converts view-space to image-space. More... | |
| virtual std::ostream & | print (std::ostream &out) const |
| Dumps contents to stream. More... | |
| ossimImageGeometry * | getImageGeometry () |
| ossimImageGeometry * | getViewGeometry () |
| const ossimImageGeometry * | getImageGeometry () const |
| const ossimImageGeometry * | getViewGeometry () const |
| virtual void | getViewSegments (std::vector< ossimDrect > &viewBounds, ossimPolyArea2d &polyArea, ossim_uint32 numberOfEdgePoints=25) const |
| Because of the fact we can have dateline crossings there exist on the view plane both positive and negative bounds. More... | |
| virtual bool | setView (ossimObject *baseObject) |
| This is used a a general access point for setting a view to a chain. More... | |
| virtual ossimObject * | getView () |
| virtual const ossimObject * | getView () const |
| virtual ossimDpt | getInputMetersPerPixel () const |
| Returns the GSD of input image. More... | |
| virtual ossimDpt | getOutputMetersPerPixel () const |
| Returns the GSD of the output view. More... | |
| virtual ossimDrect | getImageToViewBounds (const ossimDrect &imageRect) const |
| Gets the image bounding rect in view-space coordinates. More... | |
| virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
| After rewrite for incorporating ossimImageGeometry: No longer needed. More... | |
| virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
| After rewrite for incorporating ossimImageGeometry: No longer needed. More... | |
Public Member Functions inherited from ossimImageViewTransform | |
| ossimImageViewTransform () | |
| virtual void | forward (const ossimDpt &input, ossimDpt &output) const |
| virtual void | inverse (const ossimDpt &input, ossimDpt &output) const |
| virtual void | getImageToViewScale (ossimDpt &resultScale, const ossimDpt &imagePoint, const ossimDpt &deltaImagePointXY) const |
| virtual void | getViewToImageScale (ossimDpt &resultScale, const ossimDpt &imagePoint, const ossimDpt &deltaImagePointXY) const |
| ossimDpt | imageToView (const ossimDpt &imagePoint) const |
| ossimDpt | viewToImage (const ossimDpt &viewPoint) const |
| virtual void | getScaleChangeImageToView (ossimDpt &result, const ossimDrect &imageRect) |
| virtual void | getScaleChangeViewToImage (ossimDpt &result, const ossimDrect &viewRect) |
| virtual void | getRoundTripErrorView (ossimDpt &result, const ossimDpt &viewPt) const |
| virtual ossimDpt | getRoundTripErrorView (const ossimDpt &viewPt) const |
| virtual void | getRoundTripErrorImage (ossimDpt &result, const ossimDpt &imagePt) const |
| virtual ossimDpt | getRoundTripErrorImage (const ossimDpt &imagePt) const |
| virtual ossimDrect | getViewToImageBounds (const ossimDrect &viewRect) const |
| Computes the bounding rect in image space of the quad formed by the transformed view points of the input rect corners. More... | |
Public Member Functions inherited from ossim2dTo2dTransform | |
| virtual void | forward (ossimDpt &modify_this) const |
| virtual void | inverse (ossimDpt &modify_this) const |
| virtual const ossim2dTo2dTransform & | operator= (const ossim2dTo2dTransform &rhs) |
| virtual ossimDpt | getOrigin () const |
| void | setConvergenceThreshold (const double &new_threshold) |
| void | setMaxIterations (int new_max_iters) |
| void | setDxDy (const ossimDpt &dxdy) |
Public Member Functions inherited from ossimObject | |
| ossimObject () | |
| virtual | ~ossimObject () |
| virtual ossimString | getShortName () const |
| virtual ossimString | getLongName () const |
| virtual ossimString | getDescription () const |
| virtual ossimString | getClassName () const |
| virtual RTTItypeid | getType () const |
| virtual bool | canCastTo (ossimObject *obj) const |
| virtual bool | canCastTo (const RTTItypeid &id) const |
| virtual bool | canCastTo (const ossimString &parentClassName) const |
| virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
| virtual void | accept (ossimVisitor &visitor) |
Public Member Functions inherited from ossimReferenced | |
| ossimReferenced () | |
| ossimReferenced (const ossimReferenced &) | |
| ossimReferenced & | operator= (const ossimReferenced &) |
| void | ref () const |
| increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
| void | unref () const |
| decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
| void | unref_nodelete () const |
| decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
| int | referenceCount () const |
Public Member Functions inherited from ossimViewInterface | |
| ossimViewInterface () | |
| ossimViewInterface (ossimObject *base) | |
| virtual | ~ossimViewInterface () |
| virtual void | refreshView () |
| ossimObject * | getBaseObject () |
Protected Member Functions | |
| bool | initializeViewSize () |
| Initializes the view geometry image size from image geometry bounding rect. More... | |
| void | initializeDatelineCrossing () |
Protected Member Functions inherited from ossim2dTo2dTransform | |
| ossim2dTo2dTransform () | |
| virtual | ~ossim2dTo2dTransform () |
Protected Member Functions inherited from ossimReferenced | |
| virtual | ~ossimReferenced () |
Protected Attributes | |
| ossimRefPtr< ossimImageGeometry > | m_imageGeometry |
| ossimRefPtr< ossimImageGeometry > | m_viewGeometry |
| bool | m_crossesDateline |
Protected Attributes inherited from ossim2dTo2dTransform | |
| double | theConvergenceThreshold |
| int | theMaxIterations |
| ossimDpt | theDxDy |
Protected Attributes inherited from ossimViewInterface | |
| ossimObject * | theObject |
Definition at line 25 of file ossimImageViewProjectionTransform.h.
| ossimImageViewProjectionTransform::ossimImageViewProjectionTransform | ( | ossimImageGeometry * | imageGeometry = 0, |
| ossimImageGeometry * | viewGeometry = 0 |
||
| ) |
Definition at line 38 of file ossimImageViewProjectionTransform.cpp.
| ossimImageViewProjectionTransform::ossimImageViewProjectionTransform | ( | const ossimImageViewProjectionTransform & | src | ) |
copy constructor
Definition at line 49 of file ossimImageViewProjectionTransform.cpp.
|
virtual |
Definition at line 60 of file ossimImageViewProjectionTransform.cpp.
|
inlinevirtual |
Reimplemented from ossimObject.
Definition at line 34 of file ossimImageViewProjectionTransform.h.
|
inline |
Definition at line 59 of file ossimImageViewProjectionTransform.h.
Referenced by ossimImageRenderer::checkIVT(), ossimImageRenderer::initializeBoundingRects(), and ossimIvtGeomXformVisitor::visit().
|
inline |
Definition at line 61 of file ossimImageViewProjectionTransform.h.
|
virtual |
Gets the image bounding rect in view-space coordinates.
Reimplemented from ossimImageViewTransform.
Definition at line 417 of file ossimImageViewProjectionTransform.cpp.
References ossimGpt::datum(), ossimProjection::getGroundClipPoints(), ossimImageViewTransform::getImageToViewBounds(), ossimImageGeometry::getProjection(), ossimGeoPolygon::getVertexList(), ossimDrect::hasNans(), ossimImageGeometry::hasProjection(), ossimDrect::ll(), ossimImageGeometry::localToWorld(), ossimDrect::lr(), m_imageGeometry, m_viewGeometry, ossimProjection::origin(), ossimGeoPolygon::size(), ossimDrect::ul(), ossimDrect::ur(), ossimRefPtr< T >::valid(), and ossimImageGeometry::worldToLocal().
Referenced by initializeViewSize().
|
virtual |
Returns the GSD of input image.
Implements ossimImageViewTransform.
Definition at line 515 of file ossimImageViewProjectionTransform.cpp.
References ossimProjection::getMetersPerPixel(), ossimImageGeometry::getProjection(), ossimImageGeometry::hasProjection(), m_imageGeometry, ossimDpt::makeNan(), and ossimRefPtr< T >::valid().
|
virtual |
Returns the GSD of the output view.
Implements ossimImageViewTransform.
Definition at line 530 of file ossimImageViewProjectionTransform.cpp.
References ossimProjection::getMetersPerPixel(), ossimImageGeometry::getProjection(), ossimImageGeometry::hasProjection(), m_viewGeometry, ossimDpt::makeNan(), and ossimRefPtr< T >::valid().
|
inlinevirtual |
Implements ossimViewInterface.
Definition at line 90 of file ossimImageViewProjectionTransform.h.
|
inlinevirtual |
Implements ossimViewInterface.
Definition at line 91 of file ossimImageViewProjectionTransform.h.
|
inline |
Definition at line 60 of file ossimImageViewProjectionTransform.h.
Referenced by ossimImageRenderer::getImageGeometry(), and ossimImageRenderer::initializeBoundingRects().
|
inline |
Definition at line 62 of file ossimImageViewProjectionTransform.h.
|
virtual |
Because of the fact we can have dateline crossings there exist on the view plane both positive and negative bounds.
We need a generalized interface that allows us to calculate the valid bounds of an image transformed to the view.
| viewBounds | Returns bounds for each segment |
| polyArea | Returns the polygons for each segment. |
| numberOfEdgePoints | If the value is 0 it will do a standard bounds check. If the paramter is greater than 0 this will only be used if the input projection is affected by elevation. If it's not affected by elevation then the default bounds will be calculated. |
Definition at line 189 of file ossimImageViewProjectionTransform.cpp.
References ossimPolyArea2d::add(), ossimPolyArea2d::clear(), ossimPolygon::clear(), ossimPolygon::clipToRect(), ossimImageGeometry::getBoundingRect(), ossimImageGeometry::getImageEdgePoints(), ossimDpt::hasNans(), imageToView(), ossimImageGeometry::isAffectedByElevation(), ossimGpt::isLatNan(), ossimGpt::isLonNan(), ossimDrect::ll(), ossimImageGeometry::localToWorld(), ossimGpt::lond(), ossimDrect::lr(), m_crossesDateline, m_imageGeometry, m_viewGeometry, ossimDrect::midPoint(), ossim::sgn(), ossimDrect::ul(), ossimDrect::ur(), ossimRefPtr< T >::valid(), and ossimImageGeometry::worldToLocal().
Referenced by ossimImageRenderer::initializeBoundingRects().
|
virtual |
Workhorse of the object. Converts image-space to view-space.
Reimplemented from ossimImageViewTransform.
Definition at line 81 of file ossimImageViewProjectionTransform.cpp.
References ossimImageGeometry::decimationFactor(), ossimImageGeometry::fullToRn(), ossimImageGeometry::getProjection(), ossimImageGeometry::getTransform(), ossimImageGeometry::localToWorld(), m_imageGeometry, m_viewGeometry, ossimDpt::makeNan(), ossimImageGeometry::rnToFull(), and ossimImageGeometry::worldToLocal().
Referenced by ATP::AtpGenerator::constructChain(), ATP::AtpGenerator::getValidVertices(), and getViewSegments().
|
protected |
Definition at line 741 of file ossimImageViewProjectionTransform.cpp.
References ossimImageGeometry::getCrossesDateline(), m_crossesDateline, m_imageGeometry, and ossimRefPtr< T >::valid().
Referenced by setImageGeometry(), and setViewGeometry().
|
protected |
Initializes the view geometry image size from image geometry bounding rect.
This is needed for the ossimImageGeometry::worldToLocal if the underlying projection is geographic to handle images that cross the date line.
| Input | image rectangle. |
Definition at line 543 of file ossimImageViewProjectionTransform.cpp.
References ossimRefPtr< T >::get(), ossimImageGeometry::getCrossesDateline(), ossimMapProjection::getDecimalDegreesPerPixel(), ossimImageGeometry::getImageSize(), getImageToViewBounds(), ossimImageGeometry::getProjection(), ossimDrect::height(), ossimGpt::lat, ossimImageGeometry::localToWorld(), ossimGpt::lon, ossimGpt::lond(), m_crossesDateline, m_imageGeometry, m_viewGeometry, ossimImageGeometry::setImageSize(), ossim::sgn(), size, ossimRefPtr< T >::valid(), ossimDrect::width(), ossimImageGeometry::worldToLocal(), ossimIpt::x, ossimDpt::x, ossimIpt::y, and ossimDpt::y.
Referenced by setView().
|
inlinevirtual |
Returns TRUE if both input and output geometries are identical.
Presently implemented as limited compare of geometry pointers
Implements ossimImageViewTransform.
Definition at line 42 of file ossimImageViewProjectionTransform.h.
|
inlinevirtual |
Satisfies base class pure virtual. Returns TRUE if both input and output geoms exist.
Implements ossimImageViewTransform.
Definition at line 38 of file ossimImageViewProjectionTransform.h.
|
virtual |
After rewrite for incorporating ossimImageGeometry: No longer needed.
Reimplemented from ossimImageViewTransform.
Definition at line 468 of file ossimImageViewProjectionTransform.cpp.
References ossimString::c_str(), ossimImageViewTransform::loadState(), ossimImageGeometry::loadState(), m_imageGeometry, m_viewGeometry, and ossimKeywordlist::numberOf().
|
virtual |
Dumps contents to stream.
Reimplemented from ossimImageViewTransform.
Definition at line 389 of file ossimImageViewProjectionTransform.cpp.
References m_imageGeometry, m_viewGeometry, ossimImageGeometry::print(), and ossimRefPtr< T >::valid().
|
virtual |
After rewrite for incorporating ossimImageGeometry: No longer needed.
Reimplemented from ossimImageViewTransform.
Definition at line 495 of file ossimImageViewProjectionTransform.cpp.
References ossimString::c_str(), m_imageGeometry, m_viewGeometry, ossimImageViewTransform::saveState(), ossimImageGeometry::saveState(), and ossimRefPtr< T >::valid().
| void ossimImageViewProjectionTransform::setImageGeometry | ( | ossimImageGeometry * | g | ) |
Assigns the geometry to use for input image. This object does NOT own the geometry.
Definition at line 72 of file ossimImageViewProjectionTransform.cpp.
References initializeDatelineCrossing(), and m_imageGeometry.
Referenced by ossimImageRenderer::disconnectInputEvent(), ossimEquationUtil::initInputSources(), and ossimImageRenderer::refreshEvent().
|
virtual |
This is used a a general access point for setting a view to a chain.
There are multiple locations that need a projector in order to run properly.
When a "Set View" event is sent through the chain. Typically this is passed down from The renderer.
Implements ossimViewInterface.
Definition at line 349 of file ossimImageViewProjectionTransform.cpp.
References initializeViewSize(), m_crossesDateline, m_viewGeometry, ossimImageGeometry::setProjection(), and ossimRefPtr< T >::valid().
| void ossimImageViewProjectionTransform::setViewGeometry | ( | ossimImageGeometry * | g | ) |
Assigns the geometry to use for output view. This object does NOT own the geometry.
Definition at line 64 of file ossimImageViewProjectionTransform.cpp.
References initializeDatelineCrossing(), and m_viewGeometry.
Referenced by ossimEquationUtil::initInputSources().
|
virtual |
Other workhorse of the object. Converts view-space to image-space.
Reimplemented from ossimImageViewTransform.
Definition at line 134 of file ossimImageViewProjectionTransform.cpp.
References ossimImageGeometry::decimationFactor(), ossimImageGeometry::fullToRn(), ossimImageGeometry::getProjection(), ossimImageGeometry::getTransform(), ossimObject::isEqualTo(), ossimProjection::isEqualTo(), ossimImageGeometry::localToWorld(), m_imageGeometry, m_viewGeometry, ossimDpt::makeNan(), ossimImageGeometry::rnToFull(), and ossimImageGeometry::worldToLocal().
Referenced by ATP::AtpGenerator::constructChain().
|
protected |
Definition at line 126 of file ossimImageViewProjectionTransform.h.
Referenced by getViewSegments(), initializeDatelineCrossing(), initializeViewSize(), and setView().
|
protected |
Definition at line 123 of file ossimImageViewProjectionTransform.h.
Referenced by getImageToViewBounds(), getInputMetersPerPixel(), getViewSegments(), imageToView(), initializeDatelineCrossing(), initializeViewSize(), loadState(), print(), saveState(), setImageGeometry(), and viewToImage().
|
protected |
Definition at line 124 of file ossimImageViewProjectionTransform.h.
Referenced by getImageToViewBounds(), getOutputMetersPerPixel(), getViewSegments(), imageToView(), initializeViewSize(), loadState(), print(), saveState(), setView(), setViewGeometry(), and viewToImage().
1.8.14