NDEVR
API Documentation
FactoryFeatures.h
1/*--------------------------------------------------------------------------------------------
2Copyright (c) 2019, NDEVR LLC
3tyler.parke@ndevr.org
4 __ __ ____ _____ __ __ _______
5 | \ | | | __ \ | ___|\ \ / / | __ \
6 | \ | | | | \ \ | |___ \ \ / / | |__) |
7 | . \| | | |__/ / | |___ \ V / | _ /
8 | |\ |_|_____/__|_____|___\_/____| | \ \
9 |__| \__________________________________| \__\
10
11Subject to the terms of the Enterprise+ Agreement, NDEVR hereby grants
12Licensee a limited, non-exclusive, non-transferable, royalty-free license
13(without the right to sublicense) to use the API solely for the purpose of
14Licensee's internal development efforts to develop applications for which
15the API was provided.
16
17The above copyright notice and this permission notice shall be included in all
18copies or substantial portions of the Software.
19
20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
22PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
23FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25DEALINGS IN THE SOFTWARE.
26
27Library: IOFactory
28File: FactoryFeatures
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include "DLLInfo.h"
34#include <NDEVR/AsciiOptions.h>
35#include <NDEVR/Model.h>
36
37namespace NDEVR
38{
46 {
47 public:
56 {
57 false
58 , false
59 , false
60 , false
61 , false
62 , false
63 , false
64 , false
65 , false
66 , false
67 , false
68 , false
69 , false
70 , false
71 };
72 bool supports_point_size = false;
74 bool supports_toggle_lines = false;
75 bool supports_toggle_mesh = false;
85 bool supports_hierarchy = false;
86 bool has_degenerates = false;
87 bool supports_wireframe = false;
88 bool supports_units = true;
89 bool supports_advanced = true;
90 };
91}
Provides cross-platform DLL export/import macros for the IOFactory module.
#define NDEVR_FACTORY_API
GCC/Clang symbol visibility — marks symbols as visible in the shared library.
Definition DLLInfo.h:92
Storage class for all IO options related to an Ascii file output used by an IOFactory services that w...
Allows IOFactories to report what features they support to make the import/export dialogs easier to s...
bool supports_line_thickness
Whether the factory supports specifying line thickness for line geometry.
bool compression_supported[CompressionMode::e_compression_count]
Lookup table indicating which CompressionMode values are supported by the factory.
bool supports_user_password
Whether the file format supports a user-level password for read access.
bool supports_advanced
Whether the factory exposes advanced import/export options in the UI.
bool supports_point_size
Whether the factory supports specifying point size for point cloud data.
bool supports_triangle_winding
Whether the factory supports configuring triangle winding order.
bool supports_default_color
Whether a default color can be assigned to geometry lacking color data.
AsciiOptions ascii_options
Options controlling ASCII-specific import/export behavior.
bool supports_owner_password
Whether the file format supports an owner/admin password for access control.
bool supports_hierarchy
Whether the file format supports hierarchical model structure.
bool has_degenerates
Whether the format may contain degenerate geometry (e.g., zero-area triangles).
bool supports_wireframe
Whether the factory supports wireframe rendering mode during export.
bool supports_uv_generation
Whether the factory can generate UV texture coordinates during import.
bool supports_toggle_points
Whether point geometry can be toggled on or off during import/export.
bool supports_custom_orientation
Whether the factory supports applying a custom orientation transform.
bool supports_toggle_lines
Whether line geometry can be toggled on or off during import/export.
bool supports_units
Whether the factory supports unit specification (e.g., meters, feet).
bool supports_toggle_mesh
Whether mesh (surface) geometry can be toggled on or off during import/export.
bool supports_flatten_hierarchy
Whether the factory supports flattening a model hierarchy into a single level.
bool supports_normal_generation
Whether the factory can generate surface normals during import.
The primary namespace for the NDEVR SDK.
@ e_compression_count
Total number of compression modes; always last.
Definition Compressor.h:33