NDEVR
API Documentation
ManagedDesignCommand

A DesignCommand subclass that dispatches common design operations based on a ManagedCommandType enum value and serialized string parameters. More...

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

Public Member Functions

 ManagedDesignCommand ()
 Default constructor.
virtual bool addTarget (UUID target_id) override
 Adds a target object UUID to this command.
bool canCombineWith (const DynamicPointer< DesignCommand > &command) override
 Checks whether this command can be combined with another into a single operation.
bool canGroupWith (const DynamicPointer< DesignCommand > &command) override
 Checks whether this command can be grouped with another for batch execution.
void combineWith (const DynamicPointer< DesignCommand > &command) override
 Combines this command with another compatible command, merging their operations.
void deleteEnclosedSelection (DesignObjectLookup *lookup)
 Deletes geometry within an enclosed selection region from the given lookup.
void execute (DesignObjectLookup *lookup) override
 Executes this managed command against the given DesignObjectLookup.
bool hasUndo (const UUID &uuid) const
 Checks whether undo parameters exist for a given target object.
virtual StringView icon () const override
 Gets the icon identifier for this command based on its command_type.
bool isAsyncExecution () const override
 Whether this command should be executed asynchronously.
virtual TranslatedString name () const override
 Gets the human-readable translated name of this command based on its command_type.
const Buffer< String > & params () const
 Gets the command parameters.
void removeUndo (const UUID &uuid)
 Removes the stored undo parameters for a specific target object.
void setParams (const Buffer< String > &params)
 Sets the command parameters from a buffer of strings.
void setParams (const String &params)
 Sets the command parameters by splitting a pipe-delimited string.
template<class t_arg_type>
void setUndoParams (const UUID &uuid, const t_arg_type &params)
 Stores a single undo parameter for a specific target object.
template<class t_arg_type_a, class t_arg_type_b>
void setUndoParams (const UUID &uuid, const t_arg_type_a &param_a, const t_arg_type_b &param_b)
 Stores two undo parameters for a specific target object.
template<class t_arg_type_a, class t_arg_type_b, class t_arg_type_c>
void setUndoParams (const UUID &uuid, const t_arg_type_a &param_a, const t_arg_type_b &param_b, const t_arg_type_c &param_c)
 Stores three undo parameters for a specific target object.
String toString () const
 Produces a human-readable string representation of this command including its targets and parameters.
Dictionary< UUID, Buffer< String > > undoParams ()
 Gets a copy of the entire undo parameter dictionary.
const Dictionary< UUID, Buffer< String > > & undoParams () const
 Gets the entire undo parameter dictionary (const).
const Buffer< String > & undoParams (const UUID &uuid) const
 Gets the undo parameters stored for a specific target object.
Public Member Functions inherited from DesignCommand
 DesignCommand ()
 Default constructor.
 DesignCommand (const DesignCommand &command)=default
 Default copy constructor.
virtual ~DesignCommand ()
 Virtual destructor.
void setUndoRedoID (UUID undo_redo_group)
 Sets the undo-redo group identifier for this command.
UUID undoRedoID () const
 Gets the undo-redo group identifier for this command.

Static Public Member Functions

static DynamicPointer< ManagedDesignCommandAddActiveFilters (const String &filters)
 Creates a command to append additional filters to the active filter set.
static DynamicPointer< ManagedDesignCommandAutoRegister (const String &filters, const UUID &reference)
 Creates a command to automatically register objects using a filter and reference.
static DynamicPointer< ManagedDesignCommandCalculateTangents (bool calc_tangent, bool calc_bitangent)
 Creates a command to compute tangent and/or bitangent vectors for target geometry.
static DynamicPointer< ManagedDesignCommandCalibrateScan (Angle< fltp08 > angle, bool calibrate_yaw, InterpolationValues value=InterpolationValues::e_linear)
 Creates a command to calibrate scan data with an explicit angle and yaw correction.
static DynamicPointer< ManagedDesignCommandCalibrateScan (bool calibrate_yaw, InterpolationValues value=InterpolationValues::e_linear)
 Creates a command to calibrate scan data with optional yaw correction.
static DynamicPointer< ManagedDesignCommandCenterAlign ()
 Creates a command to center-align the target objects at the origin.
static DynamicPointer< ManagedDesignCommandClearAll ()
 Creates a command to clear all design objects from the lookup.
static DynamicPointer< ManagedDesignCommandColorByChannel (String vertex_channel)
 Creates a command to colorize geometry vertices based on a named data channel.
static DynamicPointer< ManagedDesignCommandCreateGeometry (const StringView &name=StringView())
 Creates a command to create a new geometry object.
static DynamicPointer< ManagedDesignCommandCreateMaterial (const StringView &name=StringView())
 Creates a command to create a new material object.
static DynamicPointer< ManagedDesignCommandDelete ()
 Creates a command to delete target design objects.
static DynamicPointer< ManagedDesignCommandDeleteEnclosedArea ()
 Creates a command to delete geometry enclosed within a selection area.
static DynamicPointer< ManagedDesignCommandExplode ()
 Creates a command to explode grouped objects into individual children.
static DynamicPointer< ManagedDesignCommandFillHolesByNeighbor ()
 Creates a command to fill mesh holes by extrapolating from neighboring geometry.
static DynamicPointer< ManagedDesignCommandFlipNormals ()
 Creates a command to flip (reverse) the normals on target geometry.
static DynamicPointer< ManagedDesignCommandGroup (const String &model_name=String())
 Creates a command to group the target objects under a new parent model.
static DynamicPointer< ManagedDesignCommandMakeClosedSolid (bool is_closed_solid)
 Creates a command to mark geometry as a closed solid or open surface.
static DynamicPointer< ManagedDesignCommandPlaceObject (const Matrix< fltp08 > &transform)
 Creates a command to place an object using the given transformation matrix.
static DynamicPointer< ManagedDesignCommandRemoveActiveFilter (const uint04 &index)
 Creates a command to remove an active filter by its index.
static DynamicPointer< ManagedDesignCommandRemoveDuplicateVertices ()
 Creates a command to remove duplicate vertices from the target geometry.
static DynamicPointer< ManagedDesignCommandRemoveSmoothingCommand ()
 Creates a command to remove any applied smoothing from the target geometry.
static DynamicPointer< ManagedDesignCommandScaleObject (const fltp08 &scale)
 Creates a command to uniformly scale an object by a single factor.
static DynamicPointer< ManagedDesignCommandScaleObject (const fltp08 &scale, const Vector< 3, fltp08 > &scale_center)
 Creates a command to uniformly scale an object about a specified center point.
static DynamicPointer< ManagedDesignCommandScaleObject (const Vector< 3, fltp08 > &scale)
 Creates a command to scale an object by per-axis scale factors.
static DynamicPointer< ManagedDesignCommandScaleObject (const Vector< 3, fltp08 > &scale, const Vector< 3, fltp08 > &scale_center)
 Creates a command to scale an object by per-axis factors about a specified center point.
static DynamicPointer< ManagedDesignCommandSelectObjects (bool add_to_selection)
 Creates a non-undoable command to select target objects in the design.
static DynamicPointer< ManagedDesignCommandSendInfo (const String &info)
 Creates a command to append data or informational content to the target.
template<class t_type>
static DynamicPointer< ManagedDesignCommandset (NDPG geo_property, const t_type &value)
 Creates a command to set a geometry property to the given value.
template<class t_type>
static DynamicPointer< ManagedDesignCommandset (NDPN mod_property, const t_type &value)
 Creates a command to set a model property to the given value.
static DynamicPointer< ManagedDesignCommandSetActiveFilters (const String &filters)
 Creates a command to replace the active filter set on target objects.
template<class t_type>
static DynamicPointer< ManagedDesignCommandSetMaterialProperty (NDPM mat_property, const t_type &value)
 Creates a command to set a material property to the given value.
static DynamicPointer< ManagedDesignCommandSetMetadata (const String &label, const String &value)
 Creates a command to set a metadata key-value pair on target objects.
static DynamicPointer< ManagedDesignCommandSetModelMaterialMode (Model::MaterialMode mode)
 Creates a command to set the material mode on a model.
static DynamicPointer< ManagedDesignCommandSetNormalMode (NormalMode mode)
 Creates a command to set the normal computation mode on target geometry.
static DynamicPointer< ManagedDesignCommandSetNormalMode (NormalMode mode, Angle< fltp08 > smooth_angle)
 Creates a command to set the normal mode with a smooth angle threshold.
template<class t_type>
static DynamicPointer< ManagedDesignCommandSetProperty (NDPO design_property, const t_type &value)
 Creates a command to set a design-level property to the given value.
static DynamicPointer< ManagedDesignCommandSetRealThickness (fltp08 real_thickness)
 Creates a command to set the real-world thickness of a geometry.
static DynamicPointer< ManagedDesignCommandSetSize (const Vector< 3, fltp08 > &size)
 Creates a command to set the size of a design object.
static DynamicPointer< ManagedDesignCommandSetUVColor (const RGBColor &uv_color)
 Creates a command to set the UV color using the default UV type.
static DynamicPointer< ManagedDesignCommandSetUVColor (UVType uv_type, const RGBColor &uv_color)
 Creates a command to set the UV color for a specific UV type.
static DynamicPointer< ManagedDesignCommandSetUVImage (UVType uv_type, const String &uv_image)
 Creates a command to set the UV texture image for a specific UV type.
static DynamicPointer< ManagedDesignCommandSetUVIntensity (UVType uv_type, fltp08 uv_intensity)
 Creates a command to set the UV intensity for a specific UV type.
static DynamicPointer< ManagedDesignCommandSetUVMode (UVType uv_type, Material::UVMode uv_mode)
 Creates a command to set the UV mapping mode for a given UV type.
static DynamicPointer< ManagedDesignCommandSetUVPropertyChannel (UVType uv_type, String uv_channel)
 Creates a command to set the UV property channel for a specific UV type.
static DynamicPointer< ManagedDesignCommandSetWindingMode (WindingMode mode)
 Creates a command to set the polygon winding mode on target geometry.
static DynamicPointer< ManagedDesignCommandSliceIntoPolylines (const Matrix< fltp08 > &transform, const Vector< 3, fltp08 > &spacing)
 Creates a command to slice geometry into polylines along planes defined by a transform and spacing.
static DynamicPointer< ManagedDesignCommandSmoothCotangentCommand (uint04 number_of_iterations)
 Creates a cotangent-weighted smoothing command with the given iteration count.
static DynamicPointer< ManagedDesignCommandSmoothCotangentCommand (uint04 number_of_iterations, fltp08 shrink_rate, fltp08 grow_rate)
 Creates a cotangent-weighted smoothing command with shrink and grow rates for Taubin-style smoothing.
static DynamicPointer< ManagedDesignCommandSmoothLaplacianCommand (uint04 number_of_iterations)
 Creates a Laplacian smoothing command with the given iteration count.
static DynamicPointer< ManagedDesignCommandSmoothLaplacianCommand (uint04 number_of_iterations, fltp08 shrink_rate, fltp08 grow_rate)
 Creates a Laplacian smoothing command with shrink and grow rates for Taubin-style smoothing.
template<class t_type>
static DynamicPointer< ManagedDesignCommandUpdateVertex (VertexProperty property, uint04 vertex_id, const t_type &new_location)
 Creates a command to update a single vertex property value.
static DynamicPointer< ManagedDesignCommandValidateCommand ()
 Creates a command that validates the target design objects.

Public Attributes

ManagedCommandType command_type
 The type of managed operation this command represents.
Buffer< Stringm_command_params
 The serialized string parameters for this command.
Dictionary< UUID, Buffer< String > > m_undo_params
 Per-target undo parameters keyed by UUID, used to restore previous state.
Buffer< UUIDtargets
 The UUIDs of design objects this command will operate on.
Public Attributes inherited from DesignCommand
bool can_undo = true
 Whether this command supports being undone.
bool has_executed = false
 Whether this command has already been executed.
UUID id
 Unique identifier for this command instance.
bool is_undo = false
 Whether this command represents an undo operation.
LogPtr log
 Log pipe for reporting command progress and errors.
Time time = Constant<Time>::Invalid
 Timestamp of when the command was created or executed.
bool update_project_modified = true
 Whether executing this command should mark the project as modified.

Protected Member Functions

 ManagedDesignCommand (ManagedCommandType command)
 Constructs a managed command of the given type with no parameters.
 ManagedDesignCommand (ManagedCommandType command, const String &params)
 Constructs a managed command of the given type with pipe-delimited parameter string.
template<class t_arg_type>
 ManagedDesignCommand (ManagedCommandType command, const t_arg_type &param_a)
 Constructs a managed command with a single typed parameter.
template<class t_arg_type_a, class t_arg_type_b>
 ManagedDesignCommand (ManagedCommandType command, const t_arg_type_a &param_a, const t_arg_type_b &param_b)
 Constructs a managed command with two typed parameters, pipe-delimited.
template<class t_arg_type_a, class t_arg_type_b, class t_arg_type_c>
 ManagedDesignCommand (ManagedCommandType command, const t_arg_type_a &param_a, const t_arg_type_b &param_b, const t_arg_type_c &param_c)
 Constructs a managed command with three typed parameters, pipe-delimited.
template<class t_arg_type_a, class t_arg_type_b, class t_arg_type_c, class t_arg_type_d>
 ManagedDesignCommand (ManagedCommandType command, const t_arg_type_a &param_a, const t_arg_type_b &param_b, const t_arg_type_c &param_c, const t_arg_type_d &param_d)
 Constructs a managed command with four typed parameters, pipe-delimited.

Additional Inherited Members

Protected Attributes inherited from DesignCommand
UUID m_undo_redo_group
 The undo-redo group this command belongs to, for batch undo/redo.

Detailed Description

A DesignCommand subclass that dispatches common design operations based on a ManagedCommandType enum value and serialized string parameters.


ManagedDesignCommand encodes its operation type and arguments as pipe-delimited strings, allowing commands to be constructed via static factory methods, serialized for undo/redo, and executed polymorphically through the DesignCommand interface. Each target object is identified by UUID.

See also
DesignCommand, DesignCommandManager, DesignObjectLookup

Definition at line 84 of file ManagedDesignCommand.h.

Constructor & Destructor Documentation

◆ ManagedDesignCommand() [1/7]

◆ ManagedDesignCommand() [2/7]

ManagedDesignCommand::ManagedDesignCommand ( ManagedCommandType command)
explicitprotected

Constructs a managed command of the given type with no parameters.

Parameters
[in]commandThe type of managed command to create.

◆ ManagedDesignCommand() [3/7]

ManagedDesignCommand::ManagedDesignCommand ( ManagedCommandType command,
const String & params )
protected

Constructs a managed command of the given type with pipe-delimited parameter string.

Parameters
[in]commandThe type of managed command to create.
[in]paramsThe pipe-delimited parameter string.

References params().

◆ ManagedDesignCommand() [4/7]

template<class t_arg_type>
ManagedDesignCommand::ManagedDesignCommand ( ManagedCommandType command,
const t_arg_type & param_a )
inlineprotected

Constructs a managed command with a single typed parameter.

Parameters
[in]commandThe type of managed command to create.
[in]param_aThe parameter value, converted to String.

Definition at line 109 of file ManagedDesignCommand.h.

References command_type, and setParams().

◆ ManagedDesignCommand() [5/7]

template<class t_arg_type_a, class t_arg_type_b>
ManagedDesignCommand::ManagedDesignCommand ( ManagedCommandType command,
const t_arg_type_a & param_a,
const t_arg_type_b & param_b )
inlineprotected

Constructs a managed command with two typed parameters, pipe-delimited.

Parameters
[in]commandThe type of managed command to create.
[in]param_aThe first parameter value.
[in]param_bThe second parameter value.

Definition at line 121 of file ManagedDesignCommand.h.

References command_type, and setParams().

◆ ManagedDesignCommand() [6/7]

template<class t_arg_type_a, class t_arg_type_b, class t_arg_type_c>
ManagedDesignCommand::ManagedDesignCommand ( ManagedCommandType command,
const t_arg_type_a & param_a,
const t_arg_type_b & param_b,
const t_arg_type_c & param_c )
inlineprotected

Constructs a managed command with three typed parameters, pipe-delimited.

Parameters
[in]commandThe type of managed command to create.
[in]param_aThe first parameter value.
[in]param_bThe second parameter value.
[in]param_cThe third parameter value.

Definition at line 134 of file ManagedDesignCommand.h.

References command_type, and setParams().

◆ ManagedDesignCommand() [7/7]

template<class t_arg_type_a, class t_arg_type_b, class t_arg_type_c, class t_arg_type_d>
ManagedDesignCommand::ManagedDesignCommand ( ManagedCommandType command,
const t_arg_type_a & param_a,
const t_arg_type_b & param_b,
const t_arg_type_c & param_c,
const t_arg_type_d & param_d )
inlineprotected

Constructs a managed command with four typed parameters, pipe-delimited.

Parameters
[in]commandThe type of managed command to create.
[in]param_aThe first parameter value.
[in]param_bThe second parameter value.
[in]param_cThe third parameter value.
[in]param_dThe fourth parameter value.

Definition at line 148 of file ManagedDesignCommand.h.

References command_type, and setParams().

Member Function Documentation

◆ AddActiveFilters()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::AddActiveFilters ( const String & filters)
inlinestatic

Creates a command to append additional filters to the active filter set.

Parameters
[in]filtersThe filter specification string to add.
Returns
A DynamicPointer to the newly created command.

Definition at line 649 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ addTarget()

virtual bool ManagedDesignCommand::addTarget ( UUID target_id)
inlineoverridevirtual

Adds a target object UUID to this command.

Parameters
[in]target_idThe UUID of the design object to target.
Returns
Always returns true.

Reimplemented from DesignCommand.

Definition at line 823 of file ManagedDesignCommand.h.

References targets.

◆ AutoRegister()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::AutoRegister ( const String & filters,
const UUID & reference )
inlinestatic

Creates a command to automatically register objects using a filter and reference.

Parameters
[in]filtersThe filter specification string.
[in]referenceThe UUID of the reference object to register against.
Returns
A DynamicPointer to the newly created command. [note] The parameter order is swapped: reference is passed first internally, then filters.

Definition at line 660 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ CalculateTangents()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::CalculateTangents ( bool calc_tangent,
bool calc_bitangent )
inlinestatic

Creates a command to compute tangent and/or bitangent vectors for target geometry.

Parameters
[in]calc_tangentWhether to calculate tangent vectors.
[in]calc_bitangentWhether to calculate bitangent vectors.
Returns
A DynamicPointer to the newly created command.

Definition at line 710 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ CalibrateScan() [1/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::CalibrateScan ( Angle< fltp08 > angle,
bool calibrate_yaw,
InterpolationValues value = InterpolationValues::e_linear )
inlinestatic

Creates a command to calibrate scan data with an explicit angle and yaw correction.

Parameters
[in]angleThe calibration angle to apply.
[in]calibrate_yawWhether to calibrate yaw rotation.
[in]valueThe interpolation method to use for calibration.
Returns
A DynamicPointer to the newly created command.

Definition at line 700 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ CalibrateScan() [2/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::CalibrateScan ( bool calibrate_yaw,
InterpolationValues value = InterpolationValues::e_linear )
inlinestatic

Creates a command to calibrate scan data with optional yaw correction.

Parameters
[in]calibrate_yawWhether to calibrate yaw rotation.
[in]valueThe interpolation method to use for calibration.
Returns
A DynamicPointer to the newly created command.

Definition at line 689 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ canCombineWith()

bool ManagedDesignCommand::canCombineWith ( const DynamicPointer< DesignCommand > & command)
overridevirtual

Checks whether this command can be combined with another into a single operation.

Parameters
[in]commandThe other command to check combination compatibility with.
Returns
True if the commands can be combined.

Reimplemented from DesignCommand.

◆ canGroupWith()

bool ManagedDesignCommand::canGroupWith ( const DynamicPointer< DesignCommand > & command)
overridevirtual

Checks whether this command can be grouped with another for batch execution.

Parameters
[in]commandThe other command to check grouping compatibility with.
Returns
True if the commands can be grouped together.

Reimplemented from DesignCommand.

◆ CenterAlign()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::CenterAlign ( )
inlinestatic

Creates a command to center-align the target objects at the origin.

Returns
A DynamicPointer to the newly created command.

Definition at line 777 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

Referenced by DesignObjectOrientation::DesignObjectOrientation().

◆ ClearAll()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ClearAll ( )
inlinestatic

Creates a command to clear all design objects from the lookup.

Returns
A DynamicPointer to the newly created command.

Definition at line 769 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ ColorByChannel()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ColorByChannel ( String vertex_channel)
inlinestatic

Creates a command to colorize geometry vertices based on a named data channel.

Parameters
[in]vertex_channelThe name of the vertex data channel to use for coloring.
Returns
A DynamicPointer to the newly created command.

Definition at line 604 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ combineWith()

void ManagedDesignCommand::combineWith ( const DynamicPointer< DesignCommand > & command)
overridevirtual

Combines this command with another compatible command, merging their operations.

Parameters
[in]commandThe command to combine with this one.

Reimplemented from DesignCommand.

◆ CreateGeometry()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::CreateGeometry ( const StringView & name = StringView())
inlinestatic

Creates a command to create a new geometry object.

Parameters
[in]nameThe optional name for the new geometry.
Returns
A DynamicPointer to the newly created command.

Definition at line 362 of file ManagedDesignCommand.h.

References ManagedDesignCommand(), and name().

◆ CreateMaterial()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::CreateMaterial ( const StringView & name = StringView())
inlinestatic

Creates a command to create a new material object.

Parameters
[in]nameThe optional name for the new material.
Returns
A DynamicPointer to the newly created command.

Definition at line 380 of file ManagedDesignCommand.h.

References ManagedDesignCommand(), and name().

◆ Delete()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::Delete ( )
inlinestatic

Creates a command to delete target design objects.

Returns
A DynamicPointer to the newly created command.

Definition at line 353 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ DeleteEnclosedArea()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::DeleteEnclosedArea ( )
inlinestatic

Creates a command to delete geometry enclosed within a selection area.

Returns
A DynamicPointer to the newly created command.

Definition at line 511 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ deleteEnclosedSelection()

void ManagedDesignCommand::deleteEnclosedSelection ( DesignObjectLookup * lookup)

Deletes geometry within an enclosed selection region from the given lookup.

Parameters
[in]lookupThe design object registry containing the objects to modify.

◆ execute()

void ManagedDesignCommand::execute ( DesignObjectLookup * lookup)
overridevirtual

Executes this managed command against the given DesignObjectLookup.

Parameters
[in]lookupThe design object registry to modify.

Reimplemented from DesignCommand.

◆ Explode()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::Explode ( )
inlinestatic

Creates a command to explode grouped objects into individual children.

Returns
A DynamicPointer to the newly created command.

Definition at line 566 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ FillHolesByNeighbor()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::FillHolesByNeighbor ( )
inlinestatic

Creates a command to fill mesh holes by extrapolating from neighboring geometry.

Returns
A DynamicPointer to the newly created command.

Definition at line 558 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ FlipNormals()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::FlipNormals ( )
inlinestatic

Creates a command to flip (reverse) the normals on target geometry.

Returns
A DynamicPointer to the newly created command.

Definition at line 740 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ Group()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::Group ( const String & model_name = String())
inlinestatic

Creates a command to group the target objects under a new parent model.

Parameters
[in]model_nameThe optional name for the new parent group model.
Returns
A DynamicPointer to the newly created command.

Definition at line 575 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ hasUndo()

bool ManagedDesignCommand::hasUndo ( const UUID & uuid) const
inline

Checks whether undo parameters exist for a given target object.

Parameters
[in]uuidThe UUID of the target object to check.
Returns
True if undo parameters have been stored for this UUID.

Definition at line 252 of file ManagedDesignCommand.h.

References m_undo_params.

◆ icon()

virtual StringView ManagedDesignCommand::icon ( ) const
overridevirtual

Gets the icon identifier for this command based on its command_type.

Returns
A string view of the icon name.

Implements DesignCommand.

◆ isAsyncExecution()

bool ManagedDesignCommand::isAsyncExecution ( ) const
overridevirtual

Whether this command should be executed asynchronously.

Returns
True if execution should occur on an async thread.

Reimplemented from DesignCommand.

◆ MakeClosedSolid()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::MakeClosedSolid ( bool is_closed_solid)
inlinestatic

Creates a command to mark geometry as a closed solid or open surface.

Parameters
[in]is_closed_solidTrue to mark as a closed solid, false for an open surface.
Returns
A DynamicPointer to the newly created command.

Definition at line 622 of file ManagedDesignCommand.h.

References ManagedDesignCommand(), and is_closed_solid.

◆ name()

virtual TranslatedString ManagedDesignCommand::name ( ) const
overridevirtual

Gets the human-readable translated name of this command based on its command_type.

Returns
The translated display name.

Implements DesignCommand.

Referenced by CreateGeometry(), CreateMaterial(), and toString().

◆ params()

const Buffer< String > & ManagedDesignCommand::params ( ) const
inline

Gets the command parameters.

Returns
A const reference to the buffer of string parameters.

Definition at line 179 of file ManagedDesignCommand.h.

References m_command_params.

Referenced by ManagedDesignCommand(), setParams(), setParams(), setUndoParams(), and toString().

◆ PlaceObject()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::PlaceObject ( const Matrix< fltp08 > & transform)
inlinestatic

Creates a command to place an object using the given transformation matrix.

Parameters
[in]transformThe placement transformation matrix.
Returns
A DynamicPointer to the newly created command.

Definition at line 292 of file ManagedDesignCommand.h.

References ManagedDesignCommand(), and transform.

◆ RemoveActiveFilter()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::RemoveActiveFilter ( const uint04 & index)
inlinestatic

Creates a command to remove an active filter by its index.

Parameters
[in]indexThe index of the filter to remove.
Returns
A DynamicPointer to the newly created command.

Definition at line 669 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ RemoveDuplicateVertices()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::RemoveDuplicateVertices ( )
inlinestatic

Creates a command to remove duplicate vertices from the target geometry.

Returns
A DynamicPointer to the newly created command.

Definition at line 503 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ RemoveSmoothingCommand()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::RemoveSmoothingCommand ( )
inlinestatic

Creates a command to remove any applied smoothing from the target geometry.

Returns
A DynamicPointer to the newly created command.

Definition at line 495 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ removeUndo()

void ManagedDesignCommand::removeUndo ( const UUID & uuid)
inline

Removes the stored undo parameters for a specific target object.

Parameters
[in]uuidThe UUID of the target object whose undo parameters to remove.

Definition at line 282 of file ManagedDesignCommand.h.

References m_undo_params.

◆ ScaleObject() [1/4]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ScaleObject ( const fltp08 & scale)
inlinestatic

Creates a command to uniformly scale an object by a single factor.

Parameters
[in]scaleThe uniform scale factor applied to all three axes.
Returns
A DynamicPointer to the newly created command.

Definition at line 397 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ ScaleObject() [2/4]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ScaleObject ( const fltp08 & scale,
const Vector< 3, fltp08 > & scale_center )
inlinestatic

Creates a command to uniformly scale an object about a specified center point.

Parameters
[in]scaleThe uniform scale factor.
[in]scale_centerThe 3D point around which scaling occurs.
Returns
A DynamicPointer to the newly created command.

Definition at line 416 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ ScaleObject() [3/4]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ScaleObject ( const Vector< 3, fltp08 > & scale)
inlinestatic

Creates a command to scale an object by per-axis scale factors.

Parameters
[in]scaleThe 3D scale vector with per-axis factors.
Returns
A DynamicPointer to the newly created command.

Definition at line 406 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ ScaleObject() [4/4]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ScaleObject ( const Vector< 3, fltp08 > & scale,
const Vector< 3, fltp08 > & scale_center )
inlinestatic

Creates a command to scale an object by per-axis factors about a specified center point.

Parameters
[in]scaleThe 3D scale vector with per-axis factors.
[in]scale_centerThe 3D point around which scaling occurs.
Returns
A DynamicPointer to the newly created command.

Definition at line 426 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SelectObjects()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SelectObjects ( bool add_to_selection)
inlinestatic

Creates a non-undoable command to select target objects in the design.

Parameters
[in]add_to_selectionWhether to add to the current selection or replace it.
Returns
A DynamicPointer to the newly created command with undo and project-modified flags disabled.

Definition at line 729 of file ManagedDesignCommand.h.

References ManagedDesignCommand(), DesignCommand::can_undo, and DesignCommand::update_project_modified.

◆ SendInfo()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SendInfo ( const String & info)
inlinestatic

Creates a command to append data or informational content to the target.

Parameters
[in]infoThe data string to append.
Returns
A DynamicPointer to the newly created command. [note] The purpose of this method versus direct data modification is unclear; it may serve as a generic data-push mechanism.

Definition at line 751 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ set() [1/2]

template<class t_type>
DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::set ( NDPG geo_property,
const t_type & value )
inlinestatic

Creates a command to set a geometry property to the given value.

Parameters
[in]geo_propertyThe geometry property identifier to set.
[in]valueThe value to assign to the property.
Returns
A DynamicPointer to the newly created command.

Definition at line 303 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ set() [2/2]

template<class t_type>
DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::set ( NDPN mod_property,
const t_type & value )
inlinestatic

Creates a command to set a model property to the given value.

Parameters
[in]mod_propertyThe model property identifier to set.
[in]valueThe value to assign to the property.
Returns
A DynamicPointer to the newly created command.

Definition at line 325 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetActiveFilters()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetActiveFilters ( const String & filters)
inlinestatic

Creates a command to replace the active filter set on target objects.

Parameters
[in]filtersThe filter specification string.
Returns
A DynamicPointer to the newly created command.

Definition at line 640 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetMaterialProperty()

template<class t_type>
DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetMaterialProperty ( NDPM mat_property,
const t_type & value )
inlinestatic

Creates a command to set a material property to the given value.

Parameters
[in]mat_propertyThe material property identifier to set.
[in]valueThe value to assign to the property.
Returns
A DynamicPointer to the newly created command.

Definition at line 314 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetMetadata()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetMetadata ( const String & label,
const String & value )
inlinestatic

Creates a command to set a metadata key-value pair on target objects.

Parameters
[in]labelThe metadata key.
[in]valueThe metadata value.
Returns
A DynamicPointer to the newly created command.

Definition at line 761 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

Referenced by DesignObjectComboWidget::sendCommand(), and DesignObjectToggleWidget::sendCommand().

◆ SetModelMaterialMode()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetModelMaterialMode ( Model::MaterialMode mode)
inlinestatic

Creates a command to set the material mode on a model.

Parameters
[in]modeThe material mode to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 334 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetNormalMode() [1/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetNormalMode ( NormalMode mode)
inlinestatic

Creates a command to set the normal computation mode on target geometry.

Parameters
[in]modeThe normal mode to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 631 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetNormalMode() [2/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetNormalMode ( NormalMode mode,
Angle< fltp08 > smooth_angle )
inlinestatic

Creates a command to set the normal mode with a smooth angle threshold.

Parameters
[in]modeThe normal mode to apply.
[in]smooth_angleThe angle threshold for smooth shading.
Returns
A DynamicPointer to the newly created command.

Definition at line 679 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ setParams() [1/2]

void ManagedDesignCommand::setParams ( const Buffer< String > & params)
inline

Sets the command parameters from a buffer of strings.

Parameters
[in]paramsThe buffer of string parameters to store.

Definition at line 163 of file ManagedDesignCommand.h.

References m_command_params, and params().

Referenced by ManagedDesignCommand(), ManagedDesignCommand(), ManagedDesignCommand(), and ManagedDesignCommand().

◆ setParams() [2/2]

void ManagedDesignCommand::setParams ( const String & params)
inline

Sets the command parameters by splitting a pipe-delimited string.

Parameters
[in]paramsThe pipe-delimited parameter string to split and store.

Definition at line 171 of file ManagedDesignCommand.h.

References StringView::Convert(), m_command_params, and params().

◆ SetProperty()

template<class t_type>
DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetProperty ( NDPO design_property,
const t_type & value )
inlinestatic

Creates a command to set a design-level property to the given value.

Parameters
[in]design_propertyThe design property identifier to set.
[in]valueThe value to assign to the property.
Returns
A DynamicPointer to the newly created command.

Definition at line 345 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

Referenced by DesignObjectOrientation::orientationEditedSlot(), DesignObjectComboWidget::sendCommand(), and DesignObjectToggleWidget::sendCommand().

◆ SetRealThickness()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetRealThickness ( fltp08 real_thickness)
inlinestatic

Creates a command to set the real-world thickness of a geometry.

Parameters
[in]real_thicknessThe thickness value to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 435 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetSize()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetSize ( const Vector< 3, fltp08 > & size)
inlinestatic

Creates a command to set the size of a design object.

Parameters
[in]sizeThe 3D size vector to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 371 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ setUndoParams() [1/3]

template<class t_arg_type>
void ManagedDesignCommand::setUndoParams ( const UUID & uuid,
const t_arg_type & params )
inline

Stores a single undo parameter for a specific target object.

Parameters
[in]uuidThe UUID of the target object.
[in]paramsThe undo parameter value, converted to String.

Definition at line 220 of file ManagedDesignCommand.h.

References m_undo_params, and params().

◆ setUndoParams() [2/3]

template<class t_arg_type_a, class t_arg_type_b>
void ManagedDesignCommand::setUndoParams ( const UUID & uuid,
const t_arg_type_a & param_a,
const t_arg_type_b & param_b )
inline

Stores two undo parameters for a specific target object.

Parameters
[in]uuidThe UUID of the target object.
[in]param_aThe first undo parameter value.
[in]param_bThe second undo parameter value.

Definition at line 231 of file ManagedDesignCommand.h.

References m_undo_params.

◆ setUndoParams() [3/3]

template<class t_arg_type_a, class t_arg_type_b, class t_arg_type_c>
void ManagedDesignCommand::setUndoParams ( const UUID & uuid,
const t_arg_type_a & param_a,
const t_arg_type_b & param_b,
const t_arg_type_c & param_c )
inline

Stores three undo parameters for a specific target object.

Parameters
[in]uuidThe UUID of the target object.
[in]param_aThe first undo parameter value.
[in]param_bThe second undo parameter value.
[in]param_cThe third undo parameter value.

Definition at line 243 of file ManagedDesignCommand.h.

References m_undo_params.

◆ SetUVColor() [1/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetUVColor ( const RGBColor & uv_color)
inlinestatic

Creates a command to set the UV color using the default UV type.

Parameters
[in]uv_colorThe color to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 530 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetUVColor() [2/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetUVColor ( UVType uv_type,
const RGBColor & uv_color )
inlinestatic

Creates a command to set the UV color for a specific UV type.

Parameters
[in]uv_typeThe UV channel type to modify.
[in]uv_colorThe color to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 540 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetUVImage()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetUVImage ( UVType uv_type,
const String & uv_image )
inlinestatic

Creates a command to set the UV texture image for a specific UV type.

Parameters
[in]uv_typeThe UV channel type to modify.
[in]uv_imageThe image path or identifier to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 550 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetUVIntensity()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetUVIntensity ( UVType uv_type,
fltp08 uv_intensity )
inlinestatic

Creates a command to set the UV intensity for a specific UV type.

Parameters
[in]uv_typeThe UV channel type to modify.
[in]uv_intensityThe intensity value to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 585 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetUVMode()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetUVMode ( UVType uv_type,
Material::UVMode uv_mode )
inlinestatic

Creates a command to set the UV mapping mode for a given UV type.

Parameters
[in]uv_typeThe UV channel type to modify.
[in]uv_modeThe UV mapping mode to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 521 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetUVPropertyChannel()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetUVPropertyChannel ( UVType uv_type,
String uv_channel )
inlinestatic

Creates a command to set the UV property channel for a specific UV type.

Parameters
[in]uv_typeThe UV channel type to modify.
[in]uv_channelThe property channel name to bind.
Returns
A DynamicPointer to the newly created command.

Definition at line 595 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SetWindingMode()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SetWindingMode ( WindingMode mode)
inlinestatic

Creates a command to set the polygon winding mode on target geometry.

Parameters
[in]modeThe winding mode to apply.
Returns
A DynamicPointer to the newly created command.

Definition at line 613 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SliceIntoPolylines()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SliceIntoPolylines ( const Matrix< fltp08 > & transform,
const Vector< 3, fltp08 > & spacing )
inlinestatic

Creates a command to slice geometry into polylines along planes defined by a transform and spacing.

Parameters
[in]transformThe transformation matrix defining slice plane orientation and origin.
[in]spacingThe spacing between slice planes along each axis.
Returns
A DynamicPointer to the newly created command.

Definition at line 720 of file ManagedDesignCommand.h.

References ManagedDesignCommand(), and transform.

◆ SmoothCotangentCommand() [1/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SmoothCotangentCommand ( uint04 number_of_iterations)
inlinestatic

Creates a cotangent-weighted smoothing command with the given iteration count.

Parameters
[in]number_of_iterationsThe number of smoothing iterations to perform.
Returns
A DynamicPointer to the newly created command.

Definition at line 453 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SmoothCotangentCommand() [2/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SmoothCotangentCommand ( uint04 number_of_iterations,
fltp08 shrink_rate,
fltp08 grow_rate )
inlinestatic

Creates a cotangent-weighted smoothing command with shrink and grow rates for Taubin-style smoothing.

Parameters
[in]number_of_iterationsThe number of smoothing iterations to perform.
[in]shrink_rateThe shrink factor applied per iteration.
[in]grow_rateThe grow factor applied per iteration.
Returns
A DynamicPointer to the newly created command.

Definition at line 475 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SmoothLaplacianCommand() [1/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SmoothLaplacianCommand ( uint04 number_of_iterations)
inlinestatic

Creates a Laplacian smoothing command with the given iteration count.

Parameters
[in]number_of_iterationsThe number of smoothing iterations to perform.
Returns
A DynamicPointer to the newly created command.

Definition at line 444 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ SmoothLaplacianCommand() [2/2]

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::SmoothLaplacianCommand ( uint04 number_of_iterations,
fltp08 shrink_rate,
fltp08 grow_rate )
inlinestatic

Creates a Laplacian smoothing command with shrink and grow rates for Taubin-style smoothing.

Parameters
[in]number_of_iterationsThe number of smoothing iterations to perform.
[in]shrink_rateThe shrink factor applied per iteration.
[in]grow_rateThe grow factor applied per iteration.
Returns
A DynamicPointer to the newly created command.

Definition at line 464 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ toString()

String ManagedDesignCommand::toString ( ) const
inline

Produces a human-readable string representation of this command including its targets and parameters.

Format: "CommandName[uuid1,uuid2,...](param1|param2|...)"

Returns
A formatted String describing this command.

Definition at line 787 of file ManagedDesignCommand.h.

References TranslatedString::englishTranslation(), name(), params(), and targets.

◆ undoParams() [1/3]

Dictionary< UUID, Buffer< String > > ManagedDesignCommand::undoParams ( )
inline

Gets a copy of the entire undo parameter dictionary.

Returns
A copy of the dictionary mapping target UUIDs to their undo parameters.

Definition at line 210 of file ManagedDesignCommand.h.

References m_undo_params.

◆ undoParams() [2/3]

const Dictionary< UUID, Buffer< String > > & ManagedDesignCommand::undoParams ( ) const
inline

Gets the entire undo parameter dictionary (const).

Returns
A const reference to the dictionary mapping target UUIDs to their undo parameters.

Definition at line 202 of file ManagedDesignCommand.h.

References m_undo_params.

◆ undoParams() [3/3]

const Buffer< String > & ManagedDesignCommand::undoParams ( const UUID & uuid) const
inline

Gets the undo parameters stored for a specific target object.

Parameters
[in]uuidThe UUID of the target object whose undo parameters to retrieve.
Returns
A const reference to the undo parameter buffer, or an empty buffer if none exist.

Definition at line 188 of file ManagedDesignCommand.h.

References m_undo_params.

◆ UpdateVertex()

template<class t_type>
DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::UpdateVertex ( VertexProperty property,
uint04 vertex_id,
const t_type & new_location )
inlinestatic

Creates a command to update a single vertex property value.

Parameters
[in]propertyThe vertex property to modify.
[in]vertex_idThe index of the vertex to update.
[in]new_locationThe new value to assign to the vertex property.
Returns
A DynamicPointer to the newly created command.

Definition at line 487 of file ManagedDesignCommand.h.

References ManagedDesignCommand().

◆ ValidateCommand()

DynamicPointer< ManagedDesignCommand > ManagedDesignCommand::ValidateCommand ( )
inlinestatic

Creates a command that validates the target design objects.

Returns
A DynamicPointer to the newly created command.

Definition at line 388 of file ManagedDesignCommand.h.

References ManagedDesignCommand().


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