L_VecCopy

#include "lvkrn.h"

L_LVKRN_API L_INT L_VecCopy(pDst, pSrc, dwFlags)

Copies one vector handle to another.

Parameters

pVECTORHANDLE pDst

Pointer to the target vector handle.

const pVECTORHANDLE pSrc

Pointer to the source vector handle.

L_UINT32 dwFlags

Flag that indicate the characteristics of the copy process. Possible values are:

Value Meaning
0 Copy the entire vector handle from the source vector to the destination vector.
VECTOR_FLAGS_SELECTED_ONLY Copy only selected objects from the source vector to the destination vector.
VECTOR_FLAGS_REPLACE Empty the destination vector handle before copying.
VECTOR_FLAGS_RENAME_DUPLICATES Renames duplicate layer names if found. This flag is only valid when VECTOR_FLAGS_REPLACE is not specified. The toolkit will add a suffix (0, 1, 2, etc) to the layer name if duplicated. Checking will be aborted when the suffix value reaches 999 and no unique name can be created.
VECTOR_FLAGS_COPY_INTO_ACTIVE_LAYER Copies objects and layers into the active layer of the destination vector.
VECTOR_FLAGS_COPY_LAYERS_ONLY Copies all layers and objects from the source vector to the destination vector. Transformation, camera, viewport and all other properties of the destination vector will not be effected.

Returns

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

Comments

Copies an entire drawing of a source vector structure and places it into a destination structure.

This also copies all fields in the VECTORHANDLE structure.

This function will not copy the window attachment, if pSrc is attached to a window, pDst will not be attached to the same window.

Required DLLs and Libraries

See Also

Functions

Example

This example will try to load a file into a given vector handle, it will try to not alter the provided handle if the file cannot be loaded.

L_INT VecCopyExample( 
   L_TCHAR* pszFile, 
   pVECTORHANDLE pVector) 
{ 
   L_INT nRet; 
   VECTORHANDLE   TempVector;       /* Temporary vector handle. */ 
 
   /* Load the file into the temporary vector. */ 
   nRet = L_VecLoadFile( pszFile, &TempVector, NULL, NULL ); 
   if( nRet != SUCCESS ) 
      return nRet; 
 
   /* Copy the new vector into the provided one. */ 
   nRet = L_VecCopy( pVector, &TempVector, VECTOR_FLAGS_REPLACE ); 
   if( nRet != SUCCESS ) 
   { 
      L_VecFree( &TempVector ); 
      return nRet; 
   } 
 
   /* Free the temporary vector before returning. */ 
   nRet = L_VecFree( &TempVector ); 
 
   return nRet; 
} 

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

LEADTOOLS Vector C API Help