33#include <NDEVR/IOFactory.h>
34#include <NDEVR/FileFormat.h>
35#include <NDEVR/BaseValues.h>
36#include <NDEVR/Buffer.h>
A specification of upper and lower bounds in N-dimensions.
The equivelent of std::vector but with a bit more control.
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
A core class where all Design Objects including models, materials, and geometries are stored.
Allows IOFactories to report what features they support to make the import/export dialogs easier to s...
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
IOFactory(const StringView &factory_name)
Constructs an IOFactory with the given factory name.
A core class that represents a node on model hierarchy.
Buffer< UUID > filterModelsToExport(Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const FileFormat &export_format) const override
Filters a set of model UUIDs to only those exportable in the given format.
static void OutputForSlicerDicer(const SlicerOutputOptions &setup, const RockworksSolidModInfo &info)
Exports block-model data in a format compatible with the Slicer/Dicer application.
RockWorksFactory()
Constructs a RockWorksFactory and registers supported file formats.
static void UpdateModel(Model &model, const RockworksSolidModInfo &info)
Updates a Model with geometry and data from a RockWorks solid model.
FactoryFeatures factoryFeatures(const FactoryParameters &file, bool is_import) const override
Returns the factory feature flags for the given file and import/export context.
static RockworksSolidModInfo ReadSolidModFile(File file)
Reads a RockWorks solid model (.mod) file and returns its cell and value data.
static void WriteGenerateSolidScript(const RockWorksSetup &setup)
Writes a RockWorks RCL script that generates a solid model from the given setup parameters.
bool readFile(FactoryParameters &file) override
Reads a file using the RockWorks format and populates the factory parameters.
void getSupportedFormats(Buffer< FileFormat > &formats, bool is_read) override
Populates the buffer with file formats supported by this factory.
bool writeFile(FactoryParameters &file) override
Writes data to a file in the RockWorks format.
The core String class for the NDEVR API.
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
double fltp08
Defines an alias representing an 8 byte floating-point number.
A container of input information that is to be filled with output information by an IOFactory.
Setup parameters for RockWorks solid model generation.
RockWorksSetup()
Default constructor. All file paths are empty and densities are invalid.
SolidAlgorithm soliding_algorithm
The interpolation algorithm to use when generating the solid model.
SolidAlgorithm
Enumerates the solid interpolation algorithms available in RockWorks.
@ e_anisotrophic
Anisotropic kriging interpolation.
@ e_closest_point
Nearest-neighbour (closest point) interpolation.
@ e_isotrophic
Isotropic kriging interpolation.
@ e_distance_to_point
Inverse-distance-to-point weighting.
bool close_when_finished
Whether to close the RockWorks application after completion.
uint04 vertical_density
Vertical node density for the solid grid. Invalid means unset.
File import_file
Path to the input data file to import.
File rcl_file
Path to the RockWorks RCL (command list) script file.
File rockwell_project_folder
Path to the RockWorks project folder.
File slicer_out
Path to the Slicer/Dicer output file.
File mod_file
Path to the output .mod (solid model) file.
bool show_statistics
Whether to display statistics after solid generation.
uint04 horizontal_density
Horizontal node density for the solid grid. Invalid means unset.
Stores cell and value information for a RockWorks solid (.mod) block model.
ConstPointer< Unit > unit
Unit of measurement for the cell values.
fltp08 multiplier
Scale multiplier applied to all cell values.
File file
Path to the solid model file.
Vector< 3, uint04 > cell_count
Number of cells along each axis (X, Y, Z).
Buffer< fltp08 > values
Flat buffer of per-cell scalar values.
Vector< 3, fltp08 > cell_size
Size of each cell in the X, Y, and Z directions.
Bounds< 3, fltp08 > bounds
Three-dimensional spatial extents of the block model.
Output options for the Slicer/Dicer export operation.
File gm_file
Path to the input grid-model (.gm) file.
bool ascii
Whether to write the output in ASCII format (true) or binary (false).
File out_file
Path to the destination output file.