L_VecGetScale

#include "lvkrn.h"

L_LVKRN_API L_INT L_VecGetScale(pVector, pScale)

const pVECTORHANDLE pVector;

/* pointer to a vector handle */

pVECTORPOINT pScale;

/* pointer to a vector point */

Gets the current scale values.

Parameter

Description

pVector

Pointer to a vector handle.

pScale

Pointer to a VECTORPOINT structure to be updated with the current scale values.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The scale values retrieved are those set using L_VecSetScale, with pObject set to NULL and dwFlags set to 0L.

A scale value of 1.0 represents a scale factor of 100%; a scale value of 0.5 represents a scale factor of 50%; a scale value of 2.0 represents a scale factor of 200%, etc.

The default scale values are 1.0, 1.0, and 1.0 for the X, Y, and Z axes.

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:

L_VecSetScale, L_VecSetRotation, L_VecGetRotation, L_VecSetTranslation, L_VecGetTranslation, L_VecSetBindVerticesMode, L_VecGetBindVerticesMode

Example

This example will show the current scale values, in percentage, in a message box.,

L_INT VecGetScaleExample( pVECTORHANDLE pVector )
{
   L_INT nRet;
   VECTORPOINT scale;            /* Scale values */
   L_TCHAR     szBuffer[ 80 ];   /* Buffer */

   /* Get current scale values */
   nRet = L_VecGetScale( pVector, &scale );
   if(nRet != SUCCESS)
      return nRet;

   /* Format in a buffer */
   wsprintf( szBuffer, TEXT("%d%%, %d%%, %d%%"),
             (L_INT) ( scale.x * 100.0 ),
             (L_INT) ( scale.y * 100.0 ),
             (L_INT) ( scale.z * 100.0 ) );

   /* Show a message box */
   MessageBox( NULL, szBuffer, TEXT("Scale factors"), 0 );

   return SUCCESS;
}