> ## Name

> cgGetParameterDefaultValuefr - get the default values of any numeric parameter

> ## Synopsis

>     #include <Cg/cg.h>

>     int cgGetParameterDefaultValuefr( CGparameter param,
>                                       int nelements,
>                                       float * v );

> ## Parameters

> param
>   The parameter whose default values will be retrieved.
> nelements
>   The number of elements in array v.
> v
>   Destination buffer into which the parameter default values will be written.

> ## Return Values

> Returns the total number of default values written to v.

> ## Description

> cgGetParameterDefaultValuefr allows the application to get the default values from any numeric parameter or parameter array. The default values are returned as floats in v.

> The given parameter must be a scalar, vector, matrix, or a (possibly multidimensional) array of scalars, vectors, or matrices.

> Any matrices referenced by param will be copied in row-major order.

> The size of v is passed as nelements. If v is smaller than the total number of default values in the given source parameter, CG_NOT_ENOUGH_DATA_ERROR is generated.

> The total number of default values in a parameter, ntotal, may be computed as follow:

>     int nrows = cgGetParameterRows(param);
>     int ncols = cgGetParameterColumns(param);
>     int asize = cgGetArrayTotalSize(param);
>     int ntotal = nrows*ncols;
>     if (asize > 0) ntotal *= asize;

> ## Examples

> to-be-written

> ## Errors

> CG_INVALID_PARAM_HANDLE_ERROR is generated if param is not a valid parameter.

> CG_INVALID_POINTER_ERROR is generated if v is NULL.

> CG_NOT_ENOUGH_DATA_ERROR is generated if nelements is less than the total size of param.

> CG_NON_NUMERIC_PARAMETER_ERROR is generated if param is of a non-numeric type.

> ## History

> cgGetParameterDefaultValuefr was introduced in Cg 2.1.

> ## See Also

> cgGetParameterValue, cgSetParameterValue, cgGetParameterRows, cgGetParameterColumns, cgGetArrayTotalSize