MIL_TEXT_PTR MemPtrOrFileName, | //in-out |
MIL_ID SystemId, | //in |
MIL_INT64 Operation, | //in |
MIL_INT64 StreamType, | //in |
MIL_DOUBLE Version, | //in |
MIL_INT64 ControlFlag, | //in |
MIL_ID *ContextOrResultIdPtr, | //in-out |
MIL_INT *SizeByteVarPtr | //out |
This function can load, restore, or save an Edge Finder context from/to a file or memory stream. Moreover, this function can save previously calculated edges (edge chains and/or edge approximations), stored in an Edge Finder result buffer, to a file or memory stream in a standard CAD DXF format. Edge chains and edge approximations are saved in the DXF file or memory stream in separate layers.
Note that you cannot load or restore any CAD DXF file or memory stream using this function.
To inquire the number of bytes necessary to save an Edge Finder context or calculated edges to memory stream, you should call this function (MedgeStream()) first with M_INQUIRE_SIZE_BYTE.
Note that the content saved to memory stream is equivalent to the content saved to file. In addition, any file saved with MedgeSave() is equivalent to a file saved using this function.
You can use this and other MIL stream functions, for example, to save all required MIL objects, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.
Using MedgeStream(), you can choose to save a backwards-compatible version of the Edge Finder context, which will work using a version of MIL that is up to one major release older than the current version (depending on which version is specified). For example, if you allocate a Edge Finder context using MIL 9.0 and save it to version 8.0, you can restore this context on a computer where MIL 8.0 is installed. However, all settings and features unique to the higher version will be ignored when restored using the lower version. Besides saving backwards-compatible versions, you can also load or restore Edge Finder contexts saved using MIL version 7.5 or above. Settings that do not exist in the lower version will be filled with default values when the Edge Finder context is loaded or restored.
Specifies the file or memory stream.
For the file or memory
stream
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies to ignore this parameter. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_INTERACTIVE |
[This is
only applicable to Windows]
Opens a dialog box from which you can interactively specify the drive, directory, and name of the file, when the StreamType parameter is set to M_FILE. |
||||||||||||||||||||||||||||||||||||||
MIL_TEXT("FileName") 1 |
Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. (more details...) |
||||||||||||||||||||||||||||||||||||||
MemPtr |
Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. (more details...) |
1 If you are passing the value in a variable, don't enclose it in MIL_TEXT().
Specifies the system on which to restore the Edge Finder context. For an M_RESTORE operation, this parameter should be set to one of the following values:
For a restore operation
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT_HOST |
Specifies the default Host system of the current MIL application. |
||||||||||||||||||||||||||||||||||||||
MIL system identifier |
Specifies a valid system identifier, previously allocated using MsysAlloc(). |
For M_INQUIRE_SIZE_BYTE, M_LOAD, and M_SAVE, this parameter must be set to the following value:
For a load or save operation, or when
inquiring the required number of bytes for a save
operation
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies that this parameter is not applicable. |
Specifies the operation to perform. This parameter must be set to one of the following values:
For specifying the operation to
perform
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_INQUIRE_SIZE_BYTE |
Inquires the number of bytes required to save an Edge Finder context or calculated edges to a memory stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_LOAD |
Loads the content of a specified file or memory stream into a previously allocated Edge Finder context. |
||||||||||||||||||||||||||||||||||||||
M_RESTORE |
Restores an Edge Finder context from a file or memory stream and assigns it an identifier. |
||||||||||||||||||||||||||||||||||||||
M_SAVE |
Saves an Edge Finder context to a specified file or memory stream, or saves calculated edges from an Edge Finder result buffer to a file or memory stream in the standard CAD DXF format. |
Specifies the type of stream in which to store/from which to restore the Edge Finder context or calculated edges. This parameter must be set to one of the following values:
For the type of stream
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_FILE |
Specifies a file stream. |
||||||||||||||||||||||||||||||||||||||
M_MEMORY |
Specifies a memory stream. (more details...) |
Specifies the MIL version of the Edge Finder context. This parameter must be set to one of the following values.
For specifying the MIL
version
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default version. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_90 |
Sets the version to MIL 9.0. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_90_PP1 |
Sets the version to MIL 9.0 Processing Pack 1. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_90_PP2 |
Sets the version to MIL 9.0 Processing Pack 2. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_100 |
Sets the version to MIL 10.0. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_100_PP1 |
Sets the version to MIL 10.0 Processing Pack 1. (more details...) |
Specifies the function's control flag. For any operation on Edge Finder contexts, this parameter must be set to M_DEFAULT.
For calculated edges from an Edge Finder result buffer, this parameter stipulates whether to save edge chains and/or edge approximations to the CAD DXF file or memory stream. In this case, this parameter must be set to one or a combination (M_CHAIN + M_CHAIN_APPROXIMATION) of the following values:
For calculated edges from an Edge Finder
result buffer
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_CHAIN. |
||||||||||||||||||||||||||||||||||||||
M_CHAIN |
Specifies that edge chains will be saved. |
||||||||||||||||||||||||||||||||||||||
M_CHAIN_APPROXIMATION |
Specifies that edge approximations will be saved. |
Specifies the address of the variable in which to write or from which to read the identifier of the Edge Finder context or the Edge Finder result buffer.
For M_INQUIRE_SIZE_BYTE and M_SAVE operations, ContextOrResultIdPtr specifies the address of the variable from which to read the Edge Finder context identifier or Edge Finder result buffer identifier.
For an M_LOAD operation, ContextOrResultIdPtr specifies the address of the variable from which to read the identifier of the Edge Finder context where the file or memory stream content will be loaded.
For an M_RESTORE operation, ContextOrResultIdPtr specifies the address of the variable in which to return the identifier of the restored Edge Finder context. If the operation is not successful, M_NULL is returned.
Header | Include mil.h. |
Library | Use mil.lib; miledge.lib. |
DLL | Requires mil.dll; miledge.dll. |