L_ContainerSetScalar

#include "LtCon.h"

L_LTCON_API L_INT L_ContainerSetScalar(pContainer, pvptScalarNum, pvptScalarDen)

pCONTAINERHANDLE pContainer;

/* pointer to a container handle */

pVECTORPOINT pvptScalarNum;

/* numerator scaling values */

pVECTORPOINT pvptScalarDen;

/* denominator scaling values */

Sets the container scaling values that will be used to adjust the coordinates values.

Parameter

Description

pContainer

Pointer to a container handle.

pvptScalarNum

Pointer to structure of type VECTORPOINT that contains the numerator to scale the coordinates in the X,Y and Z directions.

pvptScalarDen

Pointer to structure of type VECTORPOINT that contains the denominator to scale the coordinates in the X,Y and Z directions.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

When assigning an external representation to the container, every point (Xa, Ya) in the external representation is transformed by the container to the point (Xc, Yc) by using the following steps:

1. Add offsets:

   Xb = Xa + nXOffset

2. Multiply by scalars:

   Xc = (Xb * nXScalarNum) / nXScalarDen

   Yc = (Yb * nYScalarNum) / nYScalarDen

The default offset values are nXOffset=0, nYOffset=0, and nZOffset=0.

The default scalar values are:

ScalarNum.x = 1

ScalarNum.y = 1

ScalarNum.z = 1

 

ScalarDen.x = 1

ScalarDen.y = 1

ScalarDen.z = 1

Required DLLs and Libraries

LTCON

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_ContainerSetOffset, L_ContainerGetScalar

Topics:

Container Scaling Values

Example

This example shows how to set the container coordinates scaling factors.

 L_INT ContainerSetScalarExample(pCONTAINERHANDLE pContainer)
{
   L_INT nRet;
   nRet = L_ContainerIsValid ( pContainer );
   if (SUCCESS == nRet ) /* check the validity of container handle */
   {
      VECTORPOINT vptScalarNum, vptScalarDen ;


      /* get the current scaling values */
      nRet = L_ContainerGetScalar (pContainer, &vptScalarNum, &vptScalarDen ) ;
      if(nRet != SUCCESS)
         return nRet;

      /* Set the horizontal scaling factor */
      vptScalarNum.x ++ ; 
      vptScalarDen.x =  1 ;

      /* Set the vertical scaling factor */
      vptScalarNum.y ++ ;
      vptScalarDen.y = 1 ;

      /* Set the z scaling factor to 1:1 factor */
      vptScalarNum.z = 1 ;
      vptScalarDen.z = 1 ;

      nRet = L_ContainerSetScalar (pContainer, &vptScalarNum, &vptScalarDen ) ;
   }
   return nRet;
}