Overview
The ROSE Math Library is called rosemath
, and is used
with the ST-Developer ROSE library.
It does not use any EXPRESS information model (STEP, IFC, CIS/2, DSTV,
etc) so it can be used in any ROSE program.
Getting Started
The rosemath.h master header brings in all of the
definitions from the rosemath library. The functions are
prefixed with "rose_
" while classes are prefixed with
"Rose
".
#include <rose.h> #include <rosemath.h> int main (int argc, char ** argv) { [ ... your code here ... ] return 0; }
Compiling and Linking
Add the following paths and link settings to your C++ project settings.
The rosemath library does not need any extra include paths.
All of the header files are in $(ROSE_INCLUDE)
, which
should already be in your settings. The only change you need to make
is to add rosemath to your link libraries. The examples below shows
what the libraries on your link line would look like for different
static and DLL link configurations. The f2c and dtnurbsc are support
math libraries that are only needed if you include any of the RoseMesh
definitions.
rosemath.lib rose.lib dtnurbsc.lib vcf2c.lib ==> Windows static rosemathdll.lib rosedll.lib ==> Windows DLL rosemathdlld.lib rosedlld.lib ==> Windows DLL debug -lrosemath -lrose -ldtnurbsc -lf2c ==> Unix (see below)
Updating Older Code
The STEP Faceter, IFC Faceter, and STEP helper function libraries now use mesh, transform, bounding box, and unit data types provided by the ROSE Math library. As a result, you may need to change some symbols when updating code that used the earlier definitions.