33#include <NDEVR/Model.h>
34#if NDEVR_CROSS_SECTION
38 struct ParameterSlicerArgs;
46 class NDEVR_DESIGN_API CrossSectionModel :
public Model
58 CrossSectionModel(
const Model& root);
64 void executeCrossSection(SlicerArgs& args);
70 void executeCrossSection(ParameterSlicerArgs& args);
88 void setCenterlineRange(
const Vector<2, fltp08>& range);
94 void setOrthogonalSpacing(
const Vector<3, fltp08>& spacing);
100 void setUseParallelVertical(
bool use);
106 void setUseParallelHorizontal(
bool use);
112 void setUseOrthogonal(
bool use);
118 void setUseVerticalOrthogonal(
bool use);
124 bool useParallelVertical()
const;
130 bool useParallelHorizontal()
const;
136 bool useOrthogonal()
const;
142 bool useVerticalOrthogonal()
const;
148 Vector<3, fltp08> spacing()
const;
154 Vector<2, fltp08> centerlineRange()
const;
160 static constexpr StringView TypeName() {
return "cross_section"; }
166 static constexpr StringView CrossSectionPath() {
return "cross_section_path"; }
172 static constexpr StringView ParallelVerticalUsageLabel() {
return "use_parallel_vertical"; }
178 static constexpr StringView ParallelHorizontalUsageLabel() {
return "use_parallel_horizontal"; }
184 static constexpr StringView OrthogonalUsageLabel() {
return "use_orthogonal"; }
190 static constexpr StringView VerticalOrthogonalUsageLabel() {
return "use_vertical_orthogonal"; }
201 void initCache(DesignObjectResourceCache& resource_cache);
207 void deInitCache(DesignObjectResourceCache& resource_cache);
A cache for reusing Model and Geometry objects to avoid repeated allocation.
JavaScript Object Notation or JSON is an open - standard file format that uses human - readable text ...
A core class that represents a node on model hierarchy.
The primary namespace for the NDEVR SDK.
Arguments for performing a Geometry slice operation.