LVectorBase::HitTest

#include "ltwrappr.h"

virtual L_INT LVectorBase::HitTest(pPoint, ppVectorObject)

const POINT L_FAR *pPoint;

/* pointer to a POINT structure */

pVECTOROBJECT L_FAR *ppVectorObject;

/* pointer to a structure */

Gets the vector object under the specified 2D point.

Parameter

Description

pPoint

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

ppVectorObject

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

Returns

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.

This function is not supported in the DirectX engine.

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.

See Also

Functions:

LVectorBase::SelectObject, LVectorBase::IsObjectSelected, LVectorBase::DeleteObject

Example

//Example24
//This example will delete the object under a given 2D point 
void Example24(HWND hWnd, LVectorBase *pVector, LPPOINT pPoint)
{
   LVectorBase Vector;
   LVectorObject  VectorObject;
   VECTORHITTEST HitTest;
   L_TCHAR szMsg[200];
   
   
   //Get current Hit Test settings
   Vector.GetHitTest(&HitTest);
   
   wsprintf(szMsg, TEXT("Old Hit Test Settings\nDistance[%d]\ndwFlags[%d]"), HitTest.nDistance, HitTest.dwFlags);
   MessageBox(NULL, szMsg, TEXT(""), MB_OK);
   
   HitTest.nDistance = 8;
   Vector.SetHitTest(&HitTest);
   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 
   L_INT nRet = pVector->HitTest(pPoint, &VectorObject);
   
   //Is there an object under that point? If yes, delete it
   if (nRet == SUCCESS)
   {
      MessageBox(NULL, TEXT("Deleting Object..."), TEXT(""), MB_OK);
      VectorObject.DeleteObject();
   }

   //LVectorObject destructor called when VectorObject goes out of scope...
}