Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::TextKey Class Reference

The TextKey class is a smart pointer to a database object. More...

#include <hps.h>

Inheritance diagram for HPS::TextKey:
Collaboration diagram for HPS::TextKey:

Public Member Functions

 TextKey ()
 The default constructor creates an uninitialized TextKey object. More...
 
 TextKey (Key const &in_that)
 This constructor creates an TextKey object that shares the underlying smart-pointer of the source Key. More...
 
 TextKey (TextKey const &in_that)
 The copy constructor creates a TextKey object that shares the underlying smart-pointer of the source TextKey. More...
 
TextKeyoperator= (TextKey const &other)
 Associate this TextKey with the same underlying impl as the source TextKey. More...
 
 TextKey (TextKey &&in_that)
 The move constructor creates a TextKey by transferring the underlying impl of the rvalue reference to this TextKey thereby avoiding a copy and allocation. More...
 
TextKeyoperator= (TextKey &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this TextKey thereby avoiding a copy. More...
 
 ~TextKey ()
 
HPS::Type ObjectType () const
 
void Consume (TextKit &in_kit)
 Completely replaces all settings on this TextKey with those set on the specified kit and resets the kit. More...
 
void Set (TextKit const &in_kit)
 Replace those settings on this TextKey with those set on the specified kit. More...
 
void Show (TextKit &out_kit) const
 Copy the contents of this TextKey into the specified kit. More...
 
TextKeySetTextAttribute (TextAttributeKit const &in_kit)
 Sets the text attributes designated by in_kit on this TextKey. More...
 
bool ShowTextAttribute (TextAttributeKit &out_kit) const
 Sets the text attributes designated by in_kit on this TextKey. More...
 
TextKeySetPosition (Point const &in_position)
 Repositions the text in object space. More...
 
TextKeySetText (char const *in_string)
 Replaces the contents of the string for the text. More...
 
TextKeySetColor (RGBAColor const &in_rgba_color)
 Sets the RGBA color of the text. More...
 
TextKeySetColorByIndex (float in_index)
 Sets the material index color for the text. More...
 
TextKeySetModellingMatrix (MatrixKit const &in_matrix)
 Sets the modelling matrix for the text. More...
 
TextKeySetAlignment (Text::Alignment in_alignment, Text::ReferenceFrame in_reference_frame=Text::ReferenceFrame::WorldAligned, Text::Justification in_justification=Text::Justification::Left)
 Sets the alignment for the text. More...
 
TextKeySetBold (bool in_state)
 Sets whether the text should be bold. More...
 
TextKeySetItalic (bool in_state)
 Sets whether the text should be italic. More...
 
TextKeySetOverline (bool in_state)
 Sets whether an overline should be drawn over the text. More...
 
TextKeySetStrikethrough (bool in_state)
 Sets whether a strikethrough should be drawn through the text. More...
 
TextKeySetUnderline (bool in_state)
 Sets whether an underline should be drawn under the text. More...
 
TextKeySetSlant (float in_angle)
 Sets the slant angle for the text. More...
 
TextKeySetLineSpacing (float in_multiplier)
 Sets the line spacing multiplier for the text. More...
 
TextKeySetRotation (Text::Rotation in_state, float in_angle=0.0f)
 Sets the angle characters should be rotated within the text string. More...
 
TextKeySetRotation (float in_angle)
 Sets the angle characters should be rotated within the text string. More...
 
TextKeySetExtraSpace (bool in_state, float in_size=0.0f, Text::SizeUnits in_units=Text::SizeUnits::ObjectSpace)
 Sets the amount of additional space to add between characters in a text string. More...
 
TextKeySetExtraSpace (float in_size, Text::SizeUnits in_units)
 Sets the amount of additional space to add between characters in a text string. More...
 
TextKeySetGreeking (bool in_state, float in_size=0.0f, Text::GreekingUnits in_units=Text::GreekingUnits::ObjectSpace, Text::GreekingMode in_mode=Text::GreekingMode::Lines)
 Sets the greeking settings to use for the text. More...
 
TextKeySetGreeking (float in_size, Text::GreekingUnits in_units, Text::GreekingMode in_mode=Text::GreekingMode::Lines)
 Sets the greeking settings to use for the text. More...
 
TextKeySetSizeTolerance (bool in_state, float in_size=50.0f, Text::SizeToleranceUnits in_units=Text::SizeToleranceUnits::Percent)
 Sets the size tolerance settings to use for the text. More...
 
TextKeySetSizeTolerance (float in_size, Text::SizeToleranceUnits in_units)
 Sets the size tolerance settings to use for the text. More...
 
TextKeySetSize (float in_size, Text::SizeUnits in_units)
 Sets the font size to use for the text. More...
 
TextKeySetFont (char const *in_name)
 Sets the font to use for the text. More...
 
TextKeySetTransform (Text::Transform in_transform)
 Sets the transform state for the text. More...
 
TextKeySetRenderer (Text::Renderer in_renderer)
 Sets the renderer for the text. More...
 
TextKeySetPreference (Text::Preference in_preference)
 Sets the font type preference for the text. More...
 
TextKeySetPreference (float in_cutoff, Text::SizeUnits in_units, Text::Preference in_smaller, Text::Preference in_larger)
 Sets the preference for the text. More...
 
TextKeySetPath (Vector const &in_path)
 Sets the path for the text. More...
 
TextKeySetSpacing (float in_multiplier)
 Sets the spacing multiplier for the text. More...
 
TextKeySetRegion (PointArray const &in_region, Text::RegionAlignment in_region_alignment, Text::RegionFitting in_region_fitting, bool in_region_adjust_direction, bool in_region_relative_coordinates, bool in_region_window_space)
 Sets the region for the text. More...
 
TextKeySetRegion (size_t in_region_count, Point const in_region [], Text::RegionAlignment in_region_alignment, Text::RegionFitting in_region_fitting, bool in_region_adjust_direction, bool in_region_relative_coordinates, bool in_region_window_space)
 Sets the region for the text. More...
 
TextKeySetBackground (bool in_state, char const *in_name)
 Sets the background to be used with text. More...
 
TextKeySetBackground (char const *in_name)
 Sets the background to be used with text. More...
 
TextKeySetBackground (bool in_state)
 Sets the background to be used with text. More...
 
TextKeySetBackgroundMargins (float in_size, Text::MarginUnits in_units=Text::MarginUnits::Percent)
 Sets the amount of additional padding around text strings when backgrounds are used. More...
 
TextKeySetBackgroundMargins (FloatArray const &in_sizes, TextMarginUnitsArray const &in_units)
 Sets the amount of additional padding around text strings when backgrounds are used. More...
 
TextKeySetBackgroundMargins (size_t in_count, float const in_sizes [], HPS::Text::MarginUnits const in_units [])
 Sets the amount of additional padding around text strings when backgrounds are used. More...
 
TextKeySetBackgroundStyle (char const *in_name)
 Allows specifying a named style to be used in the drawing of text backgrounds. More...
 
TextKeySetLeaderLine (Point const &in_position, Text::LeaderLineSpace in_space=Text::LeaderLineSpace::Object)
 Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically. More...
 
TextKeySetLeaderLines (PointArray const &in_positions, Text::LeaderLineSpace in_space=Text::LeaderLineSpace::Object)
 Inserts leader lines for this text. More...
 
TextKeySetLeaderLines (size_t in_count, Point const in_positions [], Text::LeaderLineSpace in_space=Text::LeaderLineSpace::Object)
 Inserts leader lines for this text. More...
 
TextKeyUnsetColor ()
 Removes the color (RGBA or material index) from the text. More...
 
TextKeyUnsetModellingMatrix ()
 Removes the modelling matrix from the text. More...
 
TextKeyUnsetAlignment ()
 Removes the alignment setting from the text. More...
 
TextKeyUnsetBold ()
 Removes the bold setting from the text. More...
 
TextKeyUnsetItalic ()
 Removes the italic setting from the text. More...
 
TextKeyUnsetOverline ()
 Removes the overline setting from the text. More...
 
TextKeyUnsetStrikethrough ()
 Removes the strikethrough setting from the text. More...
 
TextKeyUnsetUnderline ()
 Removes the underline setting from the text. More...
 
TextKeyUnsetSlant ()
 Removes the slant setting from the text. More...
 
TextKeyUnsetLineSpacing ()
 Removes the line spacing setting from the text. More...
 
TextKeyUnsetRotation ()
 Removes the rotation setting from the text. More...
 
TextKeyUnsetExtraSpace ()
 Removes the extra space setting from the text. More...
 
TextKeyUnsetGreeking ()
 Removes the greeking settings from the text. More...
 
TextKeyUnsetSizeTolerance ()
 Removes the size tolerance setting from the text. More...
 
TextKeyUnsetSize ()
 Removes the size setting from the text. More...
 
TextKeyUnsetFont ()
 Removes the font setting from the text. More...
 
TextKeyUnsetTransform ()
 Removes the transform setting from the text. More...
 
TextKeyUnsetRenderer ()
 Removes the renderer setting from the text. More...
 
TextKeyUnsetPreference ()
 Removes the font type preference from the text. More...
 
TextKeyUnsetPath ()
 Removes the path from the text. More...
 
TextKeyUnsetSpacing ()
 Removes the spacing setting from the text. More...
 
TextKeyUnsetRegion ()
 Removes the region from the text. More...
 
TextKeyUnsetBackground ()
 Removes the background setting. More...
 
TextKeyUnsetBackgroundMargins ()
 Removes the background margin setting. More...
 
TextKeyUnsetBackgroundStyle ()
 Removes the background style setting. More...
 
TextKeyUnsetLeaderLines ()
 Removes the leader line setting. More...
 
TextKeyUnsetEverything ()
 Removes all settings from this TextKey. More...
 
bool ShowPosition (Point &out_position) const
 Shows the position for the text. More...
 
bool ShowText (UTF8 &out_string) const
 Shows the string for the text. More...
 
bool ShowColor (Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const
 Shows the color for the text. More...
 
bool ShowModellingMatrix (MatrixKit &out_matrix) const
 Shows the modelling matrix for the text. More...
 
bool ShowAlignment (Text::Alignment &out_alignment, Text::ReferenceFrame &out_reference_frame, Text::Justification &out_justification) const
 Shows the alignment for the text. More...
 
bool ShowBold (bool &out_state) const
 Shows whether the text should be bold. More...
 
bool ShowItalic (bool &out_state) const
 Shows whether the text should be italic. More...
 
bool ShowOverline (bool &out_state) const
 Shows whether an overline should be drawn over the text. More...
 
bool ShowStrikethrough (bool &out_state) const
 Shows whether a strikethrough should be drawn through the text. More...
 
bool ShowUnderline (bool &out_state) const
 Shows whether an underline should be drawn under the text. More...
 
bool ShowSlant (float &out_angle) const
 Shows the slant angle for the text. More...
 
bool ShowLineSpacing (float &out_multiplier) const
 Shows the line spacing multiplier for the text. More...
 
bool ShowRotation (Text::Rotation &out_rot, float &out_angle) const
 Shows the angle characters should be rotated within the text string. More...
 
bool ShowExtraSpace (bool &out_state, float &out_size, Text::SizeUnits &out_units) const
 Shows the amount of additional space to add between characters in a text string. More...
 
bool ShowGreeking (bool &out_state, float &out_size, Text::GreekingUnits &out_units, Text::GreekingMode &out_mode) const
 Shows the greeking settings to use for the text. More...
 
bool ShowSizeTolerance (bool &out_state, float &out_size, Text::SizeToleranceUnits &out_units) const
 Shows the size tolerance settings to use for the text. More...
 
bool ShowSize (float &out_size, Text::SizeUnits &out_units) const
 Shows the font size to use for the text. More...
 
bool ShowFont (UTF8 &out_name) const
 Shows the font to use for the text. More...
 
bool ShowTransform (Text::Transform &out_trans) const
 Shows the transform state for the text. More...
 
bool ShowRenderer (Text::Renderer &out_renderer) const
 Shows the renderer for the text. More...
 
bool ShowPreference (float &out_cutoff, Text::SizeUnits &out_units, Text::Preference &out_smaller, Text::Preference &out_larger) const
 Shows the preference for the text. More...
 
bool ShowPath (Vector &out_path) const
 Shows the path for the text. More...
 
bool ShowSpacing (float &out_multiplier) const
 Shows the spacing multiplier for the text. More...
 
bool ShowRegion (PointArray &out_region, Text::RegionAlignment &out_region_alignment, Text::RegionFitting &out_region_fitting, bool &out_region_adjust_direction, bool &out_region_relative_coordinates, bool &out_region_window_space) const
 Shows the region for the text. More...
 
bool ShowBackground (bool &out_state, UTF8 &out_name) const
 Shows the background to be used with text. More...
 
bool ShowBackgroundMargins (FloatArray &out_size, TextMarginUnitsArray &out_units) const
 Shows the amount of additional padding around text strings when backgrounds are used. More...
 
bool ShowBackgroundStyle (UTF8 &out_name) const
 Shows the named style to be used in the drawing of text backgrounds. More...
 
bool ShowLeaderLines (PointArray &out_positions, Text::LeaderLineSpace &out_space) const
 Shows the leader lines to be used with text. More...
 
TextKeyEditTextByInsertion (size_t in_row, size_t in_column, size_t in_count, char const *in_text)
 Adds characters to the text at the specified offset. More...
 
TextKeyEditTextByDeletion (size_t in_row, size_t in_column, size_t in_count)
 Removes characters from the text at the specified offset. More...
 
TextKeyEditTextByReplacement (size_t in_row, size_t in_column, size_t in_count, char const *in_text)
 Replaces characters from the text at the specified offset. More...
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 Shows the all the segments which contain references to this key. More...
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 Shows the all the references to this key. More...
 
GeometryKeySetPriority (int in_priority)
 Assigns a drawing priority value to the geometry. More...
 
GeometryKeyUnsetPriority ()
 Removes the drawing priority setting. More...
 
bool ShowPriority (int &out_priority) const
 Shows the drawing priority. More...
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 Sets user data on this key. More...
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 Sets user data on this key. More...
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 Sets user data on this key. More...
 
GeometryKeyUnsetUserData (intptr_t in_index)
 Removes the user data at the given index from this key. More...
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 Removes the user data at the given indices from this key. More...
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 Removes the user data at the given indices from this key. More...
 
GeometryKeyUnsetAllUserData ()
 Removes all user data from this key. More...
 
size_t ShowUserDataCount () const
 Get the number of user data indices set on this key. More...
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 Shows the indices of all user data set on this key. More...
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 Shows the user data at a given index for this key. More...
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 Shows all user data for this key. More...
 
bool ShowBounding (BoundingKit &out_kit) const
 Shows the bounding of this geometry. More...
 
bool HasOwner () const
 
SegmentKey Up () const
 
SegmentKey Owner () const
 
void Delete ()
 Removes the database object referred to by this key. More...
 
void MoveTo (SegmentKey const &in_new_owner)
 Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner. More...
 
Key CopyTo (SegmentKey const &in_destination) const
 Copies the database object referred to by this key into a segment pointed to by in_destination. More...
 
virtual void Assign (Key const &in_that)
 Share the underlying smart-pointer of the Key source. More...
 
bool Equals (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
bool operator!= (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
bool operator== (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
size_t GetHash () const
 Returns a hash code for the key. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::TextKey
 

Detailed Description

The TextKey class is a smart pointer to a database object.

It is a handle to text inserted via SegmentKey::InsertText.

Constructor & Destructor Documentation

◆ TextKey() [1/4]

HPS::TextKey::TextKey ( )

The default constructor creates an uninitialized TextKey object.

The Type() function will return Type::None.

◆ TextKey() [2/4]

HPS::TextKey::TextKey ( Key const &  in_that)
explicit

This constructor creates an TextKey object that shares the underlying smart-pointer of the source Key.

The copy will only be successful if the source key is really an upcast of a text key. Otherwise the copy will fail and the resulting TextKey will be invalid.

Parameters
in_keyThe source Key to copy.

◆ TextKey() [3/4]

HPS::TextKey::TextKey ( TextKey const &  in_that)

The copy constructor creates a TextKey object that shares the underlying smart-pointer of the source TextKey.

Parameters
in_thatThe source TextKey to copy.

◆ TextKey() [4/4]

HPS::TextKey::TextKey ( TextKey &&  in_that)

The move constructor creates a TextKey by transferring the underlying impl of the rvalue reference to this TextKey thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a TextKey to take the impl from.

◆ ~TextKey()

HPS::TextKey::~TextKey ( )

Member Function Documentation

◆ Assign()

virtual void HPS::Key::Assign ( Key const &  in_that)
virtualinherited

Share the underlying smart-pointer of the Key source.

Parameters
in_thatThe Key source of the assignment.

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Consume()

void HPS::TextKey::Consume ( TextKit in_kit)

Completely replaces all settings on this TextKey with those set on the specified kit and resets the kit.

Parameters
in_kitThe kit from which to get the settings to replace on this TextKey.

◆ CopyTo()

Key HPS::Key::CopyTo ( SegmentKey const &  in_destination) const
inherited

Copies the database object referred to by this key into a segment pointed to by in_destination.

Returns
The key of the new copy.

◆ Delete()

void HPS::Key::Delete ( )
inherited

Removes the database object referred to by this key.

◆ EditTextByDeletion()

TextKey& HPS::TextKey::EditTextByDeletion ( size_t  in_row,
size_t  in_column,
size_t  in_count 
)

Removes characters from the text at the specified offset.

Parameters
in_rowThe row offset into a multiline text string. This value must be less than the number of lines in the text string.
in_columnThe column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.
in_countThe number of Unicode code points within the given text string to remove.
Returns
A reference to this TextKey.

◆ EditTextByInsertion()

TextKey& HPS::TextKey::EditTextByInsertion ( size_t  in_row,
size_t  in_column,
size_t  in_count,
char const *  in_text 
)

Adds characters to the text at the specified offset.

Parameters
in_rowThe row offset into a multiline text string. This value must be less than the number of lines in the text string.
in_columnThe column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.
in_countThe number of Unicode code points within the given text string to insert into the text.
in_textUTF8-encoded text to insert into the text. This must contain at least in_count Unicode code points.
Returns
A reference to this TextKey.

◆ EditTextByReplacement()

TextKey& HPS::TextKey::EditTextByReplacement ( size_t  in_row,
size_t  in_column,
size_t  in_count,
char const *  in_text 
)

Replaces characters from the text at the specified offset.

Parameters
in_rowThe row offset into a multiline text string. This value must be less than the number of lines in the text string.
in_columnThe column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row.
in_countThe number of Unicode code points within the given text string to remove.
in_textUTF8-encoded text to perform replacement with. This must contain at least in_count Unicode code points.
Returns
A reference to this TextKey.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ Equals()

bool HPS::Key::Equals ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

Empty keys (when key.Empty() returns true) are never equal to any key, even when the key is compared against itself (they act analogously to NaN comparisons in this case.)

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetHash()

size_t HPS::Key::GetHash ( ) const
inherited

Returns a hash code for the key.

Returns
The size_t hash code.
Here is the caller graph for this function:

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasOwner()

bool HPS::Key::HasOwner ( ) const
inherited
Returns
Indicates whether this key has an owner or not.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ MoveTo()

void HPS::Key::MoveTo ( SegmentKey const &  in_new_owner)
inherited

Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner.

◆ ObjectType()

HPS::Type HPS::TextKey::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::GeometryKey.

◆ operator!=()

bool HPS::Key::operator!= ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

◆ operator=() [1/2]

TextKey& HPS::TextKey::operator= ( TextKey const &  other)

Associate this TextKey with the same underlying impl as the source TextKey.

Parameters
in_thatThe source TextKey for the assignment.
Returns
A reference to this TextKey.

◆ operator=() [2/2]

TextKey& HPS::TextKey::operator= ( TextKey &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this TextKey thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to a TextKey to take the impl from.
Returns
A reference to this TextKey.

◆ operator==()

bool HPS::Key::operator== ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

◆ Owner()

SegmentKey HPS::Key::Owner ( ) const
inherited
Returns
The segment containing this key.

◆ Reset()

◆ Set()

void HPS::TextKey::Set ( TextKit const &  in_kit)

Replace those settings on this TextKey with those set on the specified kit.

Parameters
in_kitThe kit from which to get the settings to replace on this TextKey.

◆ SetAlignment()

TextKey& HPS::TextKey::SetAlignment ( Text::Alignment  in_alignment,
Text::ReferenceFrame  in_reference_frame = Text::ReferenceFrame::WorldAligned,
Text::Justification  in_justification = Text::Justification::Left 
)

Sets the alignment for the text.

No aligment is set on the text by default.

Parameters
in_alignmentThe alignment for the text.
in_reference_frameThe reference frame for the text. Defaults to Text::ReferenceFrame::WorldAligned.
in_justificationThe justification for the text. Defaults to Text::Justification::Left.
Returns
A reference to this TextKey.

◆ SetBackground() [1/3]

TextKey& HPS::TextKey::SetBackground ( bool  in_state,
char const *  in_name 
)

Sets the background to be used with text.

Parameters
in_stateWhether a background is drawn for text.
in_nameThe name of a shape definition.
Returns
A reference to this object.

◆ SetBackground() [2/3]

TextKey& HPS::TextKey::SetBackground ( char const *  in_name)

Sets the background to be used with text.

The state is implicitly on.

Parameters
in_nameThe name of a shape definition.
Returns
A reference to this object.

◆ SetBackground() [3/3]

TextKey& HPS::TextKey::SetBackground ( bool  in_state)

Sets the background to be used with text.

Parameters
in_stateWhether a background is drawn for text.
Returns
A reference to this object.

◆ SetBackgroundMargins() [1/3]

TextKey& HPS::TextKey::SetBackgroundMargins ( float  in_size,
Text::MarginUnits  in_units = Text::MarginUnits::Percent 
)

Sets the amount of additional padding around text strings when backgrounds are used.

Parameters
in_sizeThe size of the margins.
in_unitsThe units of the size.
Returns
A reference to this object.

◆ SetBackgroundMargins() [2/3]

TextKey& HPS::TextKey::SetBackgroundMargins ( FloatArray const &  in_sizes,
TextMarginUnitsArray const &  in_units 
)

Sets the amount of additional padding around text strings when backgrounds are used.

Additional margin values can also be referenced within definitions of background shapes and leader lines.

Parameters
in_sizesThe size of the margins.
in_unitsThe units of the size.
Returns
A reference to this object.

◆ SetBackgroundMargins() [3/3]

TextKey& HPS::TextKey::SetBackgroundMargins ( size_t  in_count,
float const  in_sizes[],
HPS::Text::MarginUnits const  in_units[] 
)

Sets the amount of additional padding around text strings when backgrounds are used.

Additional margin values can also be referenced within definitions of background shapes and leader lines.

Parameters
in_countThe number of elements in each array.
in_sizesThe size of the margins.
in_unitsThe units of the size.
Returns
A reference to this object.

◆ SetBackgroundStyle()

TextKey& HPS::TextKey::SetBackgroundStyle ( char const *  in_name)

Allows specifying a named style to be used in the drawing of text backgrounds.

If no style is specified, backgrounds inherit the face and edge attributes from the containing segment.

Parameters
in_nameThe name of a style, defined in a portfolio that is accessible.
Returns
A reference to this object.

◆ SetBold()

TextKey& HPS::TextKey::SetBold ( bool  in_state)

Sets whether the text should be bold.

For fonts which do not have a bold variant, this setting will be ignored. No bold setting is set on the text by default.

Parameters
in_stateWhether the text should be bold.
Returns
A reference to this TextKey.

◆ SetColor()

TextKey& HPS::TextKey::SetColor ( RGBAColor const &  in_rgba_color)

Sets the RGBA color of the text.

No color is set on the text by default.

Parameters
in_rgba_colorThe RGBA color of the text.
Returns
A reference to this TextKey.

◆ SetColorByIndex()

TextKey& HPS::TextKey::SetColorByIndex ( float  in_index)

Sets the material index color for the text.

No color is set on the text by default.

Parameters
in_indexThe material index color for the text.
Returns
A reference to this TextKey.

◆ SetExtraSpace() [1/2]

TextKey& HPS::TextKey::SetExtraSpace ( bool  in_state,
float  in_size = 0.0f,
Text::SizeUnits  in_units = Text::SizeUnits::ObjectSpace 
)

Sets the amount of additional space to add between characters in a text string.

No extra space is set on the text by default.

Parameters
in_stateWhether to add additional space between characters in a text string.
in_sizeThe size of the additional space to add between characters. Defaults to 0.0f.
in_unitsThe units of the size of the additional space to add between characters. Defaults to Text::SizeUnits::ObjectSpace.
Returns
A reference to this TextKey.

◆ SetExtraSpace() [2/2]

TextKey& HPS::TextKey::SetExtraSpace ( float  in_size,
Text::SizeUnits  in_units 
)

Sets the amount of additional space to add between characters in a text string.

This function implicitly enables the addition of extra space. No extra space is set on the text by default.

Parameters
in_sizeThe size of the additional space to add between characters.
in_unitsThe units of the size of the additional space to add between characters.
Returns
A reference to this TextKey.

◆ SetFont()

TextKey& HPS::TextKey::SetFont ( char const *  in_name)

Sets the font to use for the text.

This must either be a builtin font or a font Visualize can locate in the directories specified by World::SetFontDirectories. If the requested font cannot be found, the stroked font will be used. No font is set on the text by default.

Parameters
in_nameUTF8-encoded font name to use for the text.
Returns
A reference to this TextKey.
See also
World::SetFontDirectories

◆ SetGreeking() [1/2]

TextKey& HPS::TextKey::SetGreeking ( bool  in_state,
float  in_size = 0.0f,
Text::GreekingUnits  in_units = Text::GreekingUnits::ObjectSpace,
Text::GreekingMode  in_mode = Text::GreekingMode::Lines 
)

Sets the greeking settings to use for the text.

No greeking settings are set on the text by default.

Parameters
in_stateWhether greeking is enabled for this text.
in_sizeThe size below which to draw a simple symbol in place of a character. Defaults to 0.0f.
in_unitsThe units of the size below which to draw a simple glyph in place of a character. Defaults to Text::GreekingUnits::ObjectSpace.
in_modeThe type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text::GreekingMode::Lines.
Returns
A reference to this TextKey.

◆ SetGreeking() [2/2]

TextKey& HPS::TextKey::SetGreeking ( float  in_size,
Text::GreekingUnits  in_units,
Text::GreekingMode  in_mode = Text::GreekingMode::Lines 
)

Sets the greeking settings to use for the text.

This function implicitly enables text greeking. No greeking settings are set on the text by default.

Parameters
in_sizeThe size below which to draw a simple symbol in place of a character.
in_unitsThe units of the size below which to draw a simple glyph in place of a character.
in_modeThe type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text::Gree::Lines.
Returns
A reference to this TextKey.

◆ SetItalic()

TextKey& HPS::TextKey::SetItalic ( bool  in_state)

Sets whether the text should be italic.

For fonts which do not have an italic variant, this setting will be ignored. No italic setting is set on the text by default.

Parameters
in_stateWhether the text should be italic.
Returns
A reference to this TextKey.

◆ SetLeaderLine()

TextKey& HPS::TextKey::SetLeaderLine ( Point const &  in_position,
Text::LeaderLineSpace  in_space = Text::LeaderLineSpace::Object 
)

Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically.

Parameters
in_positionthe target position of the leader line.
in_spacethe coordinate space in which in_position is specified.
Returns
A reference to this object.

◆ SetLeaderLines() [1/2]

TextKey& HPS::TextKey::SetLeaderLines ( PointArray const &  in_positions,
Text::LeaderLineSpace  in_space = Text::LeaderLineSpace::Object 
)

Inserts leader lines for this text.

Parameters
in_positionsthe target positions of the leader lines.
in_spacethe coordinate space in which in_positions is specified.
Returns
A reference to this object.

◆ SetLeaderLines() [2/2]

TextKey& HPS::TextKey::SetLeaderLines ( size_t  in_count,
Point const  in_positions[],
Text::LeaderLineSpace  in_space = Text::LeaderLineSpace::Object 
)

Inserts leader lines for this text.

Parameters
in_countthe size of in_positions.
in_positionsthe target positions of the leader lines.
in_spacethe coordinate space in which in_positions is specified.
Returns
A reference to this object.

◆ SetLineSpacing()

TextKey& HPS::TextKey::SetLineSpacing ( float  in_multiplier)

Sets the line spacing multiplier for the text.

This is a multiple of the font size that will be used to determine spacing between lines in multi-line text string. No line spacing is set on the text by default.

Parameters
in_multiplierThe line spacing multiplier for the text.
Returns
A reference to this TextKey.

◆ SetModellingMatrix()

TextKey& HPS::TextKey::SetModellingMatrix ( MatrixKit const &  in_matrix)

Sets the modelling matrix for the text.

No modelling matrix is set on the text by default.

Parameters
in_matrixThe modelling matrix for the text.
Returns
A reference to this TextKey.

◆ SetOverline()

TextKey& HPS::TextKey::SetOverline ( bool  in_state)

Sets whether an overline should be drawn over the text.

No overline setting is set on the text by default.

Parameters
in_stateWhether an overline should be drawn over the text.
Returns
A reference to this TextKey.

◆ SetPath()

TextKey& HPS::TextKey::SetPath ( Vector const &  in_path)

Sets the path for the text.

This setting controls the vector along which a text string will be displayed. No path is set on the text by default.

Parameters
in_pathThe path for the text.
Returns
A reference to this TextKey.
See also
SetRegion

◆ SetPosition()

TextKey& HPS::TextKey::SetPosition ( Point const &  in_position)

Repositions the text in object space.

The object-space position for the text.

Returns
A reference to this TextKey.

◆ SetPreference() [1/2]

TextKey& HPS::TextKey::SetPreference ( Text::Preference  in_preference)

Sets the font type preference for the text.

This function implicitly sets the same font type for all text sizes. No preference is set on the text by default.

Parameters
in_preferenceThe font type preference for the text.
Returns
A reference to this TextKey.

◆ SetPreference() [2/2]

TextKey& HPS::TextKey::SetPreference ( float  in_cutoff,
Text::SizeUnits  in_units,
Text::Preference  in_smaller,
Text::Preference  in_larger 
)

Sets the preference for the text.

This setting controls which font type is used for the text for "large" and "small" sizes and the cutoff at which this distinction is made. No preference is set on the text by default.

Parameters
in_cutoffThe font size below which the smaller preference is used and above which the larger preference is used.
in_unitsThe units for the font size below which the smaller preference is used and above which the larger preference is used.
in_smallerThe font type preference for strings below the cutoff size.
in_largerThe font type preference for strings above the cutoff size.
Returns
A reference to this TextKey.

◆ SetPriority()

GeometryKey& HPS::GeometryKey::SetPriority ( int  in_priority)
inherited

Assigns a drawing priority value to the geometry.

It affects the order in which the geometry is visited if and only if the rendering algorithm is set to Priority. The geometry has a default drawing priority assigned, based on the order of insertion.

Parameters
in_priorityThe drawing priority; higher priority items are drawn on top of lower priority items.
Returns
A reference to this object.
See also
SubwindowKit::SetRenderingAlgorithm()

◆ SetRegion() [1/2]

TextKey& HPS::TextKey::SetRegion ( PointArray const &  in_region,
Text::RegionAlignment  in_region_alignment,
Text::RegionFitting  in_region_fitting,
bool  in_region_adjust_direction,
bool  in_region_relative_coordinates,
bool  in_region_window_space 
)

Sets the region for the text.

This setting forces the text to be rendererd along the vector defined by two object space points. A region additionally allows control over if text should be evenly spaced between those points, or allowed to grow or shrink to avoid stretching or overlapping characters. No region is set on the text by default.

Parameters
in_regionThe points defining the region for the text. This array must be of size 2 or 3. A two point region defines an implicit up vector which is rotated 90 degrees counter-clockwise from the region line. A three point region uses the first two points as the region line and the third point defines the plane in which a vector perpendicular to the region line will be computed for use as the up vector.
in_region_alignmentHow the text will be positioned relative to the region line.
in_region_fittingHow the text is organized within the region.
in_region_adjust_directionWhether to draw text such that it is readable regardless of camera location.
in_region_relative_coordinatesWhether the points defining the region are relative to the insertion point for the text.
in_region_window_spaceWhether the points defining the region are in window space coordinates.
Returns
A reference to this TextKey.
See also
SetPath

◆ SetRegion() [2/2]

TextKey& HPS::TextKey::SetRegion ( size_t  in_region_count,
Point const  in_region[],
Text::RegionAlignment  in_region_alignment,
Text::RegionFitting  in_region_fitting,
bool  in_region_adjust_direction,
bool  in_region_relative_coordinates,
bool  in_region_window_space 
)

Sets the region for the text.

This setting forces the text to be rendererd along the vector defined by two object space points. A region additionally allows control over if text should be evenly spaced between those points, or allowed to grow or shrink to avoid stretching or overlapping characters. No region is set on the text by default.

Parameters
in_region_countSize of the following array. This value must be 2 or 3. A two point region defines an implicit up vector which is rotated 90 degrees counter-clockwise from the region line. A three point region uses the first two points as the region line and the third point defines the plane in which a vector perpendicular to the region line will be computed for use as the up vector.
in_regionThe points defining the region for the text.
in_region_alignmentHow the text will be positioned relative to the region line.
in_region_fittingHow the text is organized within the text region.
in_region_adjust_directionWhether to draw text such that it is readable regardless of camera location.
in_region_relative_coordinatesWhether the points defining the region are relative to the insertion point for the text.
in_region_window_spaceWhether the points defining the region are in window space coordinates.
Returns
A reference to this TextKey.
See also
SetPath

◆ SetRenderer()

TextKey& HPS::TextKey::SetRenderer ( Text::Renderer  in_renderer)

Sets the renderer for the text.

No renderer is set on the text by default.

Parameters
in_rendererThe renderer for the text.
Returns
A reference to this TextKey.

◆ SetRotation() [1/2]

TextKey& HPS::TextKey::SetRotation ( Text::Rotation  in_state,
float  in_angle = 0.0f 
)

Sets the angle characters should be rotated within the text string.

No rotation is set on the text by default.

Parameters
in_stateWhether and how to rotate the characters within the text string.
in_angleThe angle in degrees to rotate each character within the text string. This is only relevant if in_state is Text::Rotation::Rotate. Defaults to 0.0f.
Returns
A reference to this TextKey.

◆ SetRotation() [2/2]

TextKey& HPS::TextKey::SetRotation ( float  in_angle)

Sets the angle characters should be rotated within the text string.

This function implicitly sets a rotation state of Text::Rotation::Rotate. No rotation is set on the text by default.

Parameters
in_angleThe angle in degrees to rotate each character within the text string.
Returns
A reference to this TextKey.

◆ SetSize()

TextKey& HPS::TextKey::SetSize ( float  in_size,
Text::SizeUnits  in_units 
)

Sets the font size to use for the text.

No size is set on the text by default.

Parameters
in_sizeThe size for the text.
in_unitsThe units of the size for the text.
Returns
A reference to this TextKey.

◆ SetSizeTolerance() [1/2]

TextKey& HPS::TextKey::SetSizeTolerance ( bool  in_state,
float  in_size = 50.0f,
Text::SizeToleranceUnits  in_units = Text::SizeToleranceUnits::Percent 
)

Sets the size tolerance settings to use for the text.

These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. No size tolerance is set on the text by default.

Parameters
in_stateWhether a size tolerance is enabled for this text.
in_sizeThe size for the tolerance. Defaults to 50.0f.
in_unitsThe units of the size for the tolerance. Defaults to Text::SizeToleranceUnits::Percent.
Returns
A reference to this TextKey.

◆ SetSizeTolerance() [2/2]

TextKey& HPS::TextKey::SetSizeTolerance ( float  in_size,
Text::SizeToleranceUnits  in_units 
)

Sets the size tolerance settings to use for the text.

These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. This function implicitly enables a size tolerance. No size tolerance is set on the text by default.

Parameters
in_sizeThe size for the tolerance.
in_unitsThe units of the size for the tolerance.
Returns
A reference to this TextKey.

◆ SetSlant()

TextKey& HPS::TextKey::SetSlant ( float  in_angle)

Sets the slant angle for the text.

This determines how far the characters in the string are sheared to the left (negative angle) or right (positive angle) relative to the perpendicular. No slant angle is set on the text by default.

Parameters
in_angleThe angle in degrees to slant the text. This value must be in the range [-75.0f,+75.0f].
Returns
A reference to this TextKey.

◆ SetSpacing()

TextKey& HPS::TextKey::SetSpacing ( float  in_multiplier)

Sets the spacing multiplier for the text.

This setting controls the spacing between adjacent characters within a string. A value of 0.0f would result in all characters being drawn on top of each other, a value of 1.0f would be the standard spacing between characters, a value of 2.0f would insert twice as much space as would normally be between two characters, and so on.

Parameters
in_multiplierThe spacing multiplier for the text.
Returns
A reference to this TextKey.

◆ SetStrikethrough()

TextKey& HPS::TextKey::SetStrikethrough ( bool  in_state)

Sets whether a strikethrough should be drawn through the text.

No strikethrough setting is set on the text by default.

Parameters
in_stateWhether a strikethrough should be drawn through the text.
Returns
A reference to this TextKey.

◆ SetText()

TextKey& HPS::TextKey::SetText ( char const *  in_string)

Replaces the contents of the string for the text.

Parameters
in_stringUTF8-encoded string for the text.
Returns
A reference to this TextKey.

◆ SetTextAttribute()

TextKey& HPS::TextKey::SetTextAttribute ( TextAttributeKit const &  in_kit)

Sets the text attributes designated by in_kit on this TextKey.

Parameters
in_kitThe attribute kit from which to get the attributes for this TextKey.

◆ SetTransform()

TextKey& HPS::TextKey::SetTransform ( Text::Transform  in_transform)

Sets the transform state for the text.

No transform state is set on the text by default.

Parameters
in_transformThe transform state for the text.
Returns
A reference to this TextKey.

◆ SetUnderline()

TextKey& HPS::TextKey::SetUnderline ( bool  in_state)

Sets whether an underline should be drawn under the text.

No underline setting is set on the text by default.

Parameters
in_stateWhether an underline should be drawn under the text.
Returns
A reference to this TextKey.

◆ SetUserData() [1/3]

GeometryKey& HPS::GeometryKey::SetUserData ( intptr_t  in_index,
size_t  in_bytes,
byte const  in_data[] 
)
inherited

Sets user data on this key.

Parameters
in_indexThe index of the user data to set.
in_bytesThe number of bytes of user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this key.

◆ SetUserData() [2/3]

GeometryKey& HPS::GeometryKey::SetUserData ( intptr_t  in_index,
ByteArray const &  in_data 
)
inherited

Sets user data on this key.

Parameters
in_indexThe index of the user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this key.

◆ SetUserData() [3/3]

GeometryKey& HPS::GeometryKey::SetUserData ( IntPtrTArray const &  in_indices,
ByteArrayArray const &  in_data 
)
inherited

Sets user data on this key.

Parameters
in_indicesAn array of user data indices to set.
in_dataAn array of bytes of user data to set.
Returns
A reference to this key.

◆ Show()

void HPS::TextKey::Show ( TextKit out_kit) const

Copy the contents of this TextKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this TextKey.

◆ ShowAlignment()

bool HPS::TextKey::ShowAlignment ( Text::Alignment out_alignment,
Text::ReferenceFrame out_reference_frame,
Text::Justification out_justification 
) const

Shows the alignment for the text.

Parameters
out_alignmentThe alignment for the text.
out_reference_frameThe reference frame for the text.
out_justificationThe justification for the text.
Returns
true if an alignment was set, false otherwise.

◆ ShowBackground()

bool HPS::TextKey::ShowBackground ( bool &  out_state,
UTF8 out_name 
) const

Shows the background to be used with text.

Parameters
out_stateWhether a background is drawn for text.
out_nameThe name of a shape definition.
Returns
true if a spacing multiplier was set, false otherwise.

◆ ShowBackgroundMargins()

bool HPS::TextKey::ShowBackgroundMargins ( FloatArray out_size,
TextMarginUnitsArray out_units 
) const

Shows the amount of additional padding around text strings when backgrounds are used.

Parameters
out_sizeThe size of the margins.
out_unitsThe units of the sizes.
Returns
true if a spacing multiplier was set, false otherwise.

◆ ShowBackgroundStyle()

bool HPS::TextKey::ShowBackgroundStyle ( UTF8 out_name) const

Shows the named style to be used in the drawing of text backgrounds.

Parameters
out_nameThe name of a style, defined in a portfolio that is accessible.
Returns
true if a spacing multiplier was set, false otherwise.

◆ ShowBold()

bool HPS::TextKey::ShowBold ( bool &  out_state) const

Shows whether the text should be bold.

Parameters
out_stateWhether the text should be bold.
Returns
true if a bold setting was set, false otherwise.

◆ ShowBounding()

bool HPS::GeometryKey::ShowBounding ( BoundingKit out_kit) const
inherited

Shows the bounding of this geometry.

Parameters
out_kitThe BoundingKit that is set on this GeometryKey
Returns
False if no bounding exists.

◆ ShowColor()

bool HPS::TextKey::ShowColor ( Material::Type out_type,
RGBAColor out_rgba_color,
float &  out_index 
) const

Shows the color for the text.

Parameters
out_typeThe type of color for the text.
out_rgba_colorThe RGBA color for the text. This is only valid if out_type is Material::Type::RGBAColor.
out_indexThe material index for the text. This is only valid if out_type is Material::Type::MaterialIndex.
Returns
true if a color was set, false otherwise.

◆ ShowExtraSpace()

bool HPS::TextKey::ShowExtraSpace ( bool &  out_state,
float &  out_size,
Text::SizeUnits out_units 
) const

Shows the amount of additional space to add between characters in a text string.

Parameters
out_stateWhether to add additional space between characters in a text string.
out_sizeThe size of the additional space to add between characters.
out_unitsThe units of the size of the additional space to add between characters.
Returns
true if an extra space setting was set, false otherwise.

◆ ShowFont()

bool HPS::TextKey::ShowFont ( UTF8 out_name) const

Shows the font to use for the text.

Parameters
out_nameUTF8-encoded font name to use for the text.
Returns
true if a font was set, false otherwise.

◆ ShowGreeking()

bool HPS::TextKey::ShowGreeking ( bool &  out_state,
float &  out_size,
Text::GreekingUnits out_units,
Text::GreekingMode out_mode 
) const

Shows the greeking settings to use for the text.

Parameters
out_stateWhether greeking is enabled for this text.
out_sizeThe size below which to draw a simple symbol in place of a character.
out_unitsThe units of the size below which to draw a simple glyph in place of a character.
out_modeThe type of symbol to draw for characters which are smaller than the greeking size.
Returns
true if greeking settings were set, false otherwise.

◆ ShowItalic()

bool HPS::TextKey::ShowItalic ( bool &  out_state) const

Shows whether the text should be italic.

Parameters
out_stateWhether the text should be italic.
Returns
true if an italic setting was set, false otherwise.

◆ ShowLeaderLines()

bool HPS::TextKey::ShowLeaderLines ( PointArray out_positions,
Text::LeaderLineSpace out_space 
) const

Shows the leader lines to be used with text.

Parameters
out_positionsthe target positions of the leader lines.
out_spacethe coordinate space in which the points in out_positions are specified
Returns
true if leader lines were set, false otherwise.

◆ ShowLineSpacing()

bool HPS::TextKey::ShowLineSpacing ( float &  out_multiplier) const

Shows the line spacing multiplier for the text.

Parameters
out_multiplierThe line spacing multiplier for the text.
Returns
true if a line space multiplier was set, false otherwise.

◆ ShowModellingMatrix()

bool HPS::TextKey::ShowModellingMatrix ( MatrixKit out_matrix) const

Shows the modelling matrix for the text.

Parameters
out_matrixThe modelling matrix for the text.
Returns
true if a modelling matrix was set, false otherwise.

◆ ShowOverline()

bool HPS::TextKey::ShowOverline ( bool &  out_state) const

Shows whether an overline should be drawn over the text.

Parameters
out_stateWhether an overline should be drawn over the text.
Returns
true if an overline setting was set, false otherwise.

◆ ShowPath()

bool HPS::TextKey::ShowPath ( Vector out_path) const

Shows the path for the text.

Parameters
out_pathThe path for the text.
Returns
true if a path was set, false otherwise.

◆ ShowPosition()

bool HPS::TextKey::ShowPosition ( Point out_position) const

Shows the position for the text.

Parameters
out_positionThe object-space position for the text.
Returns
true if a position was set, false otherwise.

◆ ShowPreference()

bool HPS::TextKey::ShowPreference ( float &  out_cutoff,
Text::SizeUnits out_units,
Text::Preference out_smaller,
Text::Preference out_larger 
) const

Shows the preference for the text.

Parameters
out_cutoffThe font size below which the smaller preference is used and above which the larger preference is used.
out_unitsThe units for the font size below which the smaller preference is used and above which the larger preference is used.
out_smallerThe font type preference for strings below the cutoff size.
out_largerThe font type preference for strings above the cutoff size.
Returns
true if a preference was set, false otherwise.

◆ ShowPriority()

bool HPS::GeometryKey::ShowPriority ( int &  out_priority) const
inherited

Shows the drawing priority.

Parameters
out_priorityThe drawing priority; higher priority items are drawn on top of lower priority items.
Returns
true if a priority was specified, false otherwise.

◆ ShowReferrers() [1/2]

size_t HPS::GeometryKey::ShowReferrers ( SegmentKeyArray out_segments) const
inherited

Shows the all the segments which contain references to this key.

Note that while a segment may only appear once in the returned array, that segment could have multiple references to this key.

Parameters
out_segmentsThe list of segments which contains references to this key.
Returns
The number of segments which contain references to this key.

◆ ShowReferrers() [2/2]

size_t HPS::GeometryKey::ShowReferrers ( ReferenceKeyArray out_references) const
inherited

Shows the all the references to this key.

Parameters
out_referencesThe list of all references to this key.
Returns
The number of references to this key.

◆ ShowRegion()

bool HPS::TextKey::ShowRegion ( PointArray out_region,
Text::RegionAlignment out_region_alignment,
Text::RegionFitting out_region_fitting,
bool &  out_region_adjust_direction,
bool &  out_region_relative_coordinates,
bool &  out_region_window_space 
) const

Shows the region for the text.

Parameters
out_regionThe points defining the region for the text.
out_region_alignmentHow the text will be positioned relative to the region line.
out_region_fittingHow the text will be organized within the region.
out_region_adjust_directionWhether to draw text such that it is readable regardless of camera location.
out_region_relative_coordinatesWhether the points defining the region are relative to the insertion point for the text.
out_region_window_spaceWhether the points defining the region are in window space coordinates.
Returns
true if a region was set, false otherwise.

◆ ShowRenderer()

bool HPS::TextKey::ShowRenderer ( Text::Renderer out_renderer) const

Shows the renderer for the text.

Parameters
in_rendererThe renderer for the text.
Returns
true if a renderer was set, false otherwise.

◆ ShowRotation()

bool HPS::TextKey::ShowRotation ( Text::Rotation out_rot,
float &  out_angle 
) const

Shows the angle characters should be rotated within the text string.

Parameters
out_rotWhether to rotate the characters within the text string, and if so, what the angle should be measured with repect to.
out_angleThe angle in degrees to rotate each character within the text string.
Returns
true if a rotation setting was set, false otherwise.

◆ ShowSize()

bool HPS::TextKey::ShowSize ( float &  out_size,
Text::SizeUnits out_units 
) const

Shows the font size to use for the text.

Parameters
out_sizeThe size for the text.
out_unitsThe units of the size for the text.
Returns
true if a size was set, false otherwise.

◆ ShowSizeTolerance()

bool HPS::TextKey::ShowSizeTolerance ( bool &  out_state,
float &  out_size,
Text::SizeToleranceUnits out_units 
) const

Shows the size tolerance settings to use for the text.

Parameters
out_stateWhether a size tolerance is enabled for this text.
out_sizeThe size for the tolerance.
out_unitsThe units of the size for the tolerance.
Returns
true if a size tolerance was set, false otherwise.

◆ ShowSlant()

bool HPS::TextKey::ShowSlant ( float &  out_angle) const

Shows the slant angle for the text.

Parameters
out_angleThe angle in degrees to slant the text.
Returns
true if a slang angle was set, false otherwise.

◆ ShowSpacing()

bool HPS::TextKey::ShowSpacing ( float &  out_multiplier) const

Shows the spacing multiplier for the text.

Parameters
out_multiplierThe spacing multiplier for the text.
Returns
true if a spacing multiplier was set, false otherwise.

◆ ShowStrikethrough()

bool HPS::TextKey::ShowStrikethrough ( bool &  out_state) const

Shows whether a strikethrough should be drawn through the text.

Parameters
out_stateWhether a strikethrough should be drawn through the text.
Returns
true if a strikethrough setting was set, false otherwise.

◆ ShowText()

bool HPS::TextKey::ShowText ( UTF8 out_string) const

Shows the string for the text.

Parameters
out_stringUTF8-encoded string for the text.
Returns
true if a text string was set, false otherwise.

◆ ShowTextAttribute()

bool HPS::TextKey::ShowTextAttribute ( TextAttributeKit out_kit) const

Sets the text attributes designated by in_kit on this TextKey.

Parameters
out_kitThe attribute kit to populate with the attributes for this TextKey.
Returns
true if the attributes were set, false otherwise.

◆ ShowTransform()

bool HPS::TextKey::ShowTransform ( Text::Transform out_trans) const

Shows the transform state for the text.

Parameters
out_transformThe transform state for the text.
Returns
true if a transform state was set, false otherwise.

◆ ShowUnderline()

bool HPS::TextKey::ShowUnderline ( bool &  out_state) const

Shows whether an underline should be drawn under the text.

Parameters
out_stateWhether an underline should be drawn under the text.
Returns
true if an underline setting was set, false otherwise.

◆ ShowUserData() [1/2]

bool HPS::GeometryKey::ShowUserData ( intptr_t  in_index,
ByteArray out_data 
) const
inherited

Shows the user data at a given index for this key.

Parameters
in_indexThe index of the user data to show.
out_dataThe user data at the given index.
Returns
true if there is user data at the given index, false otherwise.

◆ ShowUserData() [2/2]

bool HPS::GeometryKey::ShowUserData ( IntPtrTArray out_indices,
ByteArrayArray out_data 
) const
inherited

Shows all user data for this key.

Parameters
out_indicesAn array of all user data indices set on this key.
out_dataAn array of all user data set on this key.
Returns
true if there is user data on this key, false otherwise.

◆ ShowUserDataCount()

size_t HPS::GeometryKey::ShowUserDataCount ( ) const
inherited

Get the number of user data indices set on this key.

◆ ShowUserDataIndices()

bool HPS::GeometryKey::ShowUserDataIndices ( IntPtrTArray out_indices) const
inherited

Shows the indices of all user data set on this key.

Parameters
out_indicesThe user data indices set on this key.
Returns
The number of user data indices set on this key.

◆ Type()

◆ UnsetAlignment()

TextKey& HPS::TextKey::UnsetAlignment ( )

Removes the alignment setting from the text.

Returns
A reference to this TextKey.

◆ UnsetAllUserData()

GeometryKey& HPS::GeometryKey::UnsetAllUserData ( )
inherited

Removes all user data from this key.

Returns
A reference to this key.

◆ UnsetBackground()

TextKey& HPS::TextKey::UnsetBackground ( )

Removes the background setting.

Returns
A reference to this object.

◆ UnsetBackgroundMargins()

TextKey& HPS::TextKey::UnsetBackgroundMargins ( )

Removes the background margin setting.

Returns
A reference to this object.

◆ UnsetBackgroundStyle()

TextKey& HPS::TextKey::UnsetBackgroundStyle ( )

Removes the background style setting.

Returns
A reference to this object.

◆ UnsetBold()

TextKey& HPS::TextKey::UnsetBold ( )

Removes the bold setting from the text.

Returns
A reference to this TextKey.

◆ UnsetColor()

TextKey& HPS::TextKey::UnsetColor ( )

Removes the color (RGBA or material index) from the text.

Returns
A reference to this TextKey.

◆ UnsetEverything()

TextKey& HPS::TextKey::UnsetEverything ( )

Removes all settings from this TextKey.

Returns
A reference to this TextKey.

◆ UnsetExtraSpace()

TextKey& HPS::TextKey::UnsetExtraSpace ( )

Removes the extra space setting from the text.

Returns
A reference to this TextKey.

◆ UnsetFont()

TextKey& HPS::TextKey::UnsetFont ( )

Removes the font setting from the text.

Returns
A reference to this TextKey.

◆ UnsetGreeking()

TextKey& HPS::TextKey::UnsetGreeking ( )

Removes the greeking settings from the text.

Returns
A reference to this TextKey.

◆ UnsetItalic()

TextKey& HPS::TextKey::UnsetItalic ( )

Removes the italic setting from the text.

Returns
A reference to this TextKey.

◆ UnsetLeaderLines()

TextKey& HPS::TextKey::UnsetLeaderLines ( )

Removes the leader line setting.

Returns
A reference to this object.

◆ UnsetLineSpacing()

TextKey& HPS::TextKey::UnsetLineSpacing ( )

Removes the line spacing setting from the text.

Returns
A reference to this TextKey.

◆ UnsetModellingMatrix()

TextKey& HPS::TextKey::UnsetModellingMatrix ( )

Removes the modelling matrix from the text.

Returns
A reference to this TextKey.

◆ UnsetOverline()

TextKey& HPS::TextKey::UnsetOverline ( )

Removes the overline setting from the text.

Returns
A reference to this TextKey.

◆ UnsetPath()

TextKey& HPS::TextKey::UnsetPath ( )

Removes the path from the text.

Returns
A reference to this TextKey.

◆ UnsetPreference()

TextKey& HPS::TextKey::UnsetPreference ( )

Removes the font type preference from the text.

Returns
A reference to this TextKey.

◆ UnsetPriority()

GeometryKey& HPS::GeometryKey::UnsetPriority ( )
inherited

Removes the drawing priority setting.

Returns
A reference to this object.

◆ UnsetRegion()

TextKey& HPS::TextKey::UnsetRegion ( )

Removes the region from the text.

Returns
A reference to this TextKey.

◆ UnsetRenderer()

TextKey& HPS::TextKey::UnsetRenderer ( )

Removes the renderer setting from the text.

Returns
A reference to this TextKey.

◆ UnsetRotation()

TextKey& HPS::TextKey::UnsetRotation ( )

Removes the rotation setting from the text.

Returns
A reference to this TextKey.

◆ UnsetSize()

TextKey& HPS::TextKey::UnsetSize ( )

Removes the size setting from the text.

Returns
A reference to this TextKey.

◆ UnsetSizeTolerance()

TextKey& HPS::TextKey::UnsetSizeTolerance ( )

Removes the size tolerance setting from the text.

Returns
A reference to this TextKey.

◆ UnsetSlant()

TextKey& HPS::TextKey::UnsetSlant ( )

Removes the slant setting from the text.

Returns
A reference to this TextKey.

◆ UnsetSpacing()

TextKey& HPS::TextKey::UnsetSpacing ( )

Removes the spacing setting from the text.

Returns
A reference to this TextKey.

◆ UnsetStrikethrough()

TextKey& HPS::TextKey::UnsetStrikethrough ( )

Removes the strikethrough setting from the text.

Returns
A reference to this TextKey.

◆ UnsetTransform()

TextKey& HPS::TextKey::UnsetTransform ( )

Removes the transform setting from the text.

Returns
A reference to this TextKey.

◆ UnsetUnderline()

TextKey& HPS::TextKey::UnsetUnderline ( )

Removes the underline setting from the text.

Returns
A reference to this TextKey.

◆ UnsetUserData() [1/3]

GeometryKey& HPS::GeometryKey::UnsetUserData ( intptr_t  in_index)
inherited

Removes the user data at the given index from this key.

Parameters
in_indexThe index of the user data to remove.
Returns
A reference to this key.

◆ UnsetUserData() [2/3]

GeometryKey& HPS::GeometryKey::UnsetUserData ( size_t  in_count,
intptr_t const  in_indices[] 
)
inherited

Removes the user data at the given indices from this key.

Parameters
in_countThe size of the following array.
in_indicesThe indices of the user data to remove.
Returns
A reference to this key.

◆ UnsetUserData() [3/3]

GeometryKey& HPS::GeometryKey::UnsetUserData ( IntPtrTArray const &  in_indices)
inherited

Removes the user data at the given indices from this key.

Parameters
in_indicesThe indices of the user data to remove.
Returns
A reference to this key.

◆ Up()

SegmentKey HPS::Key::Up ( ) const
inherited
Returns
The segment containing this key.

Member Data Documentation

◆ staticType

const HPS::Type HPS::TextKey::staticType = HPS::Type::TextKey
static

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