L_VecSetTranslation
#include "lvkrn.h"
L_INT EXT_FUNCTION L_VecSetTranslation(pVector, pTranslation, pObject, dwFlags)
pVECTORHANDLE pVector; |
/* pointer to a vector handle */ |
const pVECTORPOINT pTranslation; |
/* pointer to a vector point */ |
pVECTOROBJECT pObject; |
/* pointer to a vector object */ |
L_UINT32 dwFlags; |
/* flags that indicate which objects to translate */ |
Translates all or part of the specified vectored image.
Parameter |
Description |
|
pVector |
Pointer to a vector handle. |
|
pTranslation |
Pointer to a VECTORPOINT structure that contains the translation values for each axis. The translation values are in logical units. |
|
pObject |
Pointer to a VECTOROBJECT structure that references the object to translate. If this parameter is not NULL, only the specified object will be translated. If this parameter is NULL, the objects to translate are determined by dwFlags. |
|
dwFlags |
Flag that indicates which objects to translate. This flag is valid only if pObject is NULL. If pObject is not NULL, this parameter is ignored. Possible values are: |
|
|
Value |
Meaning |
|
0 |
Translate all objects. |
|
VECTOR_FLAGS_SELECTED_ONLY |
Translate only the currently selected objects within the vector handle. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Translates all or part of the specified vectored image based on the translation values in pTranslation.
The translation values may be retrieved using L_VecGetTranslation.
Note: |
When you translate a certain 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. |
You should call L_VecApplyTransformation to make the translation part of the vector image, if you don’t your changes will not be saved.
Note for OpenGL and DirectX:, You cannot select objects or enumerate them. If you provide pObject and/or VECTOR_FLAGS_SELECTED_ONLY, the function will do nothing.
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_VecGetTranslation, L_VecSetScale, L_VecGetScale, L_VecSetRotation, L_VecGetRotation, L_VecSetBindVerticesMode, L_VecGetBindVerticesMode, L_VecApplyTransformation |
Example
/* This example will translate all objects in a vector handle by 30 logical units along the x-axis, -20 along the y-axis and +50 along the z-axis. */
void TestVecSetTranslation ( pVECTORHANDLE pVector )
{
VECTORPOINT translation;
/* Get current translation values */
L_VecGetTranslation( pVector, &translation );
/* +30 along the x-axis */
translation.x += 30.0;
/* -20 along the y-axis */
translation.y -= 20.0;
/* +50 along the z-axis */
translation.z += 50.0;
/* Set new translation values */
L_VecSetTranslation( pVector, &translation, NULL, 0L );
}