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... | |
![]() | |
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... | |
![]() | |
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) |
![]() | |
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) |
![]() | |
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 |
![]() | |
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 () |
![]() | |
ossim2dTo2dTransform () | |
virtual | ~ossim2dTo2dTransform () |
![]() | |
virtual | ~ossimReferenced () |
Protected Attributes | |
ossimRefPtr< ossimImageGeometry > | m_imageGeometry |
ossimRefPtr< ossimImageGeometry > | m_viewGeometry |
bool | m_crossesDateline |
![]() | |
double | theConvergenceThreshold |
int | theMaxIterations |
ossimDpt | theDxDy |
![]() | |
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().