API Documentation
Loading...
Searching...
No Matches
FactoryOptions Class Reference

User-defined options that define preferences for importing and exporting using IOFactory objects. More...

#include <FactoryOptions.h>

Inheritance diagram for FactoryOptions:
[legend]
Collaboration diagram for FactoryOptions:
[legend]

Public Types

enum class  GeoReferenceProperties {
  e_data_geo_referenced , e_user_place_with_cursor , e_user_geo_reference_dialog , e_prompt_user_all ,
  e_prompt_user_no_existing_reference
}
 
enum class  ImportMergeProperties {
  e_duplicate , e_ignore_import , e_replace , e_remap_imported ,
  e_merge_and_replace_from_file , e_merge_and_ignore_from_file
}
 
enum class  IncludeProperties : uint01 {
  e_ignore = 0 , e_include_default_precision = 1 , e_include_high_precision = 2 , e_generate_default_precision = 3 ,
  e_generate_high_precision = 4 , e_not_supported
}
 
enum  NormalGenerationModel { e_flat , e_smooth }
 

Public Member Functions

 FactoryOptions ()
 
void finishReadingINI (INIFactory &factory) override
 
bool generateValue (GeometryType property) const
 
bool generateValue (VertexProperty property) const
 
virtual void getINI (INIFactory &factory) override
 
bool operator!= (const FactoryOptions &options) const
 
bool operator== (const FactoryOptions &options) const
 
void postProcess (Model &model, ProgressInfo *progress, const void *lock) const
 
void prepareForINI (INIFactory &factory) override
 
void setToDefaultUnits ()
 
void setupDefaultMaterial (GeometryType type, Material &mat) const
 
bool useHighPrecision (GeometryType property) const
 
bool useHighPrecision (VertexProperty property) const
 
bool useValue (GeometryType property) const
 
bool useValue (VertexProperty property) const
 
 ~FactoryOptions ()
 
- Public Member Functions inherited from INIInterface
 INIInterface (const File &default_ini)
 
virtual bool readINIOptions ()
 
virtual bool readINIOptions (File &ini_file)
 
virtual bool saveINIOptions (bool multithead=false)
 
virtual bool saveINIOptions (File &ini_file, bool multithead=false)
 
void setDefaultINIFile (const File &file)
 
virtual void writeToLog (const String &title, ProgressInfo *log, uint01 log_level=2U)
 
virtual void writeToLog (ProgressInfo *log, uint01 log_level=2U)
 
virtual ~INIInterface ()
 

Public Attributes

bool application_locked = false
 
AsciiOptions ascii
 
bool center_model = false
 
bool combine_mesh_instances = false
 
CompressionMode compression_mode = CompressionMode::e_default_compression
 
bool convert_degenerates = false
 
Dictionary< String, GenericOptionGroupcustom_options
 
RGBColor default_color
 
UUID default_coord_projection = Constant<UUID>::Invalid
 
fltp04 default_line_thickness = 1.0
 
fltp04 default_mesh_thickness = 1.0
 
fltp04 default_point_size = 20.0
 
ImportMergeProperties duplicate_name_behavior
 
ImportMergeProperties duplicate_uuid_behavior
 
Buffer< Stringexclusion_model_types
 
bool find_invalid_data = false
 
bool fix_inward_normals = false
 
bool flatten_model = false
 
bool flip_UV_coordinates = false
 
bool generate_trees = true
 
bool generate_UV_mappings = false
 
GeoReferenceProperties geo_reference_behavior
 
Vector< cast< uint01 >(GeometryType::e_geometry_type_size), IncludePropertiesgeometry_properties
 
String icon
 
bool ignore_invisible = false
 
bool is_auto_save = false
 
bool join_identical_vertices = false
 
bool multithread = true
 
String name
 
NormalGenerationModel normal_generation_mode = e_smooth
 
Angle< fltp08normal_smooth_angle = Angle<fltp08>(DEGREES, 30.0)
 
bool optimize_meshes = false
 
bool optimize_model_heirarchy = false
 
String owner_password
 
bool preserve_high_precision_values = false
 
Matrix< fltp08transform
 
bool tree_is_visible = true
 
bool triangulate = false
 
bool two_sided = false
 
UnitManager units
 
bool use_cameras = true
 
String user_password
 
bool validitate_geometry = false
 
Vector< cast< uint01 >(VertexProperty::Vertex_Property_Size), IncludePropertiesvector_properties
 
WindingMode wind_triangles = WindingMode::e_no_winding
 
bool wireframe = false
 

Static Public Attributes

static ApplicationOption< bool > DefaultExportOnlyVisible
 

Protected Member Functions

bool canPostProcessVertices () const
 

Additional Inherited Members

- Protected Attributes inherited from INIInterface
File m_default_ini
 

Detailed Description

User-defined options that define preferences for importing and exporting using IOFactory objects.


Member Enumeration Documentation

◆ GeoReferenceProperties

enum class GeoReferenceProperties
strong
Enumerator
e_data_geo_referenced 
e_user_place_with_cursor 
e_user_geo_reference_dialog 
e_prompt_user_all 
e_prompt_user_no_existing_reference 

◆ ImportMergeProperties

enum class ImportMergeProperties
strong
Enumerator
e_duplicate 
e_ignore_import 
e_replace 
e_remap_imported 
e_merge_and_replace_from_file 
e_merge_and_ignore_from_file 

◆ IncludeProperties

enum class IncludeProperties : uint01
strong
Enumerator
e_ignore 
e_include_default_precision 
e_include_high_precision 
e_generate_default_precision 
e_generate_high_precision 
e_not_supported 

◆ NormalGenerationModel

Enumerator
e_flat 
e_smooth 

Constructor & Destructor Documentation

◆ FactoryOptions()

◆ ~FactoryOptions()

Member Function Documentation

◆ canPostProcessVertices()

bool canPostProcessVertices ( ) const
protected

◆ finishReadingINI()

void finishReadingINI ( INIFactory & factory)
overridevirtual

Reimplemented from INIInterface.

◆ generateValue() [1/2]

bool generateValue ( GeometryType property) const

◆ generateValue() [2/2]

bool generateValue ( VertexProperty property) const
inline

◆ getINI()

virtual void getINI ( INIFactory & factory)
overridevirtual

Implements INIInterface.

◆ operator!=()

bool operator!= ( const FactoryOptions & options) const
inline

◆ operator==()

bool operator== ( const FactoryOptions & options) const

◆ postProcess()

void postProcess ( Model & model,
ProgressInfo * progress,
const void * lock ) const

◆ prepareForINI()

void prepareForINI ( INIFactory & factory)
overridevirtual

Reimplemented from INIInterface.

◆ setToDefaultUnits()

void setToDefaultUnits ( )

◆ setupDefaultMaterial()

void setupDefaultMaterial ( GeometryType type,
Material & mat ) const

◆ useHighPrecision() [1/2]

bool useHighPrecision ( GeometryType property) const

◆ useHighPrecision() [2/2]

bool useHighPrecision ( VertexProperty property) const

◆ useValue() [1/2]

bool useValue ( GeometryType property) const
inline

◆ useValue() [2/2]

bool useValue ( VertexProperty property) const
inline

Member Data Documentation

◆ application_locked

bool application_locked = false

◆ ascii

AsciiOptions ascii

◆ center_model

bool center_model = false

◆ combine_mesh_instances

bool combine_mesh_instances = false

◆ compression_mode

◆ convert_degenerates

bool convert_degenerates = false

◆ custom_options

◆ default_color

RGBColor default_color

◆ default_coord_projection

UUID default_coord_projection = Constant<UUID>::Invalid

◆ default_line_thickness

fltp04 default_line_thickness = 1.0

◆ default_mesh_thickness

fltp04 default_mesh_thickness = 1.0

◆ default_point_size

fltp04 default_point_size = 20.0

◆ DefaultExportOnlyVisible

ApplicationOption<bool> DefaultExportOnlyVisible
static

◆ duplicate_name_behavior

ImportMergeProperties duplicate_name_behavior

◆ duplicate_uuid_behavior

ImportMergeProperties duplicate_uuid_behavior

◆ exclusion_model_types

Buffer<String> exclusion_model_types
Initial value:
= {
"scanner"
, "bounding_box"
, "grips_model"
, "camera"
, "boretrak_model"
, "deployment_models"
, "calibration_ring"
, "text"
, "void_scanner"
, "cals_scanner"
, "qt_bounding_box"
, "station_decoration"
, "image_model"
}

◆ find_invalid_data

bool find_invalid_data = false

◆ fix_inward_normals

bool fix_inward_normals = false

◆ flatten_model

bool flatten_model = false

◆ flip_UV_coordinates

bool flip_UV_coordinates = false

◆ generate_trees

bool generate_trees = true

◆ generate_UV_mappings

bool generate_UV_mappings = false

◆ geo_reference_behavior

GeoReferenceProperties geo_reference_behavior

◆ geometry_properties

◆ icon

String icon

◆ ignore_invisible

bool ignore_invisible = false

◆ is_auto_save

bool is_auto_save = false

◆ join_identical_vertices

bool join_identical_vertices = false

◆ multithread

bool multithread = true

◆ name

String name

◆ normal_generation_mode

NormalGenerationModel normal_generation_mode = e_smooth

◆ normal_smooth_angle

Angle<fltp08> normal_smooth_angle = Angle<fltp08>(DEGREES, 30.0)

◆ optimize_meshes

bool optimize_meshes = false

◆ optimize_model_heirarchy

bool optimize_model_heirarchy = false

◆ owner_password

String owner_password

◆ preserve_high_precision_values

bool preserve_high_precision_values = false

◆ transform

Matrix<fltp08> transform

◆ tree_is_visible

bool tree_is_visible = true

◆ triangulate

bool triangulate = false

◆ two_sided

bool two_sided = false

◆ units

UnitManager units

◆ use_cameras

bool use_cameras = true

◆ user_password

String user_password

◆ validitate_geometry

bool validitate_geometry = false

◆ vector_properties

◆ wind_triangles

◆ wireframe

bool wireframe = false

The documentation for this class was generated from the following file: