LVectorLayer::EnumObjectsCallBack

#include "ltwrappr.h"

virtual L_INT LVectorLayer::EnumObjectscallBack(pVector, pObject)

pVECTORHANDLE pVector;

/* pointer to the class object's associated vector handle */

pVECTOROBJECT pObject;

/* pointer to a vector object */

Processes each vector object enumerated by the LVectorLayer::EnumObjects function.

Parameter

Description

pVector

Pointer to the class object's associated vector image that contains the objects to enumerate.

pObject

Pointer to the vector object being processed.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The LVectorLayer::EnumObjects function calls this function as it gets a pointer to each vector object.

To use this function, derive a class from LVectorLayer and override the EnumObjectsCallBack member function. Note that LVectorLayer::EnumObjectsCallBack does not return an LVectorObject object.

You can attach the pVECTOROBJECT pObject to an LVectorObject class object and call LVectorObject::LockObject and LVectorObject::UnlockObject to get detailed information about each vector object.

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:

LVectorLayer::EnumObjects, Class Members

Example

//Example76
// This example copies all objects from active layer of vector source to vector dest (active layer)
class LMyVectorLayer: public LVectorLayer
{
public:
   LVectorBase *m_pVectorDst;

public:
   LMyVectorLayer() {};
   virtual ~LMyVectorLayer(){};
   virtual L_INT EnumObjectsCallBack(pVECTORHANDLE pVector, pVECTOROBJECT pObject);
};


L_INT LMyVectorLayer::EnumObjectsCallBack(pVECTORHANDLE pVector, pVECTOROBJECT pObject)
{
   LVectorBase   VectorBase(pVector);
   LVectorObject VectorObject(pObject, &VectorBase);
   m_pVectorDst->CopyObject(&VectorObject);
   VectorBase.SetHandle(NULL, FALSE);
   return SUCCESS ;
}


L_VOID Example76(HWND hWnd, LVectorBase *pVectorDst)
{
   //Load a source vector
   LVectorBase VectorSrc;
   VectorSrc.Load(TEXT("square3.dxf"));

   //Get the active layer of source
   LMyVectorLayer  VectorLayer;
   VectorSrc.GetActiveLayer(&VectorLayer);
   
   //Set the destination vector where objects from source will be copied
   VectorLayer.m_pVectorDst = pVectorDst;
   
   //Enumerate all objects in Active layer (and copy to dest vector)
   VectorLayer.EnumObjects();
}