Show_Modelling_Matrix

Functions

int DPShow_Net_Modelling_Matrix (int key_count, const HC_KEY *path_keys, double *matrix)
 Similar to PShow_Net_Modelling_Matrix(), but operates on double-precision modelling matrices. More...
 
void DShow_Modelling_Matrix (double *matrix)
 Similar to Show_Modelling_Matrix(), but operates on double-precision matrices. More...
 
int PShow_Net_Modelling_Matrix (int key_count, const HC_KEY *path_keys, float *matrix)
 Similar to Show_Modelling_Matrix(), but returns the net effective value along a discrete segment path. More...
 
void Show_Modelling_Matrix (float *matrix)
 Returns the modelling matrix that has been set on the currently open segment. More...
 

Detailed Description

Function Documentation

◆ DPShow_Net_Modelling_Matrix()

int DPShow_Net_Modelling_Matrix ( int  key_count,
const HC_KEY *  path_keys,
double *  matrix 
)

Similar to PShow_Net_Modelling_Matrix(), but operates on double-precision modelling matrices.

Parameters
key_count- The size of path_keys
path_keys- An array of HC_KEYs delineating a path of segments.
matrix- Curent transformation matrix. Passed by reference. Returned to user.
Returns
An integer indicating what type of matrix was found (see details).

◆ DShow_Modelling_Matrix()

void DShow_Modelling_Matrix ( double *  matrix)

Similar to Show_Modelling_Matrix(), but operates on double-precision matrices.

Parameters
matrix- Curent transformation matrix. Passed by reference. Returned to user.

◆ PShow_Net_Modelling_Matrix()

int PShow_Net_Modelling_Matrix ( int  key_count,
const HC_KEY *  path_keys,
float *  matrix 
)

Similar to Show_Modelling_Matrix(), but returns the net effective value along a discrete segment path.

Parameters
key_count- The size of path_keys
path_keys- An array of HC_KEYs delineating a path of segments.
matrix- Curent transformation matrix. Passed by reference. Returned to user.
Returns
An integer indicating what type of matrix was found (see details).

DETAILS

As with all PShow_Net_* routines, path_keys[0] represents the lowest (a.k.a the "most local" or "leaf"), and path_keys[keycount-1] represents the highest segment. If the path is incomplete, missing segments are filled in if possible. Missing segments must be part of the same direct ancestry in order to be filled in. If the desired path contains an include link, the shortest unambiguous set of path_keys would be [leaf, includelink, root], where includelink is the return value from Include_Segment().
By default, HOOPS Visualize will determine the net attribute from the last specified key all the way to the root. If you add -1 at the end of the array, the PShow_Net routines will not proceed beyond the end of the last specified key.

A return value of 0 indicates no matrix was found. A value of 1 indicates a single-precision matrix was found. A value of 2 indicates a double-precision matrix was found.

For other details, see Show_Modelling_Matrix()

◆ Show_Modelling_Matrix()

void Show_Modelling_Matrix ( float *  matrix)

Returns the modelling matrix that has been set on the currently open segment.

Parameters
matrix- Curent transformation matrix. Passed by reference. Returned to user.

DETAILS

No additional details. See Set_Modelling_Matrix()

NOTES

The Show_Modelling_Matrix() routines return the actual attribute values stored in the particular segment at hand. The Show_Net_Modelling_Matrix routines return the effective attribute value for the specified segment. The distinction is that there may or may not be an "actual" stored value for an attribute for a given segment, but there is guaranteed always to be an effective value for every attribute for every segment. Also, "Show Net" will return the cumulative effects of those attributes that concatenate as you go up and down the segment tree (Modelling Matrices and Windows).
When the value being passed back is a string, be sure you've declared your string variable to be long enough.

In C, "passed by reference" means that you have to allocate an appropriate variable, either statically or off the stack, and pass a pointer to that variable to the HOOPS routine. To generate a pointer to a variable C, you prefix the variable with a "&". In other languages you normally don't have to do anything different from usual.

The Show_Modelling_Matrix() routines will complain if they're called and the attribute is not actually set in the segment. Use Show_Existence() to avoid this, if necessary.