#include "ltwrappr.h"
virtual L_INT LVectorBase::PhysicalToLogical(pDst, pSrc)
pVECTORPOINT pDst; |
pointer to a VECTORPOINT structure |
const POINT * pSrc; |
pointer to a POINT structure |
Converts a Windows 2D POINT into a 3D VECTORPOINT.
Parameter |
Description |
pDst |
Pointer to a VECTORPOINT structure to be updated with the logical 3 dimensional point converted from the 2 dimensional point in pSrc. |
pSrc |
Pointer to a POINT structure that contains a 2 dimensional point to be converted into a 3 dimensional point. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Converts a given 2D physical point into a logical (with X, Y, Z coordinates), 3D point.
The Z value of the destination 3D point will not be changed.
Conversion will be based on the current view port and camera values set in the VECTORHANDLE.
Required DLLs and Libraries
LVKRN For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Functions: |
LVectorBase::LogicalToPhysical, LVectorBase::GetObjectParallelogram, LVectorBase::GetObjectRect |
Topics: |
|
|
This example will obtains drawing logical extents.
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT LVectorBase__PhysicalToLogicalExample(HWND hWnd)
{
RECT rect;
L_INT nRet;
VECTORPOINT LeftTop, RightBottom;
POINT LeftTop2D, RightBottom2D;
LVectorBase Vector;
nRet = Vector.Load(MAKE_IMAGE_PATH(TEXT("random.dxf")));
if(nRet != SUCCESS)
return nRet;
// Get physical extent of the all objects inside drawing
nRet = Vector.AttachToWindow(hWnd);
if(nRet != SUCCESS)
return nRet;
GetClientRect(hWnd, &rect);
nRet = Vector.SetViewport(&rect);
if(nRet != SUCCESS)
return nRet;
// Get the rectangle of entire object
nRet = Vector.GetObjectRect(&rect);
if(nRet != SUCCESS)
return nRet;
LeftTop2D.x = rect.left;
LeftTop2D.y = rect.top;
RightBottom2D.x = rect.right;
RightBottom2D.y = rect.bottom;
nRet = Vector.PhysicalToLogical( &LeftTop, &LeftTop2D );
if(nRet != SUCCESS)
return nRet;
nRet = Vector.PhysicalToLogical( &RightBottom, &RightBottom2D );
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}