LVectorBase::HitTest

Summary

Gets the vector object under the specified 2D point.

Syntax

#include "ltwrappr.h"

virtual L_INT LVectorBase::HitTest(pPoint, pLVectorObject)

Parameters

const POINT *pPoint

Pointer to a POINT structure that contains the point to test.

LVectorObject *pLVectorObject

Pointer to a VECTOROBJECT structure to be updated with the object present at the specified location.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

This function will get the first object under the specified physical point.

Camera, view port, rotation, translation and scaling are all considered when determining whether or not an object is under the specified point.

Required DLLs and Libraries

See Also

Functions

Example

This example will delete the object under a given 2D point.

L_INT LVectorBase__HitTestExample(HWND hWnd, LVectorBase *pVector, LPPOINT pPoint) 
{ 
   UNREFERENCED_PARAMETER(hWnd); 
 
   L_INT          nRet; 
   LVectorBase    Vector; 
   LVectorObject  VectorObject; 
   VECTORHITTEST  HitTest; 
   L_TCHAR        szMsg[200]; 
 
   //Get current Hit Test settings 
   nRet = Vector.GetHitTest(&HitTest); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   wsprintf(szMsg, TEXT("Old Hit Test Settings\nDistance[%d]\ndwFlags[%d]"), HitTest.nDistance, HitTest.dwFlags); 
 
   MessageBox(NULL, szMsg, TEXT(""), MB_OK); 
 
   HitTest.nDistance = 8; 
 
   nRet = Vector.SetHitTest(&HitTest); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   wsprintf(szMsg, TEXT("New Hit Test Settings\nDistance[%d]\ndwFlags[%d]"), HitTest.nDistance, HitTest.dwFlags); 
 
   MessageBox(NULL, szMsg, TEXT(""), MB_OK); 
 
   // Get object under that point  
   nRet = pVector->HitTest(pPoint, &VectorObject); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   //Is there an object under that point? If yes, delete it 
   if (nRet == SUCCESS) 
   { 
      MessageBox(NULL, TEXT("Deleting Object..."), TEXT(""), MB_OK); 
      nRet = VectorObject.DeleteObject(); 
      if(nRet != SUCCESS) 
         return nRet; 
   } 
   else 
      return nRet; 
 
   //LVectorObject destructor called when VectorObject goes out of scope... 
 
   return SUCCESS; 
} 

Help Version 22.0.2022.12.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Vector C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.