L_VecSetRotation

#include "ltvkrn.h"

L_LTVKRN_API L_INT L_VecSetRotation(pVector, pRotation, pObject, pOrigin, dwFlags)

Rotates all or part of the specified vector image. This function is available in the LEADTOOLS Vector Imaging Pro Toolkit.

Parameters

pVECTORHANDLE pVector

Pointer to a vector handle.

const pVECTORPOINT pRotation

Pointer to a VECTORPOINT structure that contains the rotation values for each axis. The rotation values are in degrees.

pVECTOROBJECT pObject

Pointer to a VECTOROBJECT structure that references the object to rotate. If this parameter is not NULL, only the specified object will be rotated. If this parameter is NULL, the objects to rotate are determined by dwFlags.

const pVECTORPOINT pOrigin

Pointer to a VECTORPOINT structure that contains the center of rotation. If pOrigin is not NULL, rotation occurs around this point. If pOrigin is NULL, the center of rotation is the accumulative center of the objects to be rotated.

L_UINT32 dwFlags

Flag that indicates which objects to rotate. This flag is valid only if pObject is NULL. If pObject is not NULL, this parameter is ignored. Possible values are:

Value Meaning
0 Rotate all objects.
VECTOR_FLAGS_SELECTED_ONLY Rotate only the currently selected objects within the vector handle.

Returns

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

Comments

Rotates all or part of the specified vector image based on the rotation values in pRotation.

The translation values may be retrieved using L_VecGetRotation.

You should call L_VecApplyTransformation to make the rotation part of the vector image, if you do not your changes will not be saved.

Note: When you rotate an object, it may or may not effect other unselected objects sharing vertices with the selected object. This depends on the current bind vertices mode set by L_VecSetBindVerticesMode.

Required DLLs and Libraries

See Also

Functions

Example

This example will rotate all objects in a vector handle by 30 degrees along the x-axis, -20 degrees the y-axis and +50 degrees along the z-axis.

L_LTVKRNTEX_API L_INT VecSetRotationExample(pVECTORHANDLE pVector) 
{ 
   L_INT nRet; 
   VECTORPOINT rotation; 
 
   /* Get current rotation values */ 
   nRet = L_VecGetRotation( pVector, &rotation ); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   /* +30 degrees along the x-axis */ 
   rotation.x += 30.0; 
   /* -20 degrees along the y-axis */ 
   rotation.y -= 20.0; 
   /* +50 degrees along the z-axis */ 
   rotation.z += 50.0; 
 
   /* Set new rotation values. Note that we will rotate around the center of the drawing */ 
   nRet = L_VecSetRotation( pVector, &rotation, NULL, NULL, 0L ); 
 
   return nRet; 
} 

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

LEADTOOLS Vector C API Help