2#include "../Headers/DXFWriter.h"
3#include <NDEVR/IOFactory.h>
4#include <NDEVR/FactoryFeatures.h>
5#include <NDEVR/DesignObject.h>
6#include <NDEVR/Material.h>
7#include <NDEVR/Project.h>
8#include <NDEVR/VertexColorIterator.h>
9#include <NDEVR/Model.h>
10#include <NDEVR/Geometry.h>
11#include <NDEVR/ImageFactory.h>
12#include <NDEVR/DesignObjectLookup.h>
14#include <NDEVR/Exception.h>
15#include <NDEVR/Pointer.h>
16#include <NDEVR/JSONNode.h>
17#include <NDEVR/FileFormat.h>
18#include <NDEVR/ACIColor.h>
19#include <NDEVR/MatrixFunctions.h>
uint04 shapes_written
Number of shapes written so far.
Matrix< fltp08 > transform
The accumulated transformation matrix.
DXFEntityCodes default_mesh_output
Default entity type for mesh output.
Model model
The current Model being written.
void writeAsPolyline()
Writes the current geometry as DXF polyline entities.
Matrix< fltp08 > model_transform
The model-level transformation matrix.
Geometry geometry
The current Geometry being written.
Material material
The current Material being written.
void writeAsLines()
Writes the current geometry as DXF line entities.
void writeAsMesh()
Writes the current geometry as a DXF MESH entity.
String layer_name
The DXF layer name for the current entity.
FactoryParameters & params
The factory parameters for the current export operation.
CADColorInfo model_color_info
Color information for the current model.
void writeAs3DFace()
Writes the current geometry as DXF 3DFACE entities.
uint04 num_of_shapes
Total number of shapes to write.
void fillOutData(EntityData &data)
Fills out common entity data fields from the current state.
void writeAsPointData()
Writes the current geometry as DXF point entities.
void writeAsTriangleLines()
Writes triangle geometry as line segments.
Vertex< 3, fltp08 > & CleanupDXFVertex(Vertex< 3, fltp08 > &vert)
Cleans up a vertex for DXF output, clamping near-zero values.
void onShapeWritten()
Called after each shape is written to update progress.
CADGeometryWriter(DXFWriter &writer, FactoryParameters ¶ms)
Constructs a geometry writer with the given DXF writer and parameters.
void setup(const Model &m, const Geometry &geo)
Sets up the writer for a specific model and geometry pair.
uint04 parent_handle
The handle of the parent entity.
void writeGeometry()
Writes the current geometry using the most appropriate DXF entity type.
DXFWriter & writer
The DXF writer used for output.
bool has_solid_color
Whether the geometry has a single solid color.
Handles writing data to a CAD entity stream.
A core class within the model hierarchy containing vertex-based data (Usually 3D data) within a set c...
Container responsible for storing and setting the appearance of a Model or Geometry within the NDEVR ...
Templated logic for doing matrix multiplication.
A core class that represents a node on model hierarchy.
The core String class for the NDEVR API.
A point in N-dimensional space, used primarily for spatial location information.
The primary namespace for the NDEVR SDK.
DXFEntityCodes
Types of CAD entities natively supported by the NDEVR API.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Stores color information for interfacing with CAD.
An entity in CAD which has a layer and other handle information.
A container of input information that is to be filled with output information by an IOFactory.