Main Page | Class Hierarchy | Alphabetical List | Compound List | Compound Members

IRdCoordinateSystem Struct Reference

Inherits IRsObject.

List of all members.

Public Member Functions

HRESULT SetCoordinateSystem ([in] IRsUnknownCoordinateSystem *pCoordSysNode,[in] GUID guid)
HRESULT GetCoordinateSystem ([out] IRsUnknownCoordinateSystem **ppCoordSysNode,[out] GUID *guid)
HRESULT GetTransformationMatrix ([out] RtMatrixf *pMatrix)
HRESULT GetCoordinateSystemScaling ([out] RtVector4f *pScalePlane)
HRESULT GetCoordinateSystemViewDependence ([out] RtBool *pbDependent)


Detailed Description

Widget coordinate system data object is used to specify orientation of widget actions and elements. The orientation is stored in matrices, but because these need to be accessible during rendering of widgets (not just read threads), evaluation of matrices must be done out of kernel. Callback mechanism is used to perform the task.


Member Function Documentation

HRESULT IRdCoordinateSystem::SetCoordinateSystem [in] IRsUnknownCoordinateSystem *  pCoordSysNode,
[in] GUID  guid
 

Set coordinate system evaluation interface and port

Parameters:
pCoordSysNode Coordinate system evaluator
guid Port ID for coordinate system evaluator
Returns:
standard HRESULT processing can be applied to returned value

HRESULT IRdCoordinateSystem::GetCoordinateSystem [out] IRsUnknownCoordinateSystem **  ppCoordSysNode,
[out] GUID *  guid
 

Get coordinate system evaluator interface and port

Parameters:
ppCoordSysNode Returned coordinate system evaluator
pguid Returned port ID for coordinate system evaluator
Returns:
standard HRESULT processing can be applied to returned value

HRESULT IRdCoordinateSystem::GetTransformationMatrix [out] RtMatrixf *  pMatrix  ) 
 

Evaluate transformation matrix. Evaluation is done out of kernel and can be called from both read and write threads. Data object uses stored coordinate system interfaces to read coordinate system form widget nodes.

Parameters:
pMatrix Computed coordinate system
Returns:
standard HRESULT processing can be applied to returned value

HRESULT IRdCoordinateSystem::GetCoordinateSystemScaling [out] RtVector4f *  pScalePlane  ) 
 

Coordinate system scaling is used to read widget scaling plane equation. Widget coordinate system computation uses this value to scale widget depending on it's distance from this plane. It may be used to compensate perspective scaling. Evaluation is done out of kernel and uses stored coordinate system interfaces to compute the data.

Parameters:
pScalePlane Computed scaling plane.
Returns:
standard HRESULT processing can be applied to returned value

HRESULT IRdCoordinateSystem::GetCoordinateSystemViewDependence [out] RtBool *  pbDependent  ) 
 

View independent coordinate systems are locked during widget actions so visual representation of axes remains the same. This flag is also used for optimisation purposes.

Parameters:
pbDependent Return value that specifies, whether widget coordinate system is view dependent.
Returns:
standard HRESULT processing can be applied to returned value


Generated on Tue Jan 31 21:03:03 2006 for trueSpace7 Data Objects by doxygen 1.3.2