#include "lvkrn.h"
L_LVKRN_API L_INT L_VecHitTest(pVector, pPoint, pObject)
const pVECTORHANDLE pVector; |
pointer to a vector handle |
const L_POINT * pPoint; |
pointer to a POINT structure |
pVECTOROBJECT pObject; |
pointer to a VECTOROBJECT structure |
Performs a hit test using the specified 2D point.
Parameter |
Description |
pVector |
Pointer to a vector handle. |
pPoint |
Pointer to a POINT structure that contains the point to test. |
pObject |
Pointer to a VECTOROBJECT structure to be updated with the object found under the specified point, if one exists. |
SUCCESS |
The function was successful and an object was copied into pObject. |
ERROR_VECTOR_OBJECT_NOT_FOUND |
No object was found under the specified point. |
< 1 |
An error occurred. Refer to Return Codes. |
This function will copy the first object under the specified physical point into pObject.
To set the options to use when performing the hit test, call L_VecSetHitTest.
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
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: |
This example will select the object under the mouse cursor.
L_INT VecHitTestExample(
pVECTORHANDLE pVector,
POINT* pptMouse)
{
VECTOROBJECT Object;
VECTOROBJECT TempObject;
L_INT nRet;
nRet = L_VecHitTest( pVector, pptMouse, &Object );
if( nRet == SUCCESS )
{
/* Get the object to edit */
nRet = L_VecGetObject( pVector, &Object, Object.nType, &TempObject );
if(nRet != SUCCESS)
return nRet;
/* Select it */
TempObject.dwFlags |= VECTOR_OBJECT_SELECTED;
/* Apply changes */
nRet = L_VecSetObject( pVector, &Object, Object.nType, &TempObject );
if(nRet != SUCCESS)
return nRet;
/* Must free the temporary object when not used anymore */
nRet = L_VecFreeObject( TempObject.nType, &TempObject );
}
return nRet;
}