10 #ifndef _HUTILITYPMI_H
11 #define _HUTILITYPMI_H
45 FeatureControlFrameType,
98 namespace ZoneModifier
106 MaximumMaterialCondition,
107 LeastMaterialCondition,
108 RegardlessOfFeatureSize,
110 ProjectedToleranceZone,
119 namespace DatumModifier
127 MaximumMaterialCondition,
128 LeastMaterialCondition,
129 RegardlessOfFeatureSize
136 namespace DiameterModifier
206 namespace Applicability
275 class TextAttributes;
293 void Set(
Frame const & that);
297 unsigned int GetPolylineCount()
const;
304 void GetPolylines(
unsigned int & out_count,
Polyline out_polylines[])
const;
309 void SetPolylines(
unsigned int in_count,
Polyline const in_polylines[]);
312 PMII::PrivateImpl * impl_;
325 void Set(
Drawing const & that);
329 unsigned int GetPolygonCount()
const;
336 void GetPolygons(
unsigned int & out_count,
Polygon out_polygons[])
const;
341 void SetPolygons(
unsigned int in_count,
Polygon const in_polygons[]);
344 PMII::PrivateImpl * impl_;
366 void GetXComponent(
Point & out_component)
const;
368 void GetXComponent(
float & out_x,
float & out_y,
float & out_z)
const;
370 void SetXComponent(
Point const & in_component);
372 void SetXComponent(
float in_x,
float in_y,
float in_z);
375 void GetYComponent(
Point & out_component)
const;
377 void GetYComponent(
float & out_x,
float & out_y,
float & out_z)
const;
379 void SetYComponent(
Point const & in_component);
381 void SetYComponent(
float in_x,
float in_y,
float in_z);
384 void GetZComponent(
Point & out_component)
const;
386 void GetZComponent(
float & out_x,
float & out_y,
float & out_z)
const;
388 void SetZComponent(
Point const & in_component);
390 void SetZComponent(
float in_x,
float in_y,
float in_z);
393 void GetOriginComponent(
Point & out_component)
const;
395 void GetOriginComponent(
float & out_x,
float & out_y,
float & out_z)
const;
397 void SetOriginComponent(
Point const & in_component);
399 void SetOriginComponent(
float in_x,
float in_y,
float in_z);
402 void GetMatrix(
float out_matrix[16])
const;
404 void SetMatrix(
float const in_matrix[16]);
407 PMII::PrivateImpl * impl_;
425 void GetRGBColor(
RGBColor & out_color)
const;
427 void GetRGBColor(
float & out_r,
float & out_g,
float & out_b)
const;
429 void SetRGBColor(
RGBColor const & in_color);
431 void SetRGBColor(
float const in_r,
float const in_g,
float const in_b);
434 void GetLinePattern(
char out_pattern[1024])
const;
436 void SetLinePattern(
char const in_pattern[1024]);
439 unsigned int GetPointCount()
const;
446 void GetPoints(
unsigned int & out_count,
Point out_points[])
const;
453 void GetPoints(
unsigned int & out_count,
float out_points[])
const;
458 void SetPoints(
unsigned int in_count,
Point const in_points[]);
463 void SetPoints(
unsigned int in_count,
float const in_points[]);
466 PMII::PrivateImpl * impl_;
479 void Set(
Polygon const & that);
483 void GetRGBColor(
RGBColor & out_color)
const;
485 void GetRGBColor(
float & out_r,
float & out_g,
float & out_b)
const;
487 void SetRGBColor(
RGBColor const & in_color);
489 void SetRGBColor(
float const in_r,
float const in_g,
float const in_b);
492 unsigned int GetPointCount()
const;
499 void GetPoints(
unsigned int & out_count,
Point out_points[])
const;
506 void GetPoints(
unsigned int & out_count,
float out_points[])
const;
511 void SetPoints(
unsigned int in_count,
Point const in_points[]);
516 void SetPoints(
unsigned int in_count,
float const in_points[]);
519 PMII::PrivateImpl * impl_;
536 void GetInsertionPoint(
Point & out_point)
const;
538 void GetInsertionPoint(
float & out_x,
float & out_y,
float & out_z)
const;
540 void SetInsertionPoint(
Point const & in_point);
542 void SetInsertionPoint(
float in_x,
float in_y,
float in_z);
545 void GetFontSize(
float & out_size)
const;
547 void SetFontSize(
float const in_size);
550 void GetFontSizeUnits(Font::Size::Units & out_units)
const;
552 void SetFontSizeUnits(Font::Size::Units
const in_units);
555 void GetFontName(
char * out_font_name)
const;
557 void SetFontName(
char const * in_font_name);
560 void GetOrientation(
Orientation & out_orientation)
const;
562 void SetOrientation(
Orientation const & in_orientation);
565 void GetRGBColor(
RGBColor & out_color)
const;
567 void GetRGBColor(
float & out_r,
float & out_g,
float & out_b)
const;
569 void SetRGBColor(
RGBColor const & in_color);
571 void SetRGBColor(
float in_r,
float in_g,
float in_b);
577 bool IsItalic()
const;
579 bool IsUnderlined()
const;
581 bool IsStrikedThrough()
const;
583 bool IsOverlined()
const;
585 bool IsStreched()
const;
587 bool IsWired()
const;
589 bool IsFixedWidth()
const;
591 void SetFormat(
char const & in_format);
594 double WidthScale()
const;
596 void SetWidthScale(
const double width_scale);
599 PMII::PrivateImpl * impl_;
612 String(
char const * cstring);
613 String(
wchar_t const * wstring);
614 String(H_WCS
const & wcs);
615 String(H_UTF8
const & utf8);
619 void Set(
String const & in_that);
623 char const * CStr()
const;
625 wchar_t const * WStr()
const;
627 size_t WLength()
const;
629 bool Equals(
String const & in_that)
const;
630 bool operator==(
String const & in_that)
const;
631 bool operator!=(
String const & in_that)
const;
634 PMII::PrivateImpl * impl_;
647 void Set(
Options const & that);
651 void SetDisplayParallelToScreen(
bool const in_parallel =
true);
653 bool IsDisplayParallelToScreen()
const;
656 PMII::PrivateImpl * impl_;
668 class GeometricToleranceEntity;
687 void Set(
Entity const & that);
694 HC_KEY GetSegmentKey()
const;
697 void GetFrame(
Frame & out_frame)
const;
699 void SetFrame(
Frame const & in_frame);
702 unsigned int GetLeaderLineCount()
const;
709 void GetLeaderLines(
unsigned int & out_count,
Polyline out_leader_lines[])
const;
714 void SetLeaderLines(
unsigned int in_count,
Polyline const in_leader_lines[]);
717 unsigned int GetLeaderSymbolCount()
const;
724 void GetLeaderSymbols(
unsigned int & out_count,
Polygon out_leader_symbols[])
const;
729 void SetLeaderSymbols(
unsigned int in_count,
Polygon const in_leader_symbols[]);
733 void SetDisplayParallelToScreen(
bool const in_parallel =
true);
735 bool IsDisplayParallelToScreen()
const;
739 void GetDrawing(
Drawing & out_drawing)
const;
741 void SetDrawing(
Drawing const & in_drawing);
745 PMII::PrivateImpl * impl_;
767 Datum::Type GetDatumType()
const;
769 void SetDatumType(Datum::Type
const in_type);
772 unsigned int GetLabelCount()
const;
782 void GetLabels(
unsigned int & out_count,
String out_labels[],
TextAttributes out_text_attributes[])
const;
788 void SetLabels(
unsigned int in_count,
String const in_labels[],
TextAttributes const in_text_attributes[]);
810 Dimension::Type GetDimensionType()
const;
812 void SetDimensionType(Dimension::Type
const in_type);
815 Dimension::SubType GetDimensionSubType()
const;
817 void SetDimensionSubType(Dimension::SubType
const in_sub_type);
820 unsigned int GetStringCount()
const;
830 void GetStrings(
unsigned int & out_count,
String out_strings[],
TextAttributes out_text_attributes[])
const;
836 void SetStrings(
unsigned int in_count,
String const in_strings[],
TextAttributes const in_text_attributes[]);
855 virtual Type GetType()
const {
return PMI::FeatureControlFrameType; };
862 void GetToleranceType(Tolerance::Type & out_tolerance_type,
TextAttributes & out_text_attributes)
const;
867 void SetToleranceType(Tolerance::Type
const in_tolerance_type,
TextAttributes const & in_text_attributes);
874 void GetDiameterModifierType(DiameterModifier::Type & out_diameter_modifier_type,
TextAttributes & out_text_attributes)
const;
879 void SetDiameterModifierType(DiameterModifier::Type
const in_diameter_modifier_type,
TextAttributes const & in_text_attributes);
886 void GetZoneToleranceMagnitude(
String & out_zone_tolerance_magnitude,
TextAttributes & out_text_attributes)
const;
892 void SetZoneToleranceMagnitude(
String const & in_zone_tolerance_magnitude,
TextAttributes const & in_text_attributes);
899 void GetFirstZoneModifierType(ZoneModifier::Type & out_zone_modifier_type,
TextAttributes & out_text_attributes)
const;
905 void SetFirstZoneModifierType(ZoneModifier::Type
const in_zone_modifier_type,
TextAttributes const & in_text_attributes);
912 void GetSecondZoneModifierType(ZoneModifier::Type & out_zone_modifier_type,
TextAttributes & out_text_attributes)
const;
918 void SetSecondZoneModifierType(ZoneModifier::Type
const in_zone_modifier_type,
TextAttributes const & in_text_attributes);
925 void GetProjectedMagnitude(
String & out_projected_magnitude,
TextAttributes & out_text_attributes)
const;
931 void SetProjectedMagnitude(
String const & in_projected_magnitude,
TextAttributes const & in_text_attributes);
934 unsigned int GetDatumReferenceCount()
const;
948 void GetDatumReferences(
unsigned int & out_count,
String out_labels[],
TextAttributes out_label_attributes[],
949 DatumModifier::Type out_modifiers[],
TextAttributes out_modifier_attributes[]);
957 void SetDatumReferences(
unsigned int in_count,
String const in_labels[],
TextAttributes const in_label_attributes[],
958 DatumModifier::Type
const in_modifiers[],
TextAttributes const in_modifier_attributes[]);
980 unsigned int GetStringCount()
const;
990 void GetStrings(
unsigned int & out_count,
String out_strings[],
TextAttributes out_text_attributes[])
const;
996 void SetStrings(
unsigned int in_count,
String const in_strings[],
TextAttributes const in_text_attributes[]);
1002 void SetDisplayParallelToScreen(
bool const in_parallel =
true);
1006 bool IsDisplayParallelToScreen()
const;
1029 unsigned int GetStringCount()
const;
1039 void GetStrings(
unsigned int & out_count,
String out_strings[],
TextAttributes out_text_attributes[])
const;
1045 void SetStrings(
unsigned int in_count,
String const in_strings[],
TextAttributes const in_text_attributes[]);
1067 Roughness::Obtention::Type GetObtentionType()
const;
1069 void SetObtentionType(Roughness::Obtention::Type
const in_obtention_type);
1072 Roughness::Applicability::Type GetApplicabilityType()
const;
1074 void SetApplicabilityType(Roughness::Applicability::Type
const in_applicability_type);
1077 Roughness::Mode::Type GetModeType()
const;
1079 void SetModeType(Roughness::Mode::Type
const in_mode_type);
1082 unsigned int GetFieldCount()
const;
1092 void GetFields(
unsigned int & out_count,
String out_fields[],
TextAttributes out_text_attributes[])
const;
1098 void SetFields(
unsigned int in_count,
String const in_fields[],
TextAttributes const in_text_attributes[]);
1118 void GetCamera(
Camera & out_camera)
const;
1120 void GetCamera(
Point & out_position,
Point & out_target,
Point & out_up_vector,
float & out_field_width,
float & out_field_height,
1121 char out_projection[128]);
1123 void GetCamera(
float out_position[3],
float out_target[3],
float out_up_vector[3],
float & out_field_width,
float & out_field_height,
1124 char out_projection[128]);
1126 void SetCamera(
Camera const & in_camera);
1128 void SetCamera(
Point const & in_position,
Point const & in_target,
Point const & in_up_vector,
float in_field_width,
1129 float in_field_height,
char const in_projection[128]);
1131 void SetCamera(
float const in_position[3],
float const in_target[3],
float const in_up_vector[3],
float in_field_width,
1132 float in_field_height,
char const in_projection[128]);
1135 void GetFrame(
Frame & out_frame)
const;
1137 void SetFrame(
Frame const & in_frame);
1140 void GetName(
String & out_name)
const;
1142 void SetName(
String const & in_name);
1145 void SetName(
char const * in_utf8_string);
1148 unsigned int GetAssociatedEntityCount()
const;
1155 void GetAssociatedEntities(
unsigned int & out_count,
Entity out_entities[])
const;
1160 void SetAssociatedEntities(
unsigned int in_count,
Entity const in_entities[]);
1163 PMII::PrivateImpl * impl_;
1175 #endif // _HUTILITYPMI_H
Definition: HUtilityPMI.h:678
Definition: HUtilityPMI.h:608
Definition: HUtilityPMI.h:1014
virtual Type GetType() const
Definition: HUtilityPMI.h:691
virtual Type GetType() const
Definition: HUtilityPMI.h:807
The HCamera class is the data type of a HOOPS Camera Attribute.
Definition: HUtility.h:541
Definition: HUtilityPMI.h:286
Definition: HDWFMisc.h:22
Definition: HUtilityPMI.h:318
virtual Type GetType() const
Definition: HUtilityPMI.h:1026
virtual Type GetType() const
Definition: HUtilityPMI.h:1064
Definition: HUtilityPMI.h:843
Definition: HUtilityPMI.h:472
Definition: HUtilityPMI.h:414
Definition: HUtilityPMI.h:1052
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
Type
Definition: HUtilityPMI.h:40
Definition: HUtilityPMI.h:355
Definition: HUtilityPMI.h:525
Definition: HUtilityPMI.h:1105
Definition: HDGNHelper.h:446
Definition: HUtilityPMI.h:795
Definition: HUtilityPMI.h:965
Definition: HUtilityPMI.h:752
Definition: HUtilityPMI.h:640
virtual Type GetType() const
Definition: HUtilityPMI.h:855
virtual Type GetType() const
Definition: HUtilityPMI.h:764
virtual Type GetType() const
Definition: HUtilityPMI.h:977