MikroCAD SDK Library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MC3DDataExport.h File Reference

Description

Function prototypes for data export functions.

Author
LMI Technologies

Go to the source code of this file.

Functions

MC3D_EXPORT bool __cdecl MC3D_CreateSinusCosinusTable (double *pdCosTab, double *pdSinTab, long lSize, bool bSinNegative)
 Calculates a sinus and cosine table, used for FFT. More...
 
MC3D_EXPORT bool __cdecl MC3D_FastFourierTrafo (double *pdCosValue, double *pdSinValue, double *pdCosTab, double *pdSinTab, long lSize)
 Fast Fourier transformation. More...
 
MC3D_EXPORT bool __cdecl MC3D_FastFourierTrafo2D (float *pfRealVal, float *pfImagVal, short nSizeX, short nSizeY, eMC3DFilterDirection Direction, bool bBackTrafo)
 Fast Fourier transformation in a plane. More...
 
MC3D_EXPORT bool __cdecl MC3D_InverseMatrix (double *pdMatrix, double *pdInvMatrix, int nSize)
 Calculates the inverse of a double matrix. More...
 
MC3D_EXPORT bool __cdecl MC3D_InverseMatrixFloat (float *pfMatrix, float *pfInvMatrix, int nSize)
 Calculates the inverse of a float matrix. More...
 
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisDouble (double *pdData, int *pnRanges, short nSizeX, short nSizeY, double dLowerLimit, double dUpperLimit, eRangeAnalysisEvalMode EvalMode)
 Does a range analysis of an array of double. More...
 
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisFloat (float *pfData, int *pnRanges, short nSizeX, short nSizeY, float fLowerLimit, float fUpperLimit, eRangeAnalysisEvalMode EvalMode)
 Does a range analysis of an array of float. More...
 
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisLong (long *plData, int *pnRanges, short nSizeX, short nSizeY, long lLowerLimit, int lUpperLimit, eRangeAnalysisEvalMode EvalMode)
 Does a range analysis off an array of long. More...
 
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisShort (short *pnData, int *pnRanges, short nSizeX, short nSizeY, short nLowerLimit, short nUpperLimit, eRangeAnalysisEvalMode EvalMode)
 Does a range analysis of an array of short. More...
 
MC3D_EXPORT bool __cdecl MC3D_ShortArrayToByteArray (short *pnData, bool *pbValid, unsigned char *pbyData, short nSizeX, short nSizeY, short nMinimum, short nMaximum, unsigned char byInvalidValue=0)
 Scale short array to byte array based on given minimum and maximum Invalid values are becoming byInvalidValue (default 0), valid based on scale are between 1 and 255. More...
 
MC3D_EXPORT bool __cdecl MC3D_ShortArrayToByteArrayRel (short *pnData, bool *pbValid, unsigned char *pbyData, short nSizeX, short nSizeY, int &nFactor, int &nOfs, unsigned char byInvalidValue=0)
 Scale short array to byte array. More...
 
MC3D_EXPORT bool __cdecl MC3D_ShrinkDataArrayByte (unsigned char *pbyOut, unsigned char *pbyIn, bool *pbValidOut, bool *pbValidIn, short nSizeX, short nSizeY, short nShrinkFactor)
 Shrinks a byte array by an given factor. More...
 
MC3D_EXPORT bool __cdecl MC3D_ShrinkDataArrayShort (short *pnOut, short *pnIn, bool *pbValidOut, bool *pbValidIn, short nSizeX, short nSizeY, short nShrinkFactor)
 Shrinks a short array by an given factor. More...
 

Function Documentation

MC3D_EXPORT bool __cdecl MC3D_CreateSinusCosinusTable ( double *  pdCosTab,
double *  pdSinTab,
long  lSize,
bool  bSinNegative 
)

Calculates a sinus and cosine table, used for FFT.

Parameters
pdCosTabOutput cosine table
pdSinTabOutput sinus table
lSizeSize of table
bSinNegativeIs sin negative (inverted at x axis)
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_FastFourierTrafo ( double *  pdCosValue,
double *  pdSinValue,
double *  pdCosTab,
double *  pdSinTab,
long  lSize 
)

Fast Fourier transformation.

Parameters
pdCosValueOutput cosine values
pdSinValueOutput sinus values
pdCosTabInput cosine table
pdSinTabInput sinus table
lSizeSize of table
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_FastFourierTrafo2D ( float *  pfRealVal,
float *  pfImagVal,
short  nSizeX,
short  nSizeY,
eMC3DFilterDirection  Direction,
bool  bBackTrafo 
)

Fast Fourier transformation in a plane.

Parameters
pfRealValReal values
pfImagValImaginary values
nSizeXSize in X
nSizeYSize in Y
DirectionFilter direction
bBackTrafoTrue if back transformation, otherwise false
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_InverseMatrix ( double *  pdMatrix,
double *  pdInvMatrix,
int  nSize 
)

Calculates the inverse of a double matrix.

Parameters
pdMatrixInput matrix
pdInvMatrixOutput inverted matrix
nSizeNumber of rows and columns
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_InverseMatrixFloat ( float *  pfMatrix,
float *  pfInvMatrix,
int  nSize 
)

Calculates the inverse of a float matrix.

Parameters
pfMatrixInput matrix
pfInvMatrixOutput inverted matrix
nSizeNumber of rows and columns
Returns
Success (true) or failure
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisDouble ( double *  pdData,
int *  pnRanges,
short  nSizeX,
short  nSizeY,
double  dLowerLimit,
double  dUpperLimit,
eRangeAnalysisEvalMode  EvalMode 
)

Does a range analysis of an array of double.

Parameters
pdDataInput data array
pnRangesOutput, number of ranges
nSizeXSize in X
nSizeYSize in Y
dLowerLimitLower limit
dUpperLimitUpper limit
EvalModeEvaluation mode, see eRangeAnalysisEvalMode
Returns
Number of ranges or negative in case of an error
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisFloat ( float *  pfData,
int *  pnRanges,
short  nSizeX,
short  nSizeY,
float  fLowerLimit,
float  fUpperLimit,
eRangeAnalysisEvalMode  EvalMode 
)

Does a range analysis of an array of float.

Parameters
pfDataInput data array
pnRangesOutput, number of ranges
nSizeXSize in X
nSizeYSize in Y
fLowerLimitLower limit
fUpperLimitUpper limit
EvalModeEvaluation mode, see eRangeAnalysisEvalMode
Returns
Number of ranges or negative in case of an error
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisLong ( long *  plData,
int *  pnRanges,
short  nSizeX,
short  nSizeY,
long  lLowerLimit,
int  lUpperLimit,
eRangeAnalysisEvalMode  EvalMode 
)

Does a range analysis off an array of long.

Parameters
plDataInput data array
pnRangesOutput, number of ranges
nSizeXSize in X
nSizeYSize in Y
lLowerLimitLower limit
lUpperLimitUpper limit
EvalModeEvaluation mode, see eRangeAnalysisEvalMode
Returns
Number of ranges or negative in case of an error
MC3D_EXPORT int __cdecl MC3D_RangeAnalysisShort ( short *  pnData,
int *  pnRanges,
short  nSizeX,
short  nSizeY,
short  nLowerLimit,
short  nUpperLimit,
eRangeAnalysisEvalMode  EvalMode 
)

Does a range analysis of an array of short.

Parameters
pnDataInput data array
pnRangesOutput, number of ranges
nSizeXSize in X
nSizeYSize in Y
nLowerLimitLower limit
nUpperLimitUpper limit
EvalModeEvaluation mode, see eRangeAnalysisEvalMode
Returns
Number of ranges or negative in case of an error
MC3D_EXPORT bool __cdecl MC3D_ShortArrayToByteArray ( short *  pnData,
bool *  pbValid,
unsigned char *  pbyData,
short  nSizeX,
short  nSizeY,
short  nMinimum,
short  nMaximum,
unsigned char  byInvalidValue = 0 
)

Scale short array to byte array based on given minimum and maximum Invalid values are becoming byInvalidValue (default 0), valid based on scale are between 1 and 255.

Parameters
pnDataInput data array
pbValidInput valid array
pbyDataOutput data array
nSizeXSize in X
nSizeYSize in Y
nMinimumMinimum used for scaling
nMaximumMaximum used for scaling
byInvalidValueValue for invalid points
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_ShortArrayToByteArrayRel ( short *  pnData,
bool *  pbValid,
unsigned char *  pbyData,
short  nSizeX,
short  nSizeY,
int &  nFactor,
int &  nOfs,
unsigned char  byInvalidValue = 0 
)

Scale short array to byte array.

Invalid values are becoming byInvalidValue (default 0), valid based on scale are between 1 and 255

Parameters
pnDataInput data array
pbValidInput valid array
pbyDataOutput data array
nSizeXSize in X
nSizeYSize in Y
nFactorScaling factor used for scaling
nOfsOffset used for scaling
byInvalidValueValue for invalid points
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_ShrinkDataArrayByte ( unsigned char *  pbyOut,
unsigned char *  pbyIn,
bool *  pbValidOut,
bool *  pbValidIn,
short  nSizeX,
short  nSizeY,
short  nShrinkFactor 
)

Shrinks a byte array by an given factor.

Parameters
pbyOutOutput data array
pbyInInput data array
pbValidOutOutput valid array
pbValidInInput valid array
nSizeXSize in X
nSizeYSize in Y
nShrinkFactorShrink factor
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_ShrinkDataArrayShort ( short *  pnOut,
short *  pnIn,
bool *  pbValidOut,
bool *  pbValidIn,
short  nSizeX,
short  nSizeY,
short  nShrinkFactor 
)

Shrinks a short array by an given factor.

Parameters
pnOutOutput data array
pnInInput data array
pbValidOutOutput valid array
pbValidInInput valid array
nSizeXSize in X
nSizeYSize in Y
nShrinkFactorShrink factor
Returns
Success (true) or failure