Synopsis
PDX_MSGT igeo_AllocateApprox(long option, long init_size, long inc_size)
Purpose
Allocate the IGES linear approximation workspace
Description
Allocates the IGES approximation workspace data used to perform and manage linear approximation of IGES entities. Use igeo_FreeApprox to free the current allocated workspace or igeo_FreeAllApprox to free all the allocated workspaces. By default, if igeo_AllocateApprox is called again before igeo_FreeApprox is called, the current workspace is freed and then reallocated to the specified size. If the option IGEO_NEWAPPROX is specified, the current workspace is saved (this includes all approximation option settings) and a new workspace is allocated. When the last workspace allocated is freed, any previous workspace is restored as the current workspace. For each init_size word 3 doubles and 1 long are allocated(28 bytes). For example, an init_size value of 1000 would allocate 3000 doubles and 1000 longs initially. If the initial space is used up and more is needed, inc_size increases the size by at least 3 doubles and 1 long for each inc_size word, but may increase the size by more depending on what is being approximated at the time. If init_size and/or inc_size are less than zero(0) (-1 for example) the previous values set in igeo_AllocateApprox are used to reallocate the workspace. If init_size and/or inc_size are less than zero(0) the first time igeo_AllocateApprox is used, default values are used for init_size (5000) and inc_size (2500). If inc_size is zero(0), then once the init_size workspace is used an error is returned which indicates that no reallocation took place(GDX_NOREALLOC).
Input
option
IGEO_NEWAPPROX
Create a new workspace
init_size
The initial approximation workspace size
inc_size
The amount to increment the workspace size if the current workspace runs out or zero for no reallocation.
Return
IGEO_NOERR
IGEO_NOMEMORY
Low level error return.
.fi