OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKXSBase
Interface


Interface_FloatWriter Class Reference

This class converts a floting number (Real) to a string
It can be used if the standard C-C++ output functions
(sprintf or cout<<) are not convenient. That is to say :
- to suppress trailing '0' and 'E+00' (if desired)
- to control exponant output and floating point output

Formats are given in the form used by printf-sprintf
.

#include <Interface_FloatWriter.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT Interface_FloatWriter (const Standard_Integer chars=0)
 Creates a FloatWriter ready to work, with default options -
- zero suppress option is set
- main format is set to "%E"
- secondary format is set to "%f" for values between 0.1 and
1000. in absolute values
If <chars> is given (and positive), it will produce options
to produce this count of characters : "%<chars>f","%<chars>%E"
.
Standard_EXPORT void SetFormat (const Standard_CString form, const Standard_Boolean reset=Standard_True)
 Sets a specific Format for Sending Reals (main format)
(Default from Creation is "%E")
If <reset> is given True (default), this call clears effects
of former calls to SetFormatForRange and SetZeroSuppress
.
Standard_EXPORT void SetFormatForRange (const Standard_CString form, const Standard_Real R1, const Standard_Real R2)
 Sets a secondary Format for Real, to be applied between R1 and
R2 (in absolute values). A Call to SetRealForm cancels this
secondary form if <reset> is True.
(Default from Creation is "%f" between 0.1 and 1000.)
Warning : if the condition (0. <= R1 < R2) is not fulfilled, this
secondary form is canceled.
.
Standard_EXPORT void SetZeroSuppress (const Standard_Boolean mode)
 Sets Sending Real Parameters to suppress trailing Zeros and
Null Exponant ("E+00"), if <mode> is given True, Resets this
mode if <mode> is False (in addition to Real Forms)
A call to SetRealFrom resets this mode to False ig <reset> is
given True (Default from Creation is True)
.
Standard_EXPORT void SetDefaults (const Standard_Integer chars=0)
 Sets again options to the defaults given by Create
.
Standard_EXPORT void Options (Standard_Boolean &zerosup, Standard_Boolean &range, Standard_Real &R1, Standard_Real &R2) const
 Returns active options : <zerosup> is the option ZeroSuppress,
<range> is True if a range is set, False else
R1,R2 give the range (if it is set)
.
Standard_EXPORT Standard_CString MainFormat () const
 Returns the main format
was C++ : return const
.
Standard_EXPORT Standard_CString FormatForRange () const
 Returns the format for range, if set
Meaningful only if <range> from Options is True
was C++ : return const
.
Standard_EXPORT Standard_Integer Write (const Standard_Real val, const Standard_CString text) const
 Writes a Real value <val> to a string <text> by using the
options. Returns the useful Length of produced string.
It calls the class method Convert.
Warning : <text> is assumed to be wide enough (20-30 is correct)
And, even if declared in, its content will be modified
.

Static Public Member Functions

static Standard_EXPORT Standard_Integer Convert (const Standard_Real val, const Standard_CString text, const Standard_Boolean zerosup, const Standard_Real Range1, const Standard_Real Range2, const Standard_CString mainform, const Standard_CString rangeform)
 This class method converts a Real Value to a string, given
options given as arguments. It can be called independantly.
Warning : even if declared in, content of <text> will be modified
.

Private Attributes

Standard_Character themainform [12]
Standard_Real therange1
Standard_Real therange2
Standard_Character therangeform [12]
Standard_Boolean thezerosup


Constructor & Destructor Documentation

Standard_EXPORT Interface_FloatWriter::Interface_FloatWriter const Standard_Integer  chars = 0  ) 
 


Member Function Documentation

static Standard_EXPORT Standard_Integer Interface_FloatWriter::Convert const Standard_Real  val,
const Standard_CString  text,
const Standard_Boolean  zerosup,
const Standard_Real  Range1,
const Standard_Real  Range2,
const Standard_CString  mainform,
const Standard_CString  rangeform
[static]
 

Standard_EXPORT Standard_CString Interface_FloatWriter::FormatForRange  )  const
 

Standard_EXPORT Standard_CString Interface_FloatWriter::MainFormat  )  const
 

void Interface_FloatWriter::operator delete void *  anAddress  )  [inline]
 

void* Interface_FloatWriter::operator new size_t  size  )  [inline]
 

void* Interface_FloatWriter::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void Interface_FloatWriter::Options Standard_Boolean &  zerosup,
Standard_Boolean &  range,
Standard_Real &  R1,
Standard_Real &  R2
const
 

Standard_EXPORT void Interface_FloatWriter::SetDefaults const Standard_Integer  chars = 0  ) 
 

Standard_EXPORT void Interface_FloatWriter::SetFormat const Standard_CString  form,
const Standard_Boolean  reset = Standard_True
 

Standard_EXPORT void Interface_FloatWriter::SetFormatForRange const Standard_CString  form,
const Standard_Real  R1,
const Standard_Real  R2
 

Standard_EXPORT void Interface_FloatWriter::SetZeroSuppress const Standard_Boolean  mode  ) 
 

Standard_EXPORT Standard_Integer Interface_FloatWriter::Write const Standard_Real  val,
const Standard_CString  text
const
 


Field Documentation

Standard_Character Interface_FloatWriter::themainform[12] [private]
 

Standard_Real Interface_FloatWriter::therange1 [private]
 

Standard_Real Interface_FloatWriter::therange2 [private]
 

Standard_Character Interface_FloatWriter::therangeform[12] [private]
 

Standard_Boolean Interface_FloatWriter::thezerosup [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:41:34 2008 for OpenCASCADE by  doxygen 1.4.1