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
253 class TextAttributes;
271 void Set(
Frame const & that);
275 unsigned int GetPolylineCount()
const;
282 void GetPolylines(
unsigned int & out_count,
Polyline out_polylines[])
const;
287 void SetPolylines(
unsigned int in_count,
Polyline const in_polylines[]);
290 PMII::PrivateImpl * impl_;
303 void Set(
Drawing const & that);
307 unsigned int GetPolygonCount()
const;
314 void GetPolygons(
unsigned int & out_count,
Polygon out_polygons[])
const;
319 void SetPolygons(
unsigned int in_count,
Polygon const in_polygons[]);
322 PMII::PrivateImpl * impl_;
344 void GetXComponent(
Point & out_component)
const;
346 void GetXComponent(
float & out_x,
float & out_y,
float & out_z)
const;
348 void SetXComponent(
Point const & in_component);
350 void SetXComponent(
float in_x,
float in_y,
float in_z);
353 void GetYComponent(
Point & out_component)
const;
355 void GetYComponent(
float & out_x,
float & out_y,
float & out_z)
const;
357 void SetYComponent(
Point const & in_component);
359 void SetYComponent(
float in_x,
float in_y,
float in_z);
362 void GetZComponent(
Point & out_component)
const;
364 void GetZComponent(
float & out_x,
float & out_y,
float & out_z)
const;
366 void SetZComponent(
Point const & in_component);
368 void SetZComponent(
float in_x,
float in_y,
float in_z);
371 void GetOriginComponent(
Point & out_component)
const;
373 void GetOriginComponent(
float & out_x,
float & out_y,
float & out_z)
const;
375 void SetOriginComponent(
Point const & in_component);
377 void SetOriginComponent(
float in_x,
float in_y,
float in_z);
380 void GetMatrix(
float out_matrix[16])
const;
382 void SetMatrix(
float const in_matrix[16]);
385 PMII::PrivateImpl * impl_;
403 void GetRGBColor(
RGBColor & out_color)
const;
405 void GetRGBColor(
float & out_r,
float & out_g,
float & out_b)
const;
407 void SetRGBColor(
RGBColor const & in_color);
409 void SetRGBColor(
float const in_r,
float const in_g,
float const in_b);
412 void GetLinePattern(
char out_pattern[1024])
const;
414 void SetLinePattern(
char const in_pattern[1024]);
417 unsigned int GetPointCount()
const;
424 void GetPoints(
unsigned int & out_count,
Point out_points[])
const;
431 void GetPoints(
unsigned int & out_count,
float out_points[])
const;
436 void SetPoints(
unsigned int in_count,
Point const in_points[]);
441 void SetPoints(
unsigned int in_count,
float const in_points[]);
444 PMII::PrivateImpl * impl_;
457 void Set(
Polygon const & that);
461 void GetRGBColor(
RGBColor & out_color)
const;
463 void GetRGBColor(
float & out_r,
float & out_g,
float & out_b)
const;
465 void SetRGBColor(
RGBColor const & in_color);
467 void SetRGBColor(
float const in_r,
float const in_g,
float const in_b);
470 unsigned int GetPointCount()
const;
477 void GetPoints(
unsigned int & out_count,
Point out_points[])
const;
484 void GetPoints(
unsigned int & out_count,
float out_points[])
const;
489 void SetPoints(
unsigned int in_count,
Point const in_points[]);
494 void SetPoints(
unsigned int in_count,
float const in_points[]);
497 PMII::PrivateImpl * impl_;
514 void GetInsertionPoint(
Point & out_point)
const;
516 void GetInsertionPoint(
float & out_x,
float & out_y,
float & out_z)
const;
518 void SetInsertionPoint(
Point const & in_point);
520 void SetInsertionPoint(
float in_x,
float in_y,
float in_z);
523 void GetFontSize(
float & out_size)
const;
525 void SetFontSize(
float const in_size);
528 void GetFontName(
char * out_font_name)
const;
530 void SetFontName(
char const * in_font_name);
533 void GetOrientation(
Orientation & out_orientation)
const;
535 void SetOrientation(
Orientation const & in_orientation);
538 void GetRGBColor(
RGBColor & out_color)
const;
540 void GetRGBColor(
float & out_r,
float & out_g,
float & out_b)
const;
542 void SetRGBColor(
RGBColor const & in_color);
544 void SetRGBColor(
float in_r,
float in_g,
float in_b);
550 bool IsItalic()
const;
552 bool IsUnderlined()
const;
554 bool IsStrikedThrough()
const;
556 bool IsOverlined()
const;
558 bool IsStreched()
const;
560 bool IsWired()
const;
562 bool IsFixedWidth()
const;
564 void SetFormat(
char const & in_format);
567 double WidthScale()
const;
569 void SetWidthScale(
const double width_scale);
572 PMII::PrivateImpl * impl_;
585 String(
char const * cstring);
586 String(
wchar_t const * wstring);
587 String(H_WCS
const & wcs);
588 String(H_UTF8
const & utf8);
592 void Set(
String const & in_that);
596 char const * CStr()
const;
598 wchar_t const * WStr()
const;
600 size_t WLength()
const;
602 bool Equals(
String const & in_that)
const;
603 bool operator==(
String const & in_that)
const;
604 bool operator!=(
String const & in_that)
const;
607 PMII::PrivateImpl * impl_;
620 void Set(
Options const & that);
624 void SetDisplayParallelToScreen(
bool const in_parallel =
true);
626 bool IsDisplayParallelToScreen()
const;
629 PMII::PrivateImpl * impl_;
641 class GeometricToleranceEntity;
660 void Set(
Entity const & that);
667 HC_KEY GetSegmentKey()
const;
670 void GetFrame(
Frame & out_frame)
const;
672 void SetFrame(
Frame const & in_frame);
675 unsigned int GetLeaderLineCount()
const;
682 void GetLeaderLines(
unsigned int & out_count,
Polyline out_leader_lines[])
const;
687 void SetLeaderLines(
unsigned int in_count,
Polyline const in_leader_lines[]);
690 unsigned int GetLeaderSymbolCount()
const;
697 void GetLeaderSymbols(
unsigned int & out_count,
Polygon out_leader_symbols[])
const;
702 void SetLeaderSymbols(
unsigned int in_count,
Polygon const in_leader_symbols[]);
706 void SetDisplayParallelToScreen(
bool const in_parallel =
true);
708 bool IsDisplayParallelToScreen()
const;
712 void GetDrawing(
Drawing & out_drawing)
const;
714 void SetDrawing(
Drawing const & in_drawing);
718 PMII::PrivateImpl * impl_;
740 Datum::Type GetDatumType()
const;
742 void SetDatumType(Datum::Type
const in_type);
745 unsigned int GetLabelCount()
const;
755 void GetLabels(
unsigned int & out_count,
String out_labels[],
TextAttributes out_text_attributes[])
const;
761 void SetLabels(
unsigned int in_count,
String const in_labels[],
TextAttributes const in_text_attributes[]);
783 Dimension::Type GetDimensionType()
const;
785 void SetDimensionType(Dimension::Type
const in_type);
788 Dimension::SubType GetDimensionSubType()
const;
790 void SetDimensionSubType(Dimension::SubType
const in_sub_type);
793 unsigned int GetStringCount()
const;
803 void GetStrings(
unsigned int & out_count,
String out_strings[],
TextAttributes out_text_attributes[])
const;
809 void SetStrings(
unsigned int in_count,
String const in_strings[],
TextAttributes const in_text_attributes[]);
828 virtual Type GetType()
const {
return PMI::FeatureControlFrameType; };
835 void GetToleranceType(Tolerance::Type & out_tolerance_type,
TextAttributes & out_text_attributes)
const;
840 void SetToleranceType(Tolerance::Type
const in_tolerance_type,
TextAttributes const & in_text_attributes);
847 void GetDiameterModifierType(DiameterModifier::Type & out_diameter_modifier_type,
TextAttributes & out_text_attributes)
const;
852 void SetDiameterModifierType(DiameterModifier::Type
const in_diameter_modifier_type,
TextAttributes const & in_text_attributes);
859 void GetZoneToleranceMagnitude(
String & out_zone_tolerance_magnitude,
TextAttributes & out_text_attributes)
const;
865 void SetZoneToleranceMagnitude(
String const & in_zone_tolerance_magnitude,
TextAttributes const & in_text_attributes);
872 void GetFirstZoneModifierType(ZoneModifier::Type & out_zone_modifier_type,
TextAttributes & out_text_attributes)
const;
878 void SetFirstZoneModifierType(ZoneModifier::Type
const in_zone_modifier_type,
TextAttributes const & in_text_attributes);
885 void GetSecondZoneModifierType(ZoneModifier::Type & out_zone_modifier_type,
TextAttributes & out_text_attributes)
const;
891 void SetSecondZoneModifierType(ZoneModifier::Type
const in_zone_modifier_type,
TextAttributes const & in_text_attributes);
898 void GetProjectedMagnitude(
String & out_projected_magnitude,
TextAttributes & out_text_attributes)
const;
904 void SetProjectedMagnitude(
String const & in_projected_magnitude,
TextAttributes const & in_text_attributes);
907 unsigned int GetDatumReferenceCount()
const;
921 void GetDatumReferences(
unsigned int & out_count,
String out_labels[],
TextAttributes out_label_attributes[],
922 DatumModifier::Type out_modifiers[],
TextAttributes out_modifier_attributes[]);
930 void SetDatumReferences(
unsigned int in_count,
String const in_labels[],
TextAttributes const in_label_attributes[],
931 DatumModifier::Type
const in_modifiers[],
TextAttributes const in_modifier_attributes[]);
953 unsigned int GetStringCount()
const;
963 void GetStrings(
unsigned int & out_count,
String out_strings[],
TextAttributes out_text_attributes[])
const;
969 void SetStrings(
unsigned int in_count,
String const in_strings[],
TextAttributes const in_text_attributes[]);
975 void SetDisplayParallelToScreen(
bool const in_parallel =
true);
979 bool IsDisplayParallelToScreen()
const;
1002 unsigned int GetStringCount()
const;
1012 void GetStrings(
unsigned int & out_count,
String out_strings[],
TextAttributes out_text_attributes[])
const;
1018 void SetStrings(
unsigned int in_count,
String const in_strings[],
TextAttributes const in_text_attributes[]);
1040 Roughness::Obtention::Type GetObtentionType()
const;
1042 void SetObtentionType(Roughness::Obtention::Type
const in_obtention_type);
1045 Roughness::Applicability::Type GetApplicabilityType()
const;
1047 void SetApplicabilityType(Roughness::Applicability::Type
const in_applicability_type);
1050 Roughness::Mode::Type GetModeType()
const;
1052 void SetModeType(Roughness::Mode::Type
const in_mode_type);
1055 unsigned int GetFieldCount()
const;
1065 void GetFields(
unsigned int & out_count,
String out_fields[],
TextAttributes out_text_attributes[])
const;
1071 void SetFields(
unsigned int in_count,
String const in_fields[],
TextAttributes const in_text_attributes[]);
1091 void GetCamera(
Camera & out_camera)
const;
1093 void GetCamera(
Point & out_position,
Point & out_target,
Point & out_up_vector,
float & out_field_width,
float & out_field_height,
1094 char out_projection[128]);
1096 void GetCamera(
float out_position[3],
float out_target[3],
float out_up_vector[3],
float & out_field_width,
float & out_field_height,
1097 char out_projection[128]);
1099 void SetCamera(
Camera const & in_camera);
1101 void SetCamera(
Point const & in_position,
Point const & in_target,
Point const & in_up_vector,
float in_field_width,
1102 float in_field_height,
char const in_projection[128]);
1104 void SetCamera(
float const in_position[3],
float const in_target[3],
float const in_up_vector[3],
float in_field_width,
1105 float in_field_height,
char const in_projection[128]);
1108 void GetFrame(
Frame & out_frame)
const;
1110 void SetFrame(
Frame const & in_frame);
1113 void GetName(
String & out_name)
const;
1115 void SetName(
String const & in_name);
1118 void SetName(
char const * in_utf8_string);
1121 unsigned int GetAssociatedEntityCount()
const;
1128 void GetAssociatedEntities(
unsigned int & out_count,
Entity out_entities[])
const;
1133 void SetAssociatedEntities(
unsigned int in_count,
Entity const in_entities[]);
1136 PMII::PrivateImpl * impl_;
1148 #endif // _HUTILITYPMI_H
Definition: HUtilityPMI.h:651
Definition: HUtilityPMI.h:581
Definition: HUtilityPMI.h:987
virtual Type GetType() const
Definition: HUtilityPMI.h:664
virtual Type GetType() const
Definition: HUtilityPMI.h:780
The HCamera class is the data type of a HOOPS Camera Attribute.
Definition: HUtility.h:537
Definition: HUtilityPMI.h:264
Definition: HDWFMisc.h:22
Definition: HUtilityPMI.h:296
virtual Type GetType() const
Definition: HUtilityPMI.h:999
virtual Type GetType() const
Definition: HUtilityPMI.h:1037
Definition: HUtilityPMI.h:816
Definition: HUtilityPMI.h:450
Definition: HUtilityPMI.h:392
Definition: HUtilityPMI.h:1025
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
Type
Definition: HUtilityPMI.h:40
Definition: HUtilityPMI.h:333
Definition: HUtilityPMI.h:503
Definition: HUtilityPMI.h:1078
Definition: HDGNHelper.h:446
Definition: HUtilityPMI.h:768
Definition: HUtilityPMI.h:938
Definition: HUtilityPMI.h:725
Definition: HUtilityPMI.h:613
virtual Type GetType() const
Definition: HUtilityPMI.h:828
virtual Type GetType() const
Definition: HUtilityPMI.h:737
virtual Type GetType() const
Definition: HUtilityPMI.h:950