LVectorBase::GetLayerByIndex

#include "ltwrappr.h"

virtual L_INT LVectorBase::GetLayerByIndex(nIndex, pVectorLayer)

const L_INT nIndex;

/* layer index */

LVectorLayer * pVectorLayer;

/* pointer to a vector layer object */

Gets the layer at the specified index in the class object's vector handle.

Parameter

Description

nIndex

Index of the requested layer. This index is zero-based. Possible values are between 0 and LVectorBase::GetLayerCount - 1.

pVectorLayer

Pointer to an LVectorLayer object to be updated, if the layer is found. If the layer is not found, this function will return ERROR_VECTOR_LAYER_NOT_FOUND.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

To determine the number of layers in a vector handle, call LVectorBase::GetLayerCount.

To get a layer, given the name of the layer, use LVectorBase::GetLayerByName.

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::GetLayerCount, LVectorBase::GetLayerByName

Topics:

Working with Vector Layers

Example

L_INT LVectorBase__GetLayerByIndexExample(HWND hWnd, LVectorBase *pVector)
{
   UNREFERENCED_PARAMETER(hWnd);
   //LVectorBase Vector;
   //Vector.Load("test.dxf");   
   L_INT          nRet;
   LVectorLayer   VectorLayer;
   L_TCHAR        szMsg[100];
   //Get the first layer
   nRet = pVector->GetLayerByIndex(0, &VectorLayer);
   if (nRet == SUCCESS)
   {
      VECTORLAYERDESC LayerDesc;
      nRet = VectorLayer.GetLayerDesc(&LayerDesc);
      if(nRet != SUCCESS)
         return nRet;
      wsprintf(szMsg, TEXT("Layer Retrieved\nName[%s]\nSize[%d]\nLocked[%d]\nVisible[%d]"),
               LayerDesc.szName,
               LayerDesc.nSize,
               LayerDesc.bLocked,
               LayerDesc.bVisible
               );
   }
   else
   {
      wsprintf(szMsg, TEXT("Layer Not Found"));
      return nRet;
   }
   MessageBox(NULL, szMsg, TEXT(""), MB_OK);
   return SUCCESS;
}