#[derive(Debug)]
pub struct Arena<T> {
pub items: Vec<T>,
}
impl<T> Default for Arena<T> {
fn default() -> Self {
Arena { items: Vec::new() }
}
}
impl<T> Arena<T> {
pub fn push(&mut self, v: T) -> usize {
let i = self.items.len();
self.items.push(v);
i
}
pub fn get(&self, i: usize) -> &T {
&self.items[i]
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Logical {
True,
False,
Unknown,
}
impl Logical {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"T" => Self::True,
"F" => Self::False,
"U" | "UNKNOWN" => Self::Unknown,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::True => ".T.",
Self::False => ".F.",
Self::Unknown => ".U.",
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum MeasureScalar {
Int(i64),
Real(f64),
}
impl MeasureScalar {
pub fn as_f64(&self) -> f64 {
match self {
Self::Int(i) => *i as f64,
Self::Real(r) => *r,
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub struct MeasureValue {
pub type_name: Option<String>,
pub value: MeasureScalar,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StringSelectValue {
pub type_name: Option<String>,
pub value: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IntMeasureValue {
pub type_name: Option<String>,
pub value: i64,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AheadOrBehind {
Ahead,
Exact,
Behind,
}
impl AheadOrBehind {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"AHEAD" => Self::Ahead,
"EXACT" => Self::Exact,
"BEHIND" => Self::Behind,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Ahead => ".AHEAD.",
Self::Exact => ".EXACT.",
Self::Behind => ".BEHIND.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AngleRelator {
Equal,
Large,
Small,
}
impl AngleRelator {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"EQUAL" => Self::Equal,
"LARGE" => Self::Large,
"SMALL" => Self::Small,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Equal => ".EQUAL.",
Self::Large => ".LARGE.",
Self::Small => ".SMALL.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AnnotationPlaceholderOccurrenceRole {
AnnotationText,
GpsData,
}
impl AnnotationPlaceholderOccurrenceRole {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"ANNOTATION_TEXT" => Self::AnnotationText,
"GPS_DATA" => Self::GpsData,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::AnnotationText => ".ANNOTATION_TEXT.",
Self::GpsData => ".GPS_DATA.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ApproximationMethod {
ChordalDeviation,
ChordalLength,
}
impl ApproximationMethod {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CHORDAL_DEVIATION" => Self::ChordalDeviation,
"CHORDAL_LENGTH" => Self::ChordalLength,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::ChordalDeviation => ".CHORDAL_DEVIATION.",
Self::ChordalLength => ".CHORDAL_LENGTH.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AreaUnitType {
Circular,
Cylindrical,
Rectangular,
Spherical,
Square,
}
impl AreaUnitType {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CIRCULAR" => Self::Circular,
"CYLINDRICAL" => Self::Cylindrical,
"RECTANGULAR" => Self::Rectangular,
"SPHERICAL" => Self::Spherical,
"SQUARE" => Self::Square,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Circular => ".CIRCULAR.",
Self::Cylindrical => ".CYLINDRICAL.",
Self::Rectangular => ".RECTANGULAR.",
Self::Spherical => ".SPHERICAL.",
Self::Square => ".SQUARE.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BSplineCurveForm {
PolylineForm,
CircularArc,
EllipticArc,
ParabolicArc,
HyperbolicArc,
Unspecified,
}
impl BSplineCurveForm {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"POLYLINE_FORM" => Self::PolylineForm,
"CIRCULAR_ARC" => Self::CircularArc,
"ELLIPTIC_ARC" => Self::EllipticArc,
"PARABOLIC_ARC" => Self::ParabolicArc,
"HYPERBOLIC_ARC" => Self::HyperbolicArc,
"UNSPECIFIED" => Self::Unspecified,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::PolylineForm => ".POLYLINE_FORM.",
Self::CircularArc => ".CIRCULAR_ARC.",
Self::EllipticArc => ".ELLIPTIC_ARC.",
Self::ParabolicArc => ".PARABOLIC_ARC.",
Self::HyperbolicArc => ".HYPERBOLIC_ARC.",
Self::Unspecified => ".UNSPECIFIED.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum BSplineSurfaceForm {
PlaneSurf,
CylindricalSurf,
ConicalSurf,
SphericalSurf,
ToroidalSurf,
SurfOfRevolution,
RuledSurf,
GeneralisedCone,
QuadricSurf,
SurfOfLinearExtrusion,
Unspecified,
}
impl BSplineSurfaceForm {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"PLANE_SURF" => Self::PlaneSurf,
"CYLINDRICAL_SURF" => Self::CylindricalSurf,
"CONICAL_SURF" => Self::ConicalSurf,
"SPHERICAL_SURF" => Self::SphericalSurf,
"TOROIDAL_SURF" => Self::ToroidalSurf,
"SURF_OF_REVOLUTION" => Self::SurfOfRevolution,
"RULED_SURF" => Self::RuledSurf,
"GENERALISED_CONE" => Self::GeneralisedCone,
"QUADRIC_SURF" => Self::QuadricSurf,
"SURF_OF_LINEAR_EXTRUSION" => Self::SurfOfLinearExtrusion,
"UNSPECIFIED" => Self::Unspecified,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::PlaneSurf => ".PLANE_SURF.",
Self::CylindricalSurf => ".CYLINDRICAL_SURF.",
Self::ConicalSurf => ".CONICAL_SURF.",
Self::SphericalSurf => ".SPHERICAL_SURF.",
Self::ToroidalSurf => ".TOROIDAL_SURF.",
Self::SurfOfRevolution => ".SURF_OF_REVOLUTION.",
Self::RuledSurf => ".RULED_SURF.",
Self::GeneralisedCone => ".GENERALISED_CONE.",
Self::QuadricSurf => ".QUADRIC_SURF.",
Self::SurfOfLinearExtrusion => ".SURF_OF_LINEAR_EXTRUSION.",
Self::Unspecified => ".UNSPECIFIED.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum CentralOrParallel {
Central,
Parallel,
}
impl CentralOrParallel {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CENTRAL" => Self::Central,
"PARALLEL" => Self::Parallel,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Central => ".CENTRAL.",
Self::Parallel => ".PARALLEL.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DatumReferenceModifierType {
CircularOrCylindrical,
Distance,
Projected,
Spherical,
}
impl DatumReferenceModifierType {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CIRCULAR_OR_CYLINDRICAL" => Self::CircularOrCylindrical,
"DISTANCE" => Self::Distance,
"PROJECTED" => Self::Projected,
"SPHERICAL" => Self::Spherical,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::CircularOrCylindrical => ".CIRCULAR_OR_CYLINDRICAL.",
Self::Distance => ".DISTANCE.",
Self::Projected => ".PROJECTED.",
Self::Spherical => ".SPHERICAL.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DesApllPointSymbol {
Circle,
Dot,
InternalPairForwardArrowhead,
InternalPairReverseArrowhead,
None,
PositiveArrowhead,
Triangle,
}
impl DesApllPointSymbol {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CIRCLE" => Self::Circle,
"DOT" => Self::Dot,
"INTERNAL_PAIR_FORWARD_ARROWHEAD" => Self::InternalPairForwardArrowhead,
"INTERNAL_PAIR_REVERSE_ARROWHEAD" => Self::InternalPairReverseArrowhead,
"NONE" => Self::None,
"POSITIVE_ARROWHEAD" => Self::PositiveArrowhead,
"TRIANGLE" => Self::Triangle,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Circle => ".CIRCLE.",
Self::Dot => ".DOT.",
Self::InternalPairForwardArrowhead => ".INTERNAL_PAIR_FORWARD_ARROWHEAD.",
Self::InternalPairReverseArrowhead => ".INTERNAL_PAIR_REVERSE_ARROWHEAD.",
Self::None => ".NONE.",
Self::PositiveArrowhead => ".POSITIVE_ARROWHEAD.",
Self::Triangle => ".TRIANGLE.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum GeometricToleranceModifier {
AnyCrossSection,
AssociatedLeastSquareFeature,
AssociatedMaximumInscribedFeature,
AssociatedMinimumInscribedFeature,
AssociatedMinmaxFeature,
AssociatedTangentFeature,
CircleA,
CommonZone,
EachRadialElement,
FreeState,
LeastMaterialRequirement,
LineElement,
MajorDiameter,
MaximumMaterialRequirement,
MinorDiameter,
NotConvex,
PeakHeight,
PitchDiameter,
ReciprocityRequirement,
ReferenceLeastSquareFeatureWithExternalMaterialConstraint,
ReferenceLeastSquareFeatureWithInternalMaterialConstraint,
ReferenceLeastSquareFeatureWithoutConstraint,
ReferenceMaximumInscribedFeature,
ReferenceMinimaxFeatureWithExternalMaterialConstraint,
ReferenceMinimaxFeatureWithInternalMaterialConstraint,
ReferenceMinimaxFeatureWithoutConstraint,
ReferenceMinimumCircumscribedFeature,
SeparateRequirement,
StandardDeviation,
StatisticalTolerance,
TangentPlane,
TotalRangeDeviations,
UnitedFeature,
ValleyDepth,
}
impl GeometricToleranceModifier {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"ANY_CROSS_SECTION" => Self::AnyCrossSection,
"ASSOCIATED_LEAST_SQUARE_FEATURE" => Self::AssociatedLeastSquareFeature,
"ASSOCIATED_MAXIMUM_INSCRIBED_FEATURE" => Self::AssociatedMaximumInscribedFeature,
"ASSOCIATED_MINIMUM_INSCRIBED_FEATURE" => Self::AssociatedMinimumInscribedFeature,
"ASSOCIATED_MINMAX_FEATURE" => Self::AssociatedMinmaxFeature,
"ASSOCIATED_TANGENT_FEATURE" => Self::AssociatedTangentFeature,
"CIRCLE_A" => Self::CircleA,
"COMMON_ZONE" => Self::CommonZone,
"EACH_RADIAL_ELEMENT" => Self::EachRadialElement,
"FREE_STATE" => Self::FreeState,
"LEAST_MATERIAL_REQUIREMENT" => Self::LeastMaterialRequirement,
"LINE_ELEMENT" => Self::LineElement,
"MAJOR_DIAMETER" => Self::MajorDiameter,
"MAXIMUM_MATERIAL_REQUIREMENT" => Self::MaximumMaterialRequirement,
"MINOR_DIAMETER" => Self::MinorDiameter,
"NOT_CONVEX" => Self::NotConvex,
"PEAK_HEIGHT" => Self::PeakHeight,
"PITCH_DIAMETER" => Self::PitchDiameter,
"RECIPROCITY_REQUIREMENT" => Self::ReciprocityRequirement,
"REFERENCE_LEAST_SQUARE_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT" => {
Self::ReferenceLeastSquareFeatureWithExternalMaterialConstraint
}
"REFERENCE_LEAST_SQUARE_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT" => {
Self::ReferenceLeastSquareFeatureWithInternalMaterialConstraint
}
"REFERENCE_LEAST_SQUARE_FEATURE_WITHOUT_CONSTRAINT" => {
Self::ReferenceLeastSquareFeatureWithoutConstraint
}
"REFERENCE_MAXIMUM_INSCRIBED_FEATURE" => Self::ReferenceMaximumInscribedFeature,
"REFERENCE_MINIMAX_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT" => {
Self::ReferenceMinimaxFeatureWithExternalMaterialConstraint
}
"REFERENCE_MINIMAX_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT" => {
Self::ReferenceMinimaxFeatureWithInternalMaterialConstraint
}
"REFERENCE_MINIMAX_FEATURE_WITHOUT_CONSTRAINT" => {
Self::ReferenceMinimaxFeatureWithoutConstraint
}
"REFERENCE_MINIMUM_CIRCUMSCRIBED_FEATURE" => Self::ReferenceMinimumCircumscribedFeature,
"SEPARATE_REQUIREMENT" => Self::SeparateRequirement,
"STANDARD_DEVIATION" => Self::StandardDeviation,
"STATISTICAL_TOLERANCE" => Self::StatisticalTolerance,
"TANGENT_PLANE" => Self::TangentPlane,
"TOTAL_RANGE_DEVIATIONS" => Self::TotalRangeDeviations,
"UNITED_FEATURE" => Self::UnitedFeature,
"VALLEY_DEPTH" => Self::ValleyDepth,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::AnyCrossSection => ".ANY_CROSS_SECTION.",
Self::AssociatedLeastSquareFeature => ".ASSOCIATED_LEAST_SQUARE_FEATURE.",
Self::AssociatedMaximumInscribedFeature => ".ASSOCIATED_MAXIMUM_INSCRIBED_FEATURE.",
Self::AssociatedMinimumInscribedFeature => ".ASSOCIATED_MINIMUM_INSCRIBED_FEATURE.",
Self::AssociatedMinmaxFeature => ".ASSOCIATED_MINMAX_FEATURE.",
Self::AssociatedTangentFeature => ".ASSOCIATED_TANGENT_FEATURE.",
Self::CircleA => ".CIRCLE_A.",
Self::CommonZone => ".COMMON_ZONE.",
Self::EachRadialElement => ".EACH_RADIAL_ELEMENT.",
Self::FreeState => ".FREE_STATE.",
Self::LeastMaterialRequirement => ".LEAST_MATERIAL_REQUIREMENT.",
Self::LineElement => ".LINE_ELEMENT.",
Self::MajorDiameter => ".MAJOR_DIAMETER.",
Self::MaximumMaterialRequirement => ".MAXIMUM_MATERIAL_REQUIREMENT.",
Self::MinorDiameter => ".MINOR_DIAMETER.",
Self::NotConvex => ".NOT_CONVEX.",
Self::PeakHeight => ".PEAK_HEIGHT.",
Self::PitchDiameter => ".PITCH_DIAMETER.",
Self::ReciprocityRequirement => ".RECIPROCITY_REQUIREMENT.",
Self::ReferenceLeastSquareFeatureWithExternalMaterialConstraint => {
".REFERENCE_LEAST_SQUARE_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT."
}
Self::ReferenceLeastSquareFeatureWithInternalMaterialConstraint => {
".REFERENCE_LEAST_SQUARE_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT."
}
Self::ReferenceLeastSquareFeatureWithoutConstraint => {
".REFERENCE_LEAST_SQUARE_FEATURE_WITHOUT_CONSTRAINT."
}
Self::ReferenceMaximumInscribedFeature => ".REFERENCE_MAXIMUM_INSCRIBED_FEATURE.",
Self::ReferenceMinimaxFeatureWithExternalMaterialConstraint => {
".REFERENCE_MINIMAX_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT."
}
Self::ReferenceMinimaxFeatureWithInternalMaterialConstraint => {
".REFERENCE_MINIMAX_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT."
}
Self::ReferenceMinimaxFeatureWithoutConstraint => {
".REFERENCE_MINIMAX_FEATURE_WITHOUT_CONSTRAINT."
}
Self::ReferenceMinimumCircumscribedFeature => {
".REFERENCE_MINIMUM_CIRCUMSCRIBED_FEATURE."
}
Self::SeparateRequirement => ".SEPARATE_REQUIREMENT.",
Self::StandardDeviation => ".STANDARD_DEVIATION.",
Self::StatisticalTolerance => ".STATISTICAL_TOLERANCE.",
Self::TangentPlane => ".TANGENT_PLANE.",
Self::TotalRangeDeviations => ".TOTAL_RANGE_DEVIATIONS.",
Self::UnitedFeature => ".UNITED_FEATURE.",
Self::ValleyDepth => ".VALLEY_DEPTH.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum KnotType {
UniformKnots,
QuasiUniformKnots,
PiecewiseBezierKnots,
Unspecified,
}
impl KnotType {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"UNIFORM_KNOTS" => Self::UniformKnots,
"QUASI_UNIFORM_KNOTS" => Self::QuasiUniformKnots,
"PIECEWISE_BEZIER_KNOTS" => Self::PiecewiseBezierKnots,
"UNSPECIFIED" => Self::Unspecified,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::UniformKnots => ".UNIFORM_KNOTS.",
Self::QuasiUniformKnots => ".QUASI_UNIFORM_KNOTS.",
Self::PiecewiseBezierKnots => ".PIECEWISE_BEZIER_KNOTS.",
Self::Unspecified => ".UNSPECIFIED.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum LimitCondition {
MaximumMaterialCondition,
LeastMaterialCondition,
RegardlessOfFeatureSize,
}
impl LimitCondition {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"MAXIMUM_MATERIAL_CONDITION" => Self::MaximumMaterialCondition,
"LEAST_MATERIAL_CONDITION" => Self::LeastMaterialCondition,
"REGARDLESS_OF_FEATURE_SIZE" => Self::RegardlessOfFeatureSize,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::MaximumMaterialCondition => ".MAXIMUM_MATERIAL_CONDITION.",
Self::LeastMaterialCondition => ".LEAST_MATERIAL_CONDITION.",
Self::RegardlessOfFeatureSize => ".REGARDLESS_OF_FEATURE_SIZE.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MarkerType {
Dot,
X,
Plus,
Asterisk,
Ring,
Square,
Triangle,
}
impl MarkerType {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"DOT" => Self::Dot,
"X" => Self::X,
"PLUS" => Self::Plus,
"ASTERISK" => Self::Asterisk,
"RING" => Self::Ring,
"SQUARE" => Self::Square,
"TRIANGLE" => Self::Triangle,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Dot => ".DOT.",
Self::X => ".X.",
Self::Plus => ".PLUS.",
Self::Asterisk => ".ASTERISK.",
Self::Ring => ".RING.",
Self::Square => ".SQUARE.",
Self::Triangle => ".TRIANGLE.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum NullStyle {
Null,
}
impl NullStyle {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"NULL" => Self::Null,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Null => ".NULL.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum PreferredSurfaceCurveRepresentation {
Curve3d,
PcurveS1,
PcurveS2,
}
impl PreferredSurfaceCurveRepresentation {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CURVE_3D" => Self::Curve3d,
"PCURVE_S1" => Self::PcurveS1,
"PCURVE_S2" => Self::PcurveS2,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Curve3d => ".CURVE_3D.",
Self::PcurveS1 => ".PCURVE_S1.",
Self::PcurveS2 => ".PCURVE_S2.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ProductOrPresentationSpace {
ProductShapeSpace,
PresentationAreaSpace,
}
impl ProductOrPresentationSpace {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"PRODUCT_SHAPE_SPACE" => Self::ProductShapeSpace,
"PRESENTATION_AREA_SPACE" => Self::PresentationAreaSpace,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::ProductShapeSpace => ".PRODUCT_SHAPE_SPACE.",
Self::PresentationAreaSpace => ".PRESENTATION_AREA_SPACE.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ShadingCurveMethod {
ConstantColour,
LinearColour,
}
impl ShadingCurveMethod {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CONSTANT_COLOUR" => Self::ConstantColour,
"LINEAR_COLOUR" => Self::LinearColour,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::ConstantColour => ".CONSTANT_COLOUR.",
Self::LinearColour => ".LINEAR_COLOUR.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ShadingSurfaceMethod {
ConstantShading,
ColourShading,
DotShading,
NormalShading,
}
impl ShadingSurfaceMethod {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CONSTANT_SHADING" => Self::ConstantShading,
"COLOUR_SHADING" => Self::ColourShading,
"DOT_SHADING" => Self::DotShading,
"NORMAL_SHADING" => Self::NormalShading,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::ConstantShading => ".CONSTANT_SHADING.",
Self::ColourShading => ".COLOUR_SHADING.",
Self::DotShading => ".DOT_SHADING.",
Self::NormalShading => ".NORMAL_SHADING.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SiPrefix {
Exa,
Peta,
Tera,
Giga,
Mega,
Kilo,
Hecto,
Deca,
Deci,
Centi,
Milli,
Micro,
Nano,
Pico,
Femto,
Atto,
}
impl SiPrefix {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"EXA" => Self::Exa,
"PETA" => Self::Peta,
"TERA" => Self::Tera,
"GIGA" => Self::Giga,
"MEGA" => Self::Mega,
"KILO" => Self::Kilo,
"HECTO" => Self::Hecto,
"DECA" => Self::Deca,
"DECI" => Self::Deci,
"CENTI" => Self::Centi,
"MILLI" => Self::Milli,
"MICRO" => Self::Micro,
"NANO" => Self::Nano,
"PICO" => Self::Pico,
"FEMTO" => Self::Femto,
"ATTO" => Self::Atto,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Exa => ".EXA.",
Self::Peta => ".PETA.",
Self::Tera => ".TERA.",
Self::Giga => ".GIGA.",
Self::Mega => ".MEGA.",
Self::Kilo => ".KILO.",
Self::Hecto => ".HECTO.",
Self::Deca => ".DECA.",
Self::Deci => ".DECI.",
Self::Centi => ".CENTI.",
Self::Milli => ".MILLI.",
Self::Micro => ".MICRO.",
Self::Nano => ".NANO.",
Self::Pico => ".PICO.",
Self::Femto => ".FEMTO.",
Self::Atto => ".ATTO.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SiUnitName {
Metre,
Gram,
Second,
Ampere,
Kelvin,
Mole,
Candela,
Radian,
Steradian,
Hertz,
Newton,
Pascal,
Joule,
Watt,
Coulomb,
Volt,
Farad,
Ohm,
Siemens,
Weber,
Tesla,
Henry,
DegreeCelsius,
Lumen,
Lux,
Becquerel,
Gray,
Sievert,
}
impl SiUnitName {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"METRE" => Self::Metre,
"GRAM" => Self::Gram,
"SECOND" => Self::Second,
"AMPERE" => Self::Ampere,
"KELVIN" => Self::Kelvin,
"MOLE" => Self::Mole,
"CANDELA" => Self::Candela,
"RADIAN" => Self::Radian,
"STERADIAN" => Self::Steradian,
"HERTZ" => Self::Hertz,
"NEWTON" => Self::Newton,
"PASCAL" => Self::Pascal,
"JOULE" => Self::Joule,
"WATT" => Self::Watt,
"COULOMB" => Self::Coulomb,
"VOLT" => Self::Volt,
"FARAD" => Self::Farad,
"OHM" => Self::Ohm,
"SIEMENS" => Self::Siemens,
"WEBER" => Self::Weber,
"TESLA" => Self::Tesla,
"HENRY" => Self::Henry,
"DEGREE_CELSIUS" => Self::DegreeCelsius,
"LUMEN" => Self::Lumen,
"LUX" => Self::Lux,
"BECQUEREL" => Self::Becquerel,
"GRAY" => Self::Gray,
"SIEVERT" => Self::Sievert,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Metre => ".METRE.",
Self::Gram => ".GRAM.",
Self::Second => ".SECOND.",
Self::Ampere => ".AMPERE.",
Self::Kelvin => ".KELVIN.",
Self::Mole => ".MOLE.",
Self::Candela => ".CANDELA.",
Self::Radian => ".RADIAN.",
Self::Steradian => ".STERADIAN.",
Self::Hertz => ".HERTZ.",
Self::Newton => ".NEWTON.",
Self::Pascal => ".PASCAL.",
Self::Joule => ".JOULE.",
Self::Watt => ".WATT.",
Self::Coulomb => ".COULOMB.",
Self::Volt => ".VOLT.",
Self::Farad => ".FARAD.",
Self::Ohm => ".OHM.",
Self::Siemens => ".SIEMENS.",
Self::Weber => ".WEBER.",
Self::Tesla => ".TESLA.",
Self::Henry => ".HENRY.",
Self::DegreeCelsius => ".DEGREE_CELSIUS.",
Self::Lumen => ".LUMEN.",
Self::Lux => ".LUX.",
Self::Becquerel => ".BECQUEREL.",
Self::Gray => ".GRAY.",
Self::Sievert => ".SIEVERT.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SimpleDatumReferenceModifier {
AnyCrossSection,
AnyLongitudinalSection,
Basic,
ContactingFeature,
DegreeOfFreedomConstraintU,
DegreeOfFreedomConstraintV,
DegreeOfFreedomConstraintW,
DegreeOfFreedomConstraintX,
DegreeOfFreedomConstraintY,
DegreeOfFreedomConstraintZ,
DistanceVariable,
FreeState,
LeastMaterialRequirement,
Line,
MajorDiameter,
MaximumMaterialRequirement,
MinorDiameter,
Orientation,
PitchDiameter,
Plane,
Point,
Translation,
}
impl SimpleDatumReferenceModifier {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"ANY_CROSS_SECTION" => Self::AnyCrossSection,
"ANY_LONGITUDINAL_SECTION" => Self::AnyLongitudinalSection,
"BASIC" => Self::Basic,
"CONTACTING_FEATURE" => Self::ContactingFeature,
"DEGREE_OF_FREEDOM_CONSTRAINT_U" => Self::DegreeOfFreedomConstraintU,
"DEGREE_OF_FREEDOM_CONSTRAINT_V" => Self::DegreeOfFreedomConstraintV,
"DEGREE_OF_FREEDOM_CONSTRAINT_W" => Self::DegreeOfFreedomConstraintW,
"DEGREE_OF_FREEDOM_CONSTRAINT_X" => Self::DegreeOfFreedomConstraintX,
"DEGREE_OF_FREEDOM_CONSTRAINT_Y" => Self::DegreeOfFreedomConstraintY,
"DEGREE_OF_FREEDOM_CONSTRAINT_Z" => Self::DegreeOfFreedomConstraintZ,
"DISTANCE_VARIABLE" => Self::DistanceVariable,
"FREE_STATE" => Self::FreeState,
"LEAST_MATERIAL_REQUIREMENT" => Self::LeastMaterialRequirement,
"LINE" => Self::Line,
"MAJOR_DIAMETER" => Self::MajorDiameter,
"MAXIMUM_MATERIAL_REQUIREMENT" => Self::MaximumMaterialRequirement,
"MINOR_DIAMETER" => Self::MinorDiameter,
"ORIENTATION" => Self::Orientation,
"PITCH_DIAMETER" => Self::PitchDiameter,
"PLANE" => Self::Plane,
"POINT" => Self::Point,
"TRANSLATION" => Self::Translation,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::AnyCrossSection => ".ANY_CROSS_SECTION.",
Self::AnyLongitudinalSection => ".ANY_LONGITUDINAL_SECTION.",
Self::Basic => ".BASIC.",
Self::ContactingFeature => ".CONTACTING_FEATURE.",
Self::DegreeOfFreedomConstraintU => ".DEGREE_OF_FREEDOM_CONSTRAINT_U.",
Self::DegreeOfFreedomConstraintV => ".DEGREE_OF_FREEDOM_CONSTRAINT_V.",
Self::DegreeOfFreedomConstraintW => ".DEGREE_OF_FREEDOM_CONSTRAINT_W.",
Self::DegreeOfFreedomConstraintX => ".DEGREE_OF_FREEDOM_CONSTRAINT_X.",
Self::DegreeOfFreedomConstraintY => ".DEGREE_OF_FREEDOM_CONSTRAINT_Y.",
Self::DegreeOfFreedomConstraintZ => ".DEGREE_OF_FREEDOM_CONSTRAINT_Z.",
Self::DistanceVariable => ".DISTANCE_VARIABLE.",
Self::FreeState => ".FREE_STATE.",
Self::LeastMaterialRequirement => ".LEAST_MATERIAL_REQUIREMENT.",
Self::Line => ".LINE.",
Self::MajorDiameter => ".MAJOR_DIAMETER.",
Self::MaximumMaterialRequirement => ".MAXIMUM_MATERIAL_REQUIREMENT.",
Self::MinorDiameter => ".MINOR_DIAMETER.",
Self::Orientation => ".ORIENTATION.",
Self::PitchDiameter => ".PITCH_DIAMETER.",
Self::Plane => ".PLANE.",
Self::Point => ".POINT.",
Self::Translation => ".TRANSLATION.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Source {
Made,
Bought,
NotKnown,
}
impl Source {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"MADE" => Self::Made,
"BOUGHT" => Self::Bought,
"NOT_KNOWN" => Self::NotKnown,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Made => ".MADE.",
Self::Bought => ".BOUGHT.",
Self::NotKnown => ".NOT_KNOWN.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SurfaceSide {
Positive,
Negative,
Both,
}
impl SurfaceSide {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"POSITIVE" => Self::Positive,
"NEGATIVE" => Self::Negative,
"BOTH" => Self::Both,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Positive => ".POSITIVE.",
Self::Negative => ".NEGATIVE.",
Self::Both => ".BOTH.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TextPath {
Left,
Right,
Up,
Down,
}
impl TextPath {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"LEFT" => Self::Left,
"RIGHT" => Self::Right,
"UP" => Self::Up,
"DOWN" => Self::Down,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Left => ".LEFT.",
Self::Right => ".RIGHT.",
Self::Up => ".UP.",
Self::Down => ".DOWN.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TransitionCode {
Discontinuous,
Continuous,
ContSameGradient,
ContSameGradientSameCurvature,
}
impl TransitionCode {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"DISCONTINUOUS" => Self::Discontinuous,
"CONTINUOUS" => Self::Continuous,
"CONT_SAME_GRADIENT" => Self::ContSameGradient,
"CONT_SAME_GRADIENT_SAME_CURVATURE" => Self::ContSameGradientSameCurvature,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Discontinuous => ".DISCONTINUOUS.",
Self::Continuous => ".CONTINUOUS.",
Self::ContSameGradient => ".CONT_SAME_GRADIENT.",
Self::ContSameGradientSameCurvature => ".CONT_SAME_GRADIENT_SAME_CURVATURE.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TrimmingPreference {
Cartesian,
Parameter,
Unspecified,
}
impl TrimmingPreference {
pub fn parse(s: &str) -> Option<Self> {
Some(match s {
"CARTESIAN" => Self::Cartesian,
"PARAMETER" => Self::Parameter,
"UNSPECIFIED" => Self::Unspecified,
_ => return None,
})
}
pub fn token(self) -> &'static str {
match self {
Self::Cartesian => ".CARTESIAN.",
Self::Parameter => ".PARAMETER.",
Self::Unspecified => ".UNSPECIFIED.",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionDirectiveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionMethodId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionMethodRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionPropertyId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionRequestAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionRequestSolutionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionResourceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionResourceRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionResourceRequirementId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ActionResourceTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AddressId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AdvancedBrepShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AdvancedFaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AllAroundShapeAspectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AngularLocationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AngularSizeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AngularityToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationCurveOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationFillAreaOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationOccurrenceAssociativityId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationOccurrenceRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationPlaceholderLeaderLineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationPlaceholderOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationPlaceholderOccurrenceWithLeaderLineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationPlaneId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationSymbolOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationTextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationTextCharacterId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationTextOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationToAnnotationLeaderLineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AnnotationToModelLeaderLineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApllPointId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApllPointWithSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApplicationContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApplicationContextElementId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApplicationProtocolDefinitionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedApprovalAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedDateAndTimeAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedDocumentReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedExternalIdentificationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedGroupAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedPersonAndOrganizationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedPresentedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AppliedSecurityClassificationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApprovalId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApprovalAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApprovalDateTimeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApprovalPersonOrganizationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApprovalRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApprovalStatusId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApproximationToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApproximationToleranceDeviationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ApproximationToleranceParameterId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AreaInSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AreaUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AscribableStateId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AscribableStateRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AssemblyComponentUsageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AuxiliaryLeaderLineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Axis1PlacementId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Axis2Placement2dId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Axis2Placement3dId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BSplineCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BSplineCurveWithKnotsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BSplineSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BSplineSurfaceWithKnotsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BezierCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BezierSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BoundedCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BoundedPcurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BoundedSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BoundedSurfaceCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct BrepWithVoidsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CalendarDateId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraImageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraImage3dWithScaleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraModelId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraModelD3Id(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraModelD3MultiClippingId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraModelD3WithHlhsrId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CameraUsageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CartesianPointId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CcDesignApprovalId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CcDesignDateAndTimeAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CcDesignPersonAndOrganizationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CcDesignSecurityClassificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CentreOfSymmetryId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CertificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CertificationTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ChangeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ChangeRequestId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CharacterGlyphStyleOutlineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CharacterGlyphStyleStrokeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CharacterizedItemWithinRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CharacterizedObjectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CharacterizedRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CircleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CircularRunoutToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ClosedShellId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CoaxialityToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ColourId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ColourRgbId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ColourSpecificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CommonDatumId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ComplexTriangulatedFaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ComplexTriangulatedSurfaceSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CompositeCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CompositeCurveSegmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CompositeGroupShapeAspectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CompositeShapeAspectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CompositeTextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CompoundRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConcentricityToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConfigurationDesignId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConfigurationEffectivityId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConfigurationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConicId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConicalSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConnectedFaceSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConstructiveGeometryRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConstructiveGeometryRepresentationRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ContextDependentOverRidingStyledItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ContextDependentShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ContextDependentUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ContinuousShapeAspectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ContractId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ContractTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ConversionBasedUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CoordinatedUniversalTimeOffsetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CoordinatesListId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CurveStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CurveStyleFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CurveStyleFontAndScalingId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CurveStyleFontPatternId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CurveStyleRenderingId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CylindricalSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct CylindricityToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DateId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DateAndTimeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DateAndTimeAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DateRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DateTimeRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumFeatureId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumReferenceCompartmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumReferenceElementId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumReferenceModifierWithValueId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumSystemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DatumTargetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DefaultModelGeometricViewId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DefinedCharacterGlyphId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DefinedSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DefinitionalRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DefinitionalRepresentationRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DefinitionalRepresentationRelationshipWithSameContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DegenerateToroidalSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DerivedShapeAspectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DerivedUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DerivedUnitElementId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DescriptionAttributeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DescriptiveRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DesignContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalCharacteristicRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalExponentsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalLocationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalLocationWithPathId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalSizeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalSizeWithDatumFeatureId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DimensionalSizeWithPathId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DirectedDimensionalLocationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DirectionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentFileId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentProductAssociationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentProductEquivalenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentRepresentationTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DocumentTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingAnnotationOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingCalloutId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingCalloutRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingModelId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingModelItemAssociationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingModelItemAssociationWithPlaceholderId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingPreDefinedColourId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingPreDefinedCurveFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DraughtingPreDefinedTextFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct EdgeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct EdgeCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct EdgeLoopId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct EffectivityId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ElementarySurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct EllipseId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExpressionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternalIdentificationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternalSourceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedCharacterGlyphId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedCurveFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedHatchStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedTextFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedTileId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ExternallyDefinedTileStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FaceBoundId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FaceOuterBoundId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FaceSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FeatureForDatumTargetRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleColourId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleHatchingId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleTileColouredRegionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleTileCurveWithStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleTileSymbolWithStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FillAreaStyleTilesId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FlatnessToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FoundedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct FunctionallyDefinedTransformationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeneralDatumReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeneralPropertyId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeneralPropertyAssociationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GenericExpressionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GenericLiteralId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GenericProductDefinitionReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricCurveSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricItemSpecificUsageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricRepresentationContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceWithDatumReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceWithDefinedAreaUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceWithDefinedUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceWithMaximumToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricToleranceWithModifiersId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricallyBoundedSurfaceShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GeometricallyBoundedWireframeShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GlobalUncertaintyAssignedContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GlobalUnitAssignedContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GroupId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct GroupAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct HyperbolaId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct IdAttributeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct IdentificationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct IdentificationRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct IntLiteralId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct IntegerRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct IntersectionCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct InvisibilityId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ItemDefinedTransformationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ItemIdentifiedRepresentationUsageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LeaderCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LeaderDirectedCalloutId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LeaderTerminatorId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LengthMeasureWithUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LengthUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LimitsAndFitsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LineProfileToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LiteralNumberId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LocalTimeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LoopId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MakeFromUsageOptionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ManifoldSolidBrepId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ManifoldSurfaceShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MappedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MassMeasureWithUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MassUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MeasureQualificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MeasureRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MeasureWithUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MechanicalContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MechanicalDesignAndDraughtingRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MechanicalDesignGeometricPresentationRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MechanicalDesignPresentationRepresentationWithDraughtingId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct MechanicalDesignShadedPresentationRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ModelGeometricViewId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ModifiedGeometricToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct NameAttributeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct NamedUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct NextAssemblyUsageOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct NumericExpressionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ObjectRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OffsetSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OneDirectionRepeatFactorId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OpenShellId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationTypeRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationalAddressId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationalProjectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationalProjectRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrganizationalProjectRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrientedClosedShellId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OrientedEdgeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct OverRidingStyledItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ParallelismToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ParametricRepresentationContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PathId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PcurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PerpendicularityToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PersonId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PersonAndOrganizationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PersonAndOrganizationAddressId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PersonAndOrganizationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PersonAndOrganizationRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PersonalAddressId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlacedDatumTargetFeatureId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlacementId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlanarBoxId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlanarExtentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlaneId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlaneAngleMeasureWithUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlaneAngleUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlusMinusToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PointId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PointStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PolyLoopId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PolylineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PositionToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedCharacterGlyphId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedColourId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedCurveFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedMarkerId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedPointMarkerSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedPresentationStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedSurfaceSideStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedTerminatorSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedTextFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PreDefinedTileId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PrecisionQualifierId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationAreaId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationLayerAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationSizeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationStyleAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationStyleByContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentationViewId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PresentedItemRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductCategoryId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductCategoryRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductConceptId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductConceptContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductConceptFeatureId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductConceptFeatureCategoryId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionContextAssociationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionContextRoleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionEffectivityId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionFormationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionFormationWithSpecifiedSourceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionRelationshipRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionShapeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionSubstituteId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionUsageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductDefinitionWithAssociatedDocumentsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProductRelatedProductCategoryId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ProjectedZoneDefinitionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PropertyDefinitionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PropertyDefinitionRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PropertyDefinitionRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct QualifiedRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct QuasiUniformCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct QuasiUniformSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RatioMeasureWithUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RatioUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RationalBSplineCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RationalBSplineSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RealLiteralId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RealRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepositionedTessellatedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationContextId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationContextReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationMapId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationReferenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RepresentationRelationshipWithTransformationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ResourcePropertyId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ResourceRequirementTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RoleAssociationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct RoundnessToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SeamCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SecurityClassificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SecurityClassificationAssignmentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SecurityClassificationLevelId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeAspectId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeAspectAssociativityId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeAspectDerivingRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeAspectRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeDefinitionRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeDimensionRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeRepresentationRelationshipId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShapeRepresentationWithParametersId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ShellBasedSurfaceModelId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SiUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SimpleGenericExpressionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SimpleNumericExpressionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SolidAngleUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SolidModelId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SphericalSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct StartRequestId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct StartWorkId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct StateObservedId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct StateTypeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct StraightnessToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct StyledItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceOfLinearExtrusionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceOfRevolutionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceProfileToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceRenderingPropertiesId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceSideStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleBoundaryId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleControlGridId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleFillAreaId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleParameterLineId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleReflectanceAmbientId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleRenderingId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleRenderingWithPropertiesId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleSegmentationCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleSilhouetteId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleTransparentId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SurfaceStyleUsageId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SweptSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SymbolColourId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SymbolRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SymbolStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SymbolTargetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SymmetryToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TerminatorSymbolId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedAnnotationOccurrenceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedCurveSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedFaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedGeometricSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedShapeRepresentationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedShellId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedSolidId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedStructuredItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TessellatedSurfaceSetId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextLiteralId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextStyleId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextStyleForDefinedFontId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextStyleWithBoxCharacteristicsId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextureStyleSpecificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TextureStyleTessellationSpecificationId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TimeUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ToleranceValueId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ToleranceZoneId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ToleranceZoneDefinitionId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ToleranceZoneFormId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ToleranceZoneWithDatumId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TopologicalRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ToroidalSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TotalRunoutToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TrimmedCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TwoDirectionRepeatFactorId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TypeQualifierId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct UncertaintyMeasureWithUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct UncertaintyQualifierId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct UnequallyDisposedGeometricToleranceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct UniformCurveId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct UniformSurfaceId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ValueFormatTypeQualifierId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ValueRepresentationItemId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VectorId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VersionedActionRequestId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VertexId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VertexLoopId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VertexPointId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VertexShellId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ViewVolumeId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct VolumeUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct WireShellId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ComplexUnitId(pub usize);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum EntityKey {
Action(ActionId),
ActionAssignment(ActionAssignmentId),
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionMethodRelationship(ActionMethodRelationshipId),
ActionProperty(ActionPropertyId),
ActionRelationship(ActionRelationshipId),
ActionRequestAssignment(ActionRequestAssignmentId),
ActionRequestSolution(ActionRequestSolutionId),
ActionResource(ActionResourceId),
ActionResourceRelationship(ActionResourceRelationshipId),
ActionResourceRequirement(ActionResourceRequirementId),
ActionResourceType(ActionResourceTypeId),
Address(AddressId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationOccurrenceAssociativity(AnnotationOccurrenceAssociativityId),
AnnotationOccurrenceRelationship(AnnotationOccurrenceRelationshipId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
ApplicationContext(ApplicationContextId),
ApplicationContextElement(ApplicationContextElementId),
ApplicationProtocolDefinition(ApplicationProtocolDefinitionId),
AppliedApprovalAssignment(AppliedApprovalAssignmentId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
AppliedGroupAssignment(AppliedGroupAssignmentId),
AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
AppliedPresentedItem(AppliedPresentedItemId),
AppliedSecurityClassificationAssignment(AppliedSecurityClassificationAssignmentId),
Approval(ApprovalId),
ApprovalAssignment(ApprovalAssignmentId),
ApprovalDateTime(ApprovalDateTimeId),
ApprovalPersonOrganization(ApprovalPersonOrganizationId),
ApprovalRole(ApprovalRoleId),
ApprovalStatus(ApprovalStatusId),
ApproximationTolerance(ApproximationToleranceId),
ApproximationToleranceDeviation(ApproximationToleranceDeviationId),
ApproximationToleranceParameter(ApproximationToleranceParameterId),
AreaInSet(AreaInSetId),
AreaUnit(AreaUnitId),
AscribableState(AscribableStateId),
AscribableStateRelationship(AscribableStateRelationshipId),
AssemblyComponentUsage(AssemblyComponentUsageId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CalendarDate(CalendarDateId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CameraUsage(CameraUsageId),
CartesianPoint(CartesianPointId),
CcDesignApproval(CcDesignApprovalId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
CcDesignPersonAndOrganizationAssignment(CcDesignPersonAndOrganizationAssignmentId),
CcDesignSecurityClassification(CcDesignSecurityClassificationId),
CentreOfSymmetry(CentreOfSymmetryId),
Certification(CertificationId),
CertificationType(CertificationTypeId),
Change(ChangeId),
ChangeRequest(ChangeRequestId),
CharacterGlyphStyleOutline(CharacterGlyphStyleOutlineId),
CharacterGlyphStyleStroke(CharacterGlyphStyleStrokeId),
CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
CharacterizedObject(CharacterizedObjectId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
CircularRunoutTolerance(CircularRunoutToleranceId),
ClosedShell(ClosedShellId),
CoaxialityTolerance(CoaxialityToleranceId),
Colour(ColourId),
ColourRgb(ColourRgbId),
ColourSpecification(ColourSpecificationId),
CommonDatum(CommonDatumId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeCurveSegment(CompositeCurveSegmentId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
ConcentricityTolerance(ConcentricityToleranceId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ConstructiveGeometryRepresentationRelationship(
ConstructiveGeometryRepresentationRelationshipId,
),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
ContextDependentUnit(ContextDependentUnitId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Contract(ContractId),
ContractType(ContractTypeId),
ConversionBasedUnit(ConversionBasedUnitId),
CoordinatedUniversalTimeOffset(CoordinatedUniversalTimeOffsetId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CurveStyle(CurveStyleId),
CurveStyleFont(CurveStyleFontId),
CurveStyleFontAndScaling(CurveStyleFontAndScalingId),
CurveStyleFontPattern(CurveStyleFontPatternId),
CurveStyleRendering(CurveStyleRenderingId),
CylindricalSurface(CylindricalSurfaceId),
CylindricityTolerance(CylindricityToleranceId),
Date(DateId),
DateAndTime(DateAndTimeId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
DateRole(DateRoleId),
DateTimeRole(DateTimeRoleId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReference(DatumReferenceId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumReferenceModifierWithValue(DatumReferenceModifierWithValueId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
DefinitionalRepresentationRelationshipWithSameContext(
DefinitionalRepresentationRelationshipWithSameContextId,
),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DerivedShapeAspect(DerivedShapeAspectId),
DerivedUnit(DerivedUnitId),
DerivedUnitElement(DerivedUnitElementId),
DescriptionAttribute(DescriptionAttributeId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
DesignContext(DesignContextId),
DimensionalCharacteristicRepresentation(DimensionalCharacteristicRepresentationId),
DimensionalExponents(DimensionalExponentsId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
Direction(DirectionId),
Document(DocumentId),
DocumentFile(DocumentFileId),
DocumentProductAssociation(DocumentProductAssociationId),
DocumentProductEquivalence(DocumentProductEquivalenceId),
DocumentReference(DocumentReferenceId),
DocumentRepresentationType(DocumentRepresentationTypeId),
DocumentType(DocumentTypeId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingCalloutRelationship(DraughtingCalloutRelationshipId),
DraughtingModel(DraughtingModelId),
DraughtingModelItemAssociation(DraughtingModelItemAssociationId),
DraughtingModelItemAssociationWithPlaceholder(DraughtingModelItemAssociationWithPlaceholderId),
DraughtingPreDefinedColour(DraughtingPreDefinedColourId),
DraughtingPreDefinedCurveFont(DraughtingPreDefinedCurveFontId),
DraughtingPreDefinedTextFont(DraughtingPreDefinedTextFontId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
Effectivity(EffectivityId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
Expression(ExpressionId),
ExternalIdentificationAssignment(ExternalIdentificationAssignmentId),
ExternalSource(ExternalSourceId),
ExternallyDefinedCharacterGlyph(ExternallyDefinedCharacterGlyphId),
ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedItem(ExternallyDefinedItemId),
ExternallyDefinedStyle(ExternallyDefinedStyleId),
ExternallyDefinedSymbol(ExternallyDefinedSymbolId),
ExternallyDefinedTextFont(ExternallyDefinedTextFontId),
ExternallyDefinedTile(ExternallyDefinedTileId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FillAreaStyle(FillAreaStyleId),
FillAreaStyleColour(FillAreaStyleColourId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
FlatnessTolerance(FlatnessToleranceId),
FoundedItem(FoundedItemId),
FunctionallyDefinedTransformation(FunctionallyDefinedTransformationId),
GeneralDatumReference(GeneralDatumReferenceId),
GeneralProperty(GeneralPropertyId),
GeneralPropertyAssociation(GeneralPropertyAssociationId),
GenericExpression(GenericExpressionId),
GenericLiteral(GenericLiteralId),
GenericProductDefinitionReference(GenericProductDefinitionReferenceId),
GeometricCurveSet(GeometricCurveSetId),
GeometricItemSpecificUsage(GeometricItemSpecificUsageId),
GeometricRepresentationContext(GeometricRepresentationContextId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceRelationship(GeometricToleranceRelationshipId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
GlobalUncertaintyAssignedContext(GlobalUncertaintyAssignedContextId),
GlobalUnitAssignedContext(GlobalUnitAssignedContextId),
Group(GroupId),
GroupAssignment(GroupAssignmentId),
Hyperbola(HyperbolaId),
IdAttribute(IdAttributeId),
IdentificationAssignment(IdentificationAssignmentId),
IdentificationRole(IdentificationRoleId),
IntLiteral(IntLiteralId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
Invisibility(InvisibilityId),
ItemDefinedTransformation(ItemDefinedTransformationId),
ItemIdentifiedRepresentationUsage(ItemIdentifiedRepresentationUsageId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
LengthMeasureWithUnit(LengthMeasureWithUnitId),
LengthUnit(LengthUnitId),
LimitsAndFits(LimitsAndFitsId),
Line(LineId),
LineProfileTolerance(LineProfileToleranceId),
LiteralNumber(LiteralNumberId),
LocalTime(LocalTimeId),
Loop(LoopId),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MassMeasureWithUnit(MassMeasureWithUnitId),
MassUnit(MassUnitId),
MeasureQualification(MeasureQualificationId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MeasureWithUnit(MeasureWithUnitId),
MechanicalContext(MechanicalContextId),
MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
ModelGeometricView(ModelGeometricViewId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
NameAttribute(NameAttributeId),
NamedUnit(NamedUnitId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
NumericExpression(NumericExpressionId),
ObjectRole(ObjectRoleId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
Organization(OrganizationId),
OrganizationRelationship(OrganizationRelationshipId),
OrganizationRole(OrganizationRoleId),
OrganizationType(OrganizationTypeId),
OrganizationTypeRole(OrganizationTypeRoleId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
OrganizationalProjectRelationship(OrganizationalProjectRelationshipId),
OrganizationalProjectRole(OrganizationalProjectRoleId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
ParallelismTolerance(ParallelismToleranceId),
ParametricRepresentationContext(ParametricRepresentationContextId),
Path(PathId),
Pcurve(PcurveId),
PerpendicularityTolerance(PerpendicularityToleranceId),
Person(PersonId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PersonAndOrganizationAssignment(PersonAndOrganizationAssignmentId),
PersonAndOrganizationRole(PersonAndOrganizationRoleId),
PersonalAddress(PersonalAddressId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
PlaneAngleUnit(PlaneAngleUnitId),
PlusMinusTolerance(PlusMinusToleranceId),
Point(PointId),
PointStyle(PointStyleId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PositionTolerance(PositionToleranceId),
PreDefinedCharacterGlyph(PreDefinedCharacterGlyphId),
PreDefinedColour(PreDefinedColourId),
PreDefinedCurveFont(PreDefinedCurveFontId),
PreDefinedItem(PreDefinedItemId),
PreDefinedMarker(PreDefinedMarkerId),
PreDefinedPointMarkerSymbol(PreDefinedPointMarkerSymbolId),
PreDefinedPresentationStyle(PreDefinedPresentationStyleId),
PreDefinedSurfaceSideStyle(PreDefinedSurfaceSideStyleId),
PreDefinedSymbol(PreDefinedSymbolId),
PreDefinedTerminatorSymbol(PreDefinedTerminatorSymbolId),
PreDefinedTextFont(PreDefinedTextFontId),
PreDefinedTile(PreDefinedTileId),
PrecisionQualifier(PrecisionQualifierId),
PresentationArea(PresentationAreaId),
PresentationLayerAssignment(PresentationLayerAssignmentId),
PresentationRepresentation(PresentationRepresentationId),
PresentationSet(PresentationSetId),
PresentationSize(PresentationSizeId),
PresentationStyleAssignment(PresentationStyleAssignmentId),
PresentationStyleByContext(PresentationStyleByContextId),
PresentationView(PresentationViewId),
PresentedItem(PresentedItemId),
PresentedItemRepresentation(PresentedItemRepresentationId),
Product(ProductId),
ProductCategory(ProductCategoryId),
ProductCategoryRelationship(ProductCategoryRelationshipId),
ProductConcept(ProductConceptId),
ProductConceptContext(ProductConceptContextId),
ProductConceptFeature(ProductConceptFeatureId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductContext(ProductContextId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionContextAssociation(ProductDefinitionContextAssociationId),
ProductDefinitionContextRole(ProductDefinitionContextRoleId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionRelationshipRelationship(ProductDefinitionRelationshipRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
ProductRelatedProductCategory(ProductRelatedProductCategoryId),
ProjectedZoneDefinition(ProjectedZoneDefinitionId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRelationship(PropertyDefinitionRelationshipId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RatioMeasureWithUnit(RatioMeasureWithUnitId),
RatioUnit(RatioUnitId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealLiteral(RealLiteralId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationContext(RepresentationContextId),
RepresentationContextReference(RepresentationContextReferenceId),
RepresentationItem(RepresentationItemId),
RepresentationMap(RepresentationMapId),
RepresentationReference(RepresentationReferenceId),
RepresentationRelationship(RepresentationRelationshipId),
RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
ResourceProperty(ResourcePropertyId),
ResourceRequirementType(ResourceRequirementTypeId),
RoleAssociation(RoleAssociationId),
RoundnessTolerance(RoundnessToleranceId),
SeamCurve(SeamCurveId),
SecurityClassification(SecurityClassificationId),
SecurityClassificationAssignment(SecurityClassificationAssignmentId),
SecurityClassificationLevel(SecurityClassificationLevelId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SiUnit(SiUnitId),
SimpleGenericExpression(SimpleGenericExpressionId),
SimpleNumericExpression(SimpleNumericExpressionId),
SolidAngleUnit(SolidAngleUnitId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StartRequest(StartRequestId),
StartWork(StartWorkId),
StateObserved(StateObservedId),
StateType(StateTypeId),
StraightnessTolerance(StraightnessToleranceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SurfaceRenderingProperties(SurfaceRenderingPropertiesId),
SurfaceSideStyle(SurfaceSideStyleId),
SurfaceStyleBoundary(SurfaceStyleBoundaryId),
SurfaceStyleControlGrid(SurfaceStyleControlGridId),
SurfaceStyleFillArea(SurfaceStyleFillAreaId),
SurfaceStyleParameterLine(SurfaceStyleParameterLineId),
SurfaceStyleReflectanceAmbient(SurfaceStyleReflectanceAmbientId),
SurfaceStyleRendering(SurfaceStyleRenderingId),
SurfaceStyleRenderingWithProperties(SurfaceStyleRenderingWithPropertiesId),
SurfaceStyleSegmentationCurve(SurfaceStyleSegmentationCurveId),
SurfaceStyleSilhouette(SurfaceStyleSilhouetteId),
SurfaceStyleTransparent(SurfaceStyleTransparentId),
SurfaceStyleUsage(SurfaceStyleUsageId),
SweptSurface(SweptSurfaceId),
SymbolColour(SymbolColourId),
SymbolRepresentation(SymbolRepresentationId),
SymbolStyle(SymbolStyleId),
SymbolTarget(SymbolTargetId),
SymmetryTolerance(SymmetryToleranceId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextFont(TextFontId),
TextLiteral(TextLiteralId),
TextStyle(TextStyleId),
TextStyleForDefinedFont(TextStyleForDefinedFontId),
TextStyleWithBoxCharacteristics(TextStyleWithBoxCharacteristicsId),
TextureStyleSpecification(TextureStyleSpecificationId),
TextureStyleTessellationSpecification(TextureStyleTessellationSpecificationId),
TimeUnit(TimeUnitId),
ToleranceValue(ToleranceValueId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneDefinition(ToleranceZoneDefinitionId),
ToleranceZoneForm(ToleranceZoneFormId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TotalRunoutTolerance(TotalRunoutToleranceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
TypeQualifier(TypeQualifierId),
UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
UncertaintyQualifier(UncertaintyQualifierId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueFormatTypeQualifier(ValueFormatTypeQualifierId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
VersionedActionRequest(VersionedActionRequestId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
ViewVolume(ViewVolumeId),
VolumeUnit(VolumeUnitId),
WireShell(WireShellId),
ComplexUnit(ComplexUnitId),
}
#[derive(Debug, Clone, PartialEq)]
pub enum ActionMethodRef {
ActionMethod(ActionMethodId),
Complex(ComplexUnitId),
}
impl ActionMethodRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ActionMethodRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ActionRef {
Action(ActionId),
Complex(ComplexUnitId),
}
impl ActionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ActionRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ActionResourceRef {
ActionResource(ActionResourceId),
Complex(ComplexUnitId),
}
impl ActionResourceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionResource(i) => Ok(Self::ActionResource(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ActionResourceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ActionResourceTypeRef {
ActionResourceType(ActionResourceTypeId),
}
impl ActionResourceTypeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionResourceType(i) => Ok(Self::ActionResourceType(i)),
other => Err(format!(
"expected ActionResourceTypeRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationCurveOccurrenceRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
LeaderCurve(LeaderCurveId),
Complex(ComplexUnitId),
}
impl AnnotationCurveOccurrenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationCurveOccurrenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationOccurrenceRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
LeaderCurve(LeaderCurveId),
LeaderTerminator(LeaderTerminatorId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
Complex(ComplexUnitId),
}
impl AnnotationOccurrenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationOccurrenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationPlaceholderLeaderLineRef {
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
}
impl AnnotationPlaceholderLeaderLineRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
other => Err(format!(
"expected AnnotationPlaceholderLeaderLineRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationPlaceholderOccurrenceRef {
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
Complex(ComplexUnitId),
}
impl AnnotationPlaceholderOccurrenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationPlaceholderOccurrenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationPlaneElementRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
OverRidingStyledItem(OverRidingStyledItemId),
StyledItem(StyledItemId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
Complex(ComplexUnitId),
}
impl AnnotationPlaneElementRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationPlaneElementRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationRepresentationSelectRef {
DraughtingModel(DraughtingModelId),
PresentationArea(PresentationAreaId),
PresentationView(PresentationViewId),
SymbolRepresentation(SymbolRepresentationId),
Complex(ComplexUnitId),
}
impl AnnotationRepresentationSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationRepresentationSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationSymbolOccurrenceItemRef {
AnnotationSymbol(AnnotationSymbolId),
DefinedSymbol(DefinedSymbolId),
Complex(ComplexUnitId),
}
impl AnnotationSymbolOccurrenceItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationSymbolOccurrenceItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationSymbolOccurrenceRef {
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
LeaderTerminator(LeaderTerminatorId),
TerminatorSymbol(TerminatorSymbolId),
Complex(ComplexUnitId),
}
impl AnnotationSymbolOccurrenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationSymbolOccurrenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationTextOccurrenceItemRef {
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
CompositeText(CompositeTextId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
TextLiteral(TextLiteralId),
Complex(ComplexUnitId),
}
impl AnnotationTextOccurrenceItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected AnnotationTextOccurrenceItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AnnotationToModelLeaderLineRef {
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
}
impl AnnotationToModelLeaderLineRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
other => Err(format!(
"expected AnnotationToModelLeaderLineRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ApplicationContextRef {
ApplicationContext(ApplicationContextId),
}
impl ApplicationContextRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApplicationContext(i) => Ok(Self::ApplicationContext(i)),
other => Err(format!(
"expected ApplicationContextRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ApprovalItemRef {
Action(ActionId),
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionMethodRelationship(ActionMethodRelationshipId),
ActionProperty(ActionPropertyId),
ActionRequestSolution(ActionRequestSolutionId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AngularLocation(AngularLocationId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AppliedApprovalAssignment(AppliedApprovalAssignmentId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
AssemblyComponentUsage(AssemblyComponentUsageId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CalendarDate(CalendarDateId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
Certification(CertificationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ConstructiveGeometryRepresentationRelationship(
ConstructiveGeometryRepresentationRelationshipId,
),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
Contract(ContractId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
Date(DateId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
DefinitionalRepresentationRelationshipWithSameContext(
DefinitionalRepresentationRelationshipWithSameContextId,
),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
DesignContext(DesignContextId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
Direction(DirectionId),
Document(DocumentId),
DocumentFile(DocumentFileId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
Effectivity(EffectivityId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeneralProperty(GeneralPropertyId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Group(GroupId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
Organization(OrganizationId),
OrganizationRelationship(OrganizationRelationshipId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductConcept(ProductConceptId),
ProductConceptFeature(ProductConceptFeatureId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationItem(RepresentationItemId),
RepresentationRelationship(RepresentationRelationshipId),
RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
ResourceProperty(ResourcePropertyId),
SeamCurve(SeamCurveId),
SecurityClassification(SecurityClassificationId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolRepresentation(SymbolRepresentationId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
VersionedActionRequest(VersionedActionRequestId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl ApprovalItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AppliedApprovalAssignment(i) => Ok(Self::AppliedApprovalAssignment(i)),
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
EntityKey::AppliedExternalIdentificationAssignment(i) => {
Ok(Self::AppliedExternalIdentificationAssignment(i))
}
EntityKey::AppliedPersonAndOrganizationAssignment(i) => {
Ok(Self::AppliedPersonAndOrganizationAssignment(i))
}
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::CcDesignDateAndTimeAssignment(i) => {
Ok(Self::CcDesignDateAndTimeAssignment(i))
}
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
}
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::Date(i) => Ok(Self::Date(i)),
EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DefinitionalRepresentationRelationship(i) => {
Ok(Self::DefinitionalRepresentationRelationship(i))
}
EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
Self::DefinitionalRepresentationRelationshipWithSameContext(i),
),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::Document(i) => Ok(Self::Document(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::Organization(i) => Ok(Self::Organization(i)),
EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionSubstitute(i) => Ok(Self::ProductDefinitionSubstitute(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
EntityKey::RepresentationRelationshipWithTransformation(i) => {
Ok(Self::RepresentationRelationshipWithTransformation(i))
}
EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationRelationship(i) => {
Ok(Self::ShapeRepresentationRelationship(i))
}
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ApprovalItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ApprovalRef {
Approval(ApprovalId),
}
impl ApprovalRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Approval(i) => Ok(Self::Approval(i)),
other => Err(format!("expected ApprovalRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ApprovalRoleRef {
ApprovalRole(ApprovalRoleId),
}
impl ApprovalRoleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApprovalRole(i) => Ok(Self::ApprovalRole(i)),
other => Err(format!("expected ApprovalRoleRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ApprovalStatusRef {
ApprovalStatus(ApprovalStatusId),
}
impl ApprovalStatusRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
other => Err(format!("expected ApprovalStatusRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ApprovedItemRef {
Certification(CertificationId),
Change(ChangeId),
ChangeRequest(ChangeRequestId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
Contract(ContractId),
Product(ProductId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
SecurityClassification(SecurityClassificationId),
StartRequest(StartRequestId),
StartWork(StartWorkId),
Complex(ComplexUnitId),
}
impl ApprovedItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::Change(i) => Ok(Self::Change(i)),
EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ApprovedItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum AscribableStateRef {
AscribableState(AscribableStateId),
}
impl AscribableStateRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
other => Err(format!("expected AscribableStateRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum Axis1PlacementRef {
Axis1Placement(Axis1PlacementId),
}
impl Axis1PlacementRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
other => Err(format!("expected Axis1PlacementRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum Axis2Placement3dRef {
Axis2Placement3d(Axis2Placement3dId),
}
impl Axis2Placement3dRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
other => Err(format!(
"expected Axis2Placement3dRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum Axis2PlacementRef {
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
}
impl Axis2PlacementRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
other => Err(format!("expected Axis2PlacementRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CameraModelD3MultiClippingIntersectionSelectRef {
Plane(PlaneId),
}
impl CameraModelD3MultiClippingIntersectionSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Plane(i) => Ok(Self::Plane(i)),
other => Err(format!(
"expected CameraModelD3MultiClippingIntersectionSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CartesianPointRef {
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
CartesianPoint(CartesianPointId),
}
impl CartesianPointRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
other => Err(format!("expected CartesianPointRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CcClassifiedItemRef {
AssemblyComponentUsage(AssemblyComponentUsageId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
Complex(ComplexUnitId),
}
impl CcClassifiedItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CcClassifiedItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CcPersonOrganizationItemRef {
Change(ChangeId),
ChangeRequest(ChangeRequestId),
ConfigurationItem(ConfigurationItemId),
Contract(ContractId),
Product(ProductId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
SecurityClassification(SecurityClassificationId),
StartRequest(StartRequestId),
StartWork(StartWorkId),
Complex(ComplexUnitId),
}
impl CcPersonOrganizationItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Change(i) => Ok(Self::Change(i)),
EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CcPersonOrganizationItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CertificationTypeRef {
CertificationType(CertificationTypeId),
}
impl CertificationTypeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CertificationType(i) => Ok(Self::CertificationType(i)),
other => Err(format!(
"expected CertificationTypeRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ChangeRequestItemRef {
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
Complex(ComplexUnitId),
}
impl ChangeRequestItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ChangeRequestItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CharacterStyleSelectRef {
CharacterGlyphStyleOutline(CharacterGlyphStyleOutlineId),
CharacterGlyphStyleStroke(CharacterGlyphStyleStrokeId),
TextStyleForDefinedFont(TextStyleForDefinedFontId),
Complex(ComplexUnitId),
}
impl CharacterStyleSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CharacterGlyphStyleOutline(i) => Ok(Self::CharacterGlyphStyleOutline(i)),
EntityKey::CharacterGlyphStyleStroke(i) => Ok(Self::CharacterGlyphStyleStroke(i)),
EntityKey::TextStyleForDefinedFont(i) => Ok(Self::TextStyleForDefinedFont(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CharacterStyleSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CharacterizedActionDefinitionRef {
Action(ActionId),
ActionMethod(ActionMethodId),
ActionMethodRelationship(ActionMethodRelationshipId),
ActionRelationship(ActionRelationshipId),
Complex(ComplexUnitId),
}
impl CharacterizedActionDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CharacterizedActionDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CharacterizedDefinitionRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
AssemblyComponentUsage(AssemblyComponentUsageId),
CentreOfSymmetry(CentreOfSymmetryId),
CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
CharacterizedObject(CharacterizedObjectId),
CharacterizedRepresentation(CharacterizedRepresentationId),
CircularRunoutTolerance(CircularRunoutToleranceId),
CoaxialityTolerance(CoaxialityToleranceId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ConcentricityTolerance(ConcentricityToleranceId),
ContinuousShapeAspect(ContinuousShapeAspectId),
CylindricityTolerance(CylindricityToleranceId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
DocumentFile(DocumentFileId),
DraughtingModelItemAssociation(DraughtingModelItemAssociationId),
DraughtingModelItemAssociationWithPlaceholder(DraughtingModelItemAssociationWithPlaceholderId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FlatnessTolerance(FlatnessToleranceId),
GeneralDatumReference(GeneralDatumReferenceId),
GeometricItemSpecificUsage(GeometricItemSpecificUsageId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
ItemIdentifiedRepresentationUsage(ItemIdentifiedRepresentationUsageId),
LineProfileTolerance(LineProfileToleranceId),
MakeFromUsageOption(MakeFromUsageOptionId),
ModelGeometricView(ModelGeometricViewId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
ParallelismTolerance(ParallelismToleranceId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
PositionTolerance(PositionToleranceId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionRelationshipRelationship(ProductDefinitionRelationshipRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
RoundnessTolerance(RoundnessToleranceId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymmetryTolerance(SymmetryToleranceId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Complex(ComplexUnitId),
}
impl CharacterizedDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CharacterizedItemWithinRepresentation(i) => {
Ok(Self::CharacterizedItemWithinRepresentation(i))
}
EntityKey::CharacterizedObject(i) => Ok(Self::CharacterizedObject(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingModelItemAssociation(i) => {
Ok(Self::DraughtingModelItemAssociation(i))
}
EntityKey::DraughtingModelItemAssociationWithPlaceholder(i) => {
Ok(Self::DraughtingModelItemAssociationWithPlaceholder(i))
}
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeometricItemSpecificUsage(i) => Ok(Self::GeometricItemSpecificUsage(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::ItemIdentifiedRepresentationUsage(i) => {
Ok(Self::ItemIdentifiedRepresentationUsage(i))
}
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ModelGeometricView(i) => Ok(Self::ModelGeometricView(i)),
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionRelationshipRelationship(i) => {
Ok(Self::ProductDefinitionRelationshipRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CharacterizedDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CharacterizedResourceDefinitionRef {
ActionResource(ActionResourceId),
ActionResourceRelationship(ActionResourceRelationshipId),
ActionResourceRequirement(ActionResourceRequirementId),
Complex(ComplexUnitId),
}
impl CharacterizedResourceDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionResource(i) => Ok(Self::ActionResource(i)),
EntityKey::ActionResourceRelationship(i) => Ok(Self::ActionResourceRelationship(i)),
EntityKey::ActionResourceRequirement(i) => Ok(Self::ActionResourceRequirement(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CharacterizedResourceDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ClosedShellRef {
ClosedShell(ClosedShellId),
OrientedClosedShell(OrientedClosedShellId),
Complex(ComplexUnitId),
}
impl ClosedShellRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ClosedShellRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ColourRef {
Colour(ColourId),
ColourRgb(ColourRgbId),
ColourSpecification(ColourSpecificationId),
DraughtingPreDefinedColour(DraughtingPreDefinedColourId),
PreDefinedColour(PreDefinedColourId),
Complex(ComplexUnitId),
}
impl ColourRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Colour(i) => Ok(Self::Colour(i)),
EntityKey::ColourRgb(i) => Ok(Self::ColourRgb(i)),
EntityKey::ColourSpecification(i) => Ok(Self::ColourSpecification(i)),
EntityKey::DraughtingPreDefinedColour(i) => Ok(Self::DraughtingPreDefinedColour(i)),
EntityKey::PreDefinedColour(i) => Ok(Self::PreDefinedColour(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ColourRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CompositeCurveSegmentRef {
CompositeCurveSegment(CompositeCurveSegmentId),
Complex(ComplexUnitId),
}
impl CompositeCurveSegmentRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CompositeCurveSegment(i) => Ok(Self::CompositeCurveSegment(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CompositeCurveSegmentRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CompoundItemDefinitionRef {
AdvancedFace(AdvancedFaceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
Direction(DirectionId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
RepresentationItem(RepresentationItemId),
SeamCurve(SeamCurveId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
ListRepresentationItem(Vec<RepresentationItemRef>),
SetRepresentationItem(Vec<RepresentationItemRef>),
Complex(ComplexUnitId),
}
impl CompoundItemDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CompoundItemDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConfigurationDesignItemRef {
ProductDefinition(ProductDefinitionId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
Complex(ComplexUnitId),
}
impl ConfigurationDesignItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ConfigurationDesignItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConfigurationDesignRef {
ConfigurationDesign(ConfigurationDesignId),
}
impl ConfigurationDesignRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
other => Err(format!(
"expected ConfigurationDesignRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConfigurationItemRef {
ConfigurationItem(ConfigurationItemId),
Complex(ComplexUnitId),
}
impl ConfigurationItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ConfigurationItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConnectedFaceSetRef {
ClosedShell(ClosedShellId),
ConnectedFaceSet(ConnectedFaceSetId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
Complex(ComplexUnitId),
}
impl ConnectedFaceSetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ConnectedFaceSetRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ConstructiveGeometryRepresentationOrShapeRepresentationRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl ConstructiveGeometryRepresentationOrShapeRepresentationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ConstructiveGeometryRepresentationOrShapeRepresentationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ContractTypeRef {
ContractType(ContractTypeId),
}
impl ContractTypeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ContractType(i) => Ok(Self::ContractType(i)),
other => Err(format!("expected ContractTypeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CoordinatedUniversalTimeOffsetRef {
CoordinatedUniversalTimeOffset(CoordinatedUniversalTimeOffsetId),
}
impl CoordinatedUniversalTimeOffsetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CoordinatedUniversalTimeOffset(i) => {
Ok(Self::CoordinatedUniversalTimeOffset(i))
}
other => Err(format!(
"expected CoordinatedUniversalTimeOffsetRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CoordinatesListRef {
CoordinatesList(CoordinatesListId),
}
impl CoordinatesListRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
other => Err(format!("expected CoordinatesListRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveFontOrScaledCurveFontSelectRef {
CurveStyleFont(CurveStyleFontId),
CurveStyleFontAndScaling(CurveStyleFontAndScalingId),
DraughtingPreDefinedCurveFont(DraughtingPreDefinedCurveFontId),
ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
PreDefinedCurveFont(PreDefinedCurveFontId),
Complex(ComplexUnitId),
}
impl CurveFontOrScaledCurveFontSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CurveStyleFont(i) => Ok(Self::CurveStyleFont(i)),
EntityKey::CurveStyleFontAndScaling(i) => Ok(Self::CurveStyleFontAndScaling(i)),
EntityKey::DraughtingPreDefinedCurveFont(i) => {
Ok(Self::DraughtingPreDefinedCurveFont(i))
}
EntityKey::ExternallyDefinedCurveFont(i) => Ok(Self::ExternallyDefinedCurveFont(i)),
EntityKey::PreDefinedCurveFont(i) => Ok(Self::PreDefinedCurveFont(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CurveFontOrScaledCurveFontSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveOrAnnotationCurveOccurrenceRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BezierCurve(BezierCurveId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
Circle(CircleId),
CompositeCurve(CompositeCurveId),
Conic(ConicId),
Curve(CurveId),
Ellipse(EllipseId),
Hyperbola(HyperbolaId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
Line(LineId),
Pcurve(PcurveId),
Polyline(PolylineId),
QuasiUniformCurve(QuasiUniformCurveId),
RationalBSplineCurve(RationalBSplineCurveId),
SeamCurve(SeamCurveId),
SurfaceCurve(SurfaceCurveId),
TrimmedCurve(TrimmedCurveId),
UniformCurve(UniformCurveId),
Complex(ComplexUnitId),
}
impl CurveOrAnnotationCurveOccurrenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CurveOrAnnotationCurveOccurrenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveOrCurveSetRef {
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BezierCurve(BezierCurveId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
Circle(CircleId),
CompositeCurve(CompositeCurveId),
Conic(ConicId),
Curve(CurveId),
Ellipse(EllipseId),
GeometricCurveSet(GeometricCurveSetId),
Hyperbola(HyperbolaId),
IntersectionCurve(IntersectionCurveId),
Line(LineId),
Pcurve(PcurveId),
Polyline(PolylineId),
QuasiUniformCurve(QuasiUniformCurveId),
RationalBSplineCurve(RationalBSplineCurveId),
SeamCurve(SeamCurveId),
SurfaceCurve(SurfaceCurveId),
TrimmedCurve(TrimmedCurveId),
UniformCurve(UniformCurveId),
Complex(ComplexUnitId),
}
impl CurveOrCurveSetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected CurveOrCurveSetRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveOrRenderRef {
CurveStyle(CurveStyleId),
CurveStyleRendering(CurveStyleRenderingId),
Complex(ComplexUnitId),
}
impl CurveOrRenderRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CurveStyle(i) => Ok(Self::CurveStyle(i)),
EntityKey::CurveStyleRendering(i) => Ok(Self::CurveStyleRendering(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected CurveOrRenderRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveRef {
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BezierCurve(BezierCurveId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
Circle(CircleId),
CompositeCurve(CompositeCurveId),
Conic(ConicId),
Curve(CurveId),
Ellipse(EllipseId),
Hyperbola(HyperbolaId),
IntersectionCurve(IntersectionCurveId),
Line(LineId),
Pcurve(PcurveId),
Polyline(PolylineId),
QuasiUniformCurve(QuasiUniformCurveId),
RationalBSplineCurve(RationalBSplineCurveId),
SeamCurve(SeamCurveId),
SurfaceCurve(SurfaceCurveId),
TrimmedCurve(TrimmedCurveId),
UniformCurve(UniformCurveId),
Complex(ComplexUnitId),
}
impl CurveRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected CurveRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveStyleFontPatternRef {
CurveStyleFontPattern(CurveStyleFontPatternId),
Complex(ComplexUnitId),
}
impl CurveStyleFontPatternRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CurveStyleFontPattern(i) => Ok(Self::CurveStyleFontPattern(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CurveStyleFontPatternRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveStyleFontSelectRef {
CurveStyleFont(CurveStyleFontId),
DraughtingPreDefinedCurveFont(DraughtingPreDefinedCurveFontId),
ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
PreDefinedCurveFont(PreDefinedCurveFontId),
Complex(ComplexUnitId),
}
impl CurveStyleFontSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CurveStyleFont(i) => Ok(Self::CurveStyleFont(i)),
EntityKey::DraughtingPreDefinedCurveFont(i) => {
Ok(Self::DraughtingPreDefinedCurveFont(i))
}
EntityKey::ExternallyDefinedCurveFont(i) => Ok(Self::ExternallyDefinedCurveFont(i)),
EntityKey::PreDefinedCurveFont(i) => Ok(Self::PreDefinedCurveFont(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected CurveStyleFontSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum CurveStyleRef {
CurveStyle(CurveStyleId),
Complex(ComplexUnitId),
}
impl CurveStyleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CurveStyle(i) => Ok(Self::CurveStyle(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected CurveStyleRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DateAndTimeItemRef {
Action(ActionId),
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionProperty(ActionPropertyId),
ActionRelationship(ActionRelationshipId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
Approval(ApprovalId),
ApprovalPersonOrganization(ApprovalPersonOrganizationId),
ApprovalStatus(ApprovalStatusId),
AscribableState(AscribableStateId),
AssemblyComponentUsage(AssemblyComponentUsageId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
Certification(CertificationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
Contract(ContractId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DesignContext(DesignContextId),
Document(DocumentId),
DocumentFile(DocumentFileId),
DraughtingModel(DraughtingModelId),
Effectivity(EffectivityId),
GeneralProperty(GeneralPropertyId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
OrganizationRelationship(OrganizationRelationshipId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
Person(PersonId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductConcept(ProductConceptId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
Representation(RepresentationId),
ResourceProperty(ResourcePropertyId),
SecurityClassification(SecurityClassificationId),
SecurityClassificationLevel(SecurityClassificationLevelId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
StateObserved(StateObservedId),
StateType(StateTypeId),
SymbolRepresentation(SymbolRepresentationId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
VersionedActionRequest(VersionedActionRequestId),
Complex(ComplexUnitId),
}
impl DateAndTimeItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::Approval(i) => Ok(Self::Approval(i)),
EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::CcDesignDateAndTimeAssignment(i) => {
Ok(Self::CcDesignDateAndTimeAssignment(i))
}
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::Document(i) => Ok(Self::Document(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::Person(i) => Ok(Self::Person(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::SecurityClassificationLevel(i) => Ok(Self::SecurityClassificationLevel(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
EntityKey::StateType(i) => Ok(Self::StateType(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DateAndTimeItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DateAndTimeRef {
DateAndTime(DateAndTimeId),
Complex(ComplexUnitId),
}
impl DateAndTimeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DateAndTime(i) => Ok(Self::DateAndTime(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DateAndTimeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DateRef {
CalendarDate(CalendarDateId),
Date(DateId),
Complex(ComplexUnitId),
}
impl DateRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
EntityKey::Date(i) => Ok(Self::Date(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DateRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DateTimeItemRef {
ApprovalPersonOrganization(ApprovalPersonOrganizationId),
Certification(CertificationId),
Change(ChangeId),
ChangeRequest(ChangeRequestId),
Contract(ContractId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
SecurityClassification(SecurityClassificationId),
StartRequest(StartRequestId),
StartWork(StartWorkId),
Complex(ComplexUnitId),
}
impl DateTimeItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::Change(i) => Ok(Self::Change(i)),
EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DateTimeItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DateTimeRoleRef {
DateTimeRole(DateTimeRoleId),
}
impl DateTimeRoleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DateTimeRole(i) => Ok(Self::DateTimeRole(i)),
other => Err(format!("expected DateTimeRoleRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DateTimeSelectRef {
CalendarDate(CalendarDateId),
Date(DateId),
DateAndTime(DateAndTimeId),
LocalTime(LocalTimeId),
Complex(ComplexUnitId),
}
impl DateTimeSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
EntityKey::Date(i) => Ok(Self::Date(i)),
EntityKey::DateAndTime(i) => Ok(Self::DateAndTime(i)),
EntityKey::LocalTime(i) => Ok(Self::LocalTime(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DateTimeSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumOrCommonDatumRef {
CommonDatum(CommonDatumId),
Datum(DatumId),
DatumReferenceElement(DatumReferenceElementId),
CommonDatumList(Vec<DatumReferenceElementRef>),
Complex(ComplexUnitId),
}
impl DatumOrCommonDatumRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DatumOrCommonDatumRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumRef {
CommonDatum(CommonDatumId),
Datum(DatumId),
Complex(ComplexUnitId),
}
impl DatumRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DatumRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumReferenceCompartmentRef {
DatumReferenceCompartment(DatumReferenceCompartmentId),
}
impl DatumReferenceCompartmentRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
other => Err(format!(
"expected DatumReferenceCompartmentRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumReferenceElementRef {
DatumReferenceElement(DatumReferenceElementId),
}
impl DatumReferenceElementRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
other => Err(format!(
"expected DatumReferenceElementRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumReferenceModifierRef {
DatumReferenceModifierWithValue(DatumReferenceModifierWithValueId),
SimpleDatumReferenceModifier(SimpleDatumReferenceModifier),
}
impl DatumReferenceModifierRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DatumReferenceModifierWithValue(i) => {
Ok(Self::DatumReferenceModifierWithValue(i))
}
other => Err(format!(
"expected DatumReferenceModifierRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumSystemOrReferenceRef {
DatumReference(DatumReferenceId),
DatumSystem(DatumSystemId),
Complex(ComplexUnitId),
}
impl DatumSystemOrReferenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DatumReference(i) => Ok(Self::DatumReference(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DatumSystemOrReferenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DatumSystemRef {
DatumSystem(DatumSystemId),
Complex(ComplexUnitId),
}
impl DatumSystemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DatumSystemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DefinedGlyphSelectRef {
ExternallyDefinedCharacterGlyph(ExternallyDefinedCharacterGlyphId),
PreDefinedCharacterGlyph(PreDefinedCharacterGlyphId),
Complex(ComplexUnitId),
}
impl DefinedGlyphSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ExternallyDefinedCharacterGlyph(i) => {
Ok(Self::ExternallyDefinedCharacterGlyph(i))
}
EntityKey::PreDefinedCharacterGlyph(i) => Ok(Self::PreDefinedCharacterGlyph(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DefinedGlyphSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DefinedSymbolSelectRef {
ExternallyDefinedSymbol(ExternallyDefinedSymbolId),
PreDefinedPointMarkerSymbol(PreDefinedPointMarkerSymbolId),
PreDefinedSymbol(PreDefinedSymbolId),
PreDefinedTerminatorSymbol(PreDefinedTerminatorSymbolId),
Complex(ComplexUnitId),
}
impl DefinedSymbolSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ExternallyDefinedSymbol(i) => Ok(Self::ExternallyDefinedSymbol(i)),
EntityKey::PreDefinedPointMarkerSymbol(i) => Ok(Self::PreDefinedPointMarkerSymbol(i)),
EntityKey::PreDefinedSymbol(i) => Ok(Self::PreDefinedSymbol(i)),
EntityKey::PreDefinedTerminatorSymbol(i) => Ok(Self::PreDefinedTerminatorSymbol(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DefinedSymbolSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DefinitionalRepresentationRef {
DefinitionalRepresentation(DefinitionalRepresentationId),
Complex(ComplexUnitId),
}
impl DefinitionalRepresentationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DefinitionalRepresentationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DerivedPropertySelectRef {
ActionProperty(ActionPropertyId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
CircularRunoutTolerance(CircularRunoutToleranceId),
CoaxialityTolerance(CoaxialityToleranceId),
ConcentricityTolerance(ConcentricityToleranceId),
CylindricityTolerance(CylindricityToleranceId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
FlatnessTolerance(FlatnessToleranceId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
LineProfileTolerance(LineProfileToleranceId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
ParallelismTolerance(ParallelismToleranceId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PositionTolerance(PositionToleranceId),
ProductDefinitionShape(ProductDefinitionShapeId),
PropertyDefinition(PropertyDefinitionId),
ResourceProperty(ResourcePropertyId),
RoundnessTolerance(RoundnessToleranceId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymmetryTolerance(SymmetryToleranceId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Complex(ComplexUnitId),
}
impl DerivedPropertySelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DerivedPropertySelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DerivedUnitElementRef {
DerivedUnitElement(DerivedUnitElementId),
}
impl DerivedUnitElementRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DerivedUnitElement(i) => Ok(Self::DerivedUnitElement(i)),
other => Err(format!(
"expected DerivedUnitElementRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DesApllPointSelectRef {
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
}
impl DesApllPointSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
other => Err(format!(
"expected DesApllPointSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DescriptionAttributeSelectRef {
ActionRequestSolution(ActionRequestSolutionId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
ApplicationContext(ApplicationContextId),
ApprovalRole(ApprovalRoleId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
DateRole(DateRoleId),
DateTimeRole(DateTimeRoleId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DraughtingModel(DraughtingModelId),
Effectivity(EffectivityId),
ExternalSource(ExternalSourceId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
OrganizationRole(OrganizationRoleId),
OrganizationalProject(OrganizationalProjectId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationRole(PersonAndOrganizationRoleId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
Representation(RepresentationId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
SymbolRepresentation(SymbolRepresentationId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl DescriptionAttributeSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::ApplicationContext(i) => Ok(Self::ApplicationContext(i)),
EntityKey::ApprovalRole(i) => Ok(Self::ApprovalRole(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ContextDependentShapeRepresentation(i) => {
Ok(Self::ContextDependentShapeRepresentation(i))
}
EntityKey::DateRole(i) => Ok(Self::DateRole(i)),
EntityKey::DateTimeRole(i) => Ok(Self::DateTimeRole(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::OrganizationRole(i) => Ok(Self::OrganizationRole(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationRole(i) => Ok(Self::PersonAndOrganizationRole(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DescriptionAttributeSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DimensionalCharacteristicRef {
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
Complex(ComplexUnitId),
}
impl DimensionalCharacteristicRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DimensionalCharacteristicRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DimensionalExponentsRef {
DimensionalExponents(DimensionalExponentsId),
}
impl DimensionalExponentsRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DimensionalExponents(i) => Ok(Self::DimensionalExponents(i)),
other => Err(format!(
"expected DimensionalExponentsRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DirectionRef {
Direction(DirectionId),
Complex(ComplexUnitId),
}
impl DirectionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DirectionRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DocumentRef {
Document(DocumentId),
DocumentFile(DocumentFileId),
Complex(ComplexUnitId),
}
impl DocumentRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Document(i) => Ok(Self::Document(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected DocumentRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DocumentReferenceItemRef {
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionMethodRelationship(ActionMethodRelationshipId),
ActionProperty(ActionPropertyId),
ActionRelationship(ActionRelationshipId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
Approval(ApprovalId),
ApprovalPersonOrganization(ApprovalPersonOrganizationId),
AssemblyComponentUsage(AssemblyComponentUsageId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
CentreOfSymmetry(CentreOfSymmetryId),
Certification(CertificationId),
CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
CharacterizedObject(CharacterizedObjectId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
ClosedShell(ClosedShellId),
CommonDatum(CommonDatumId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ConstructiveGeometryRepresentationRelationship(
ConstructiveGeometryRepresentationRelationshipId,
),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Contract(ContractId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
DefinitionalRepresentationRelationshipWithSameContext(
DefinitionalRepresentationRelationshipWithSameContextId,
),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DerivedShapeAspect(DerivedShapeAspectId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
DesignContext(DesignContextId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
Direction(DirectionId),
DocumentFile(DocumentFileId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
Effectivity(EffectivityId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedCharacterGlyph(ExternallyDefinedCharacterGlyphId),
ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedItem(ExternallyDefinedItemId),
ExternallyDefinedStyle(ExternallyDefinedStyleId),
ExternallyDefinedSymbol(ExternallyDefinedSymbolId),
ExternallyDefinedTextFont(ExternallyDefinedTextFontId),
ExternallyDefinedTile(ExternallyDefinedTileId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeneralDatumReference(GeneralDatumReferenceId),
GeneralProperty(GeneralPropertyId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Group(GroupId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
ModelGeometricView(ModelGeometricViewId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
Organization(OrganizationId),
OrganizationRelationship(OrganizationRelationshipId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
OrganizationalProjectRelationship(OrganizationalProjectRelationshipId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Person(PersonId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductCategory(ProductCategoryId),
ProductConcept(ProductConceptId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
ProductRelatedProductCategory(ProductRelatedProductCategoryId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationItem(RepresentationItemId),
RepresentationRelationship(RepresentationRelationshipId),
RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
ResourceRequirementType(ResourceRequirementTypeId),
SeamCurve(SeamCurveId),
SecurityClassification(SecurityClassificationId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StateObserved(StateObservedId),
StateType(StateTypeId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolRepresentation(SymbolRepresentationId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
VersionedActionRequest(VersionedActionRequestId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl DocumentReferenceItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
EntityKey::AppliedExternalIdentificationAssignment(i) => {
Ok(Self::AppliedExternalIdentificationAssignment(i))
}
EntityKey::Approval(i) => Ok(Self::Approval(i)),
EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::CcDesignDateAndTimeAssignment(i) => {
Ok(Self::CcDesignDateAndTimeAssignment(i))
}
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::CharacterizedItemWithinRepresentation(i) => {
Ok(Self::CharacterizedItemWithinRepresentation(i))
}
EntityKey::CharacterizedObject(i) => Ok(Self::CharacterizedObject(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
}
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DefinitionalRepresentationRelationship(i) => {
Ok(Self::DefinitionalRepresentationRelationship(i))
}
EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
Self::DefinitionalRepresentationRelationshipWithSameContext(i),
),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedCharacterGlyph(i) => {
Ok(Self::ExternallyDefinedCharacterGlyph(i))
}
EntityKey::ExternallyDefinedCurveFont(i) => Ok(Self::ExternallyDefinedCurveFont(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedItem(i) => Ok(Self::ExternallyDefinedItem(i)),
EntityKey::ExternallyDefinedStyle(i) => Ok(Self::ExternallyDefinedStyle(i)),
EntityKey::ExternallyDefinedSymbol(i) => Ok(Self::ExternallyDefinedSymbol(i)),
EntityKey::ExternallyDefinedTextFont(i) => Ok(Self::ExternallyDefinedTextFont(i)),
EntityKey::ExternallyDefinedTile(i) => Ok(Self::ExternallyDefinedTile(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::ModelGeometricView(i) => Ok(Self::ModelGeometricView(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::Organization(i) => Ok(Self::Organization(i)),
EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::OrganizationalProjectRelationship(i) => {
Ok(Self::OrganizationalProjectRelationship(i))
}
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Person(i) => Ok(Self::Person(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductCategory(i) => Ok(Self::ProductCategory(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::ProductRelatedProductCategory(i) => {
Ok(Self::ProductRelatedProductCategory(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
EntityKey::RepresentationRelationshipWithTransformation(i) => {
Ok(Self::RepresentationRelationshipWithTransformation(i))
}
EntityKey::ResourceRequirementType(i) => Ok(Self::ResourceRequirementType(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationRelationship(i) => {
Ok(Self::ShapeRepresentationRelationship(i))
}
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
EntityKey::StateType(i) => Ok(Self::StateType(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DocumentReferenceItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DocumentTypeRef {
DocumentType(DocumentTypeId),
}
impl DocumentTypeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DocumentType(i) => Ok(Self::DocumentType(i)),
other => Err(format!("expected DocumentTypeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DraughtingCalloutElementRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
LeaderCurve(LeaderCurveId),
LeaderTerminator(LeaderTerminatorId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
Complex(ComplexUnitId),
}
impl DraughtingCalloutElementRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DraughtingCalloutElementRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DraughtingCalloutRef {
DraughtingCallout(DraughtingCalloutId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
Complex(ComplexUnitId),
}
impl DraughtingCalloutRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DraughtingCalloutRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DraughtingModelItemAssociationSelectRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
Complex(ComplexUnitId),
}
impl DraughtingModelItemAssociationSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DraughtingModelItemAssociationSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum DraughtingModelItemDefinitionRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
AssemblyComponentUsage(AssemblyComponentUsageId),
CentreOfSymmetry(CentreOfSymmetryId),
CircularRunoutTolerance(CircularRunoutToleranceId),
CoaxialityTolerance(CoaxialityToleranceId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ConcentricityTolerance(ConcentricityToleranceId),
ContinuousShapeAspect(ContinuousShapeAspectId),
CylindricityTolerance(CylindricityToleranceId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FlatnessTolerance(FlatnessToleranceId),
GeneralDatumReference(GeneralDatumReferenceId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
LineProfileTolerance(LineProfileToleranceId),
MakeFromUsageOption(MakeFromUsageOptionId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
ParallelismTolerance(ParallelismToleranceId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
PositionTolerance(PositionToleranceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
PropertyDefinition(PropertyDefinitionId),
RoundnessTolerance(RoundnessToleranceId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymmetryTolerance(SymmetryToleranceId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Complex(ComplexUnitId),
}
impl DraughtingModelItemDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected DraughtingModelItemDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum EdgeRef {
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
OrientedEdge(OrientedEdgeId),
Complex(ComplexUnitId),
}
impl EdgeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected EdgeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ExternalIdentificationItemRef {
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionMethodRelationship(ActionMethodRelationshipId),
ActionRelationship(ActionRelationshipId),
Address(AddressId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
Approval(ApprovalId),
ApprovalPersonOrganization(ApprovalPersonOrganizationId),
ApprovalStatus(ApprovalStatusId),
AreaUnit(AreaUnitId),
AssemblyComponentUsage(AssemblyComponentUsageId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
Certification(CertificationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
ConfigurationEffectivity(ConfigurationEffectivityId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
ContextDependentUnit(ContextDependentUnitId),
Contract(ContractId),
ConversionBasedUnit(ConversionBasedUnitId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DerivedUnit(DerivedUnitId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
DesignContext(DesignContextId),
Direction(DirectionId),
DocumentFile(DocumentFileId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
Effectivity(EffectivityId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternalSource(ExternalSourceId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeneralProperty(GeneralPropertyId),
GenericProductDefinitionReference(GenericProductDefinitionReferenceId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Group(GroupId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
LengthUnit(LengthUnitId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MassUnit(MassUnitId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
NamedUnit(NamedUnitId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
Organization(OrganizationId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Person(PersonId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PersonalAddress(PersonalAddressId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
PlaneAngleUnit(PlaneAngleUnitId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PrecisionQualifier(PrecisionQualifierId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductConcept(ProductConceptId),
ProductConceptContext(ProductConceptContextId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinition(PropertyDefinitionId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RatioUnit(RatioUnitId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationItem(RepresentationItemId),
SeamCurve(SeamCurveId),
SecurityClassification(SecurityClassificationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SiUnit(SiUnitId),
SolidAngleUnit(SolidAngleUnitId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StateObserved(StateObservedId),
StateType(StateTypeId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolRepresentation(SymbolRepresentationId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TimeUnit(TimeUnitId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
TypeQualifier(TypeQualifierId),
UncertaintyQualifier(UncertaintyQualifierId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
VersionedActionRequest(VersionedActionRequestId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
VolumeUnit(VolumeUnitId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl ExternalIdentificationItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
EntityKey::Address(i) => Ok(Self::Address(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::AppliedExternalIdentificationAssignment(i) => {
Ok(Self::AppliedExternalIdentificationAssignment(i))
}
EntityKey::Approval(i) => Ok(Self::Approval(i)),
EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::CcDesignDateAndTimeAssignment(i) => {
Ok(Self::CcDesignDateAndTimeAssignment(i))
}
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GenericProductDefinitionReference(i) => {
Ok(Self::GenericProductDefinitionReference(i))
}
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::Organization(i) => Ok(Self::Organization(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Person(i) => Ok(Self::Person(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PrecisionQualifier(i) => Ok(Self::PrecisionQualifier(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptContext(i) => Ok(Self::ProductConceptContext(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
EntityKey::StateType(i) => Ok(Self::StateType(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::TypeQualifier(i) => Ok(Self::TypeQualifier(i)),
EntityKey::UncertaintyQualifier(i) => Ok(Self::UncertaintyQualifier(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ExternalIdentificationItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ExternalSourceRef {
ExternalSource(ExternalSourceId),
Complex(ComplexUnitId),
}
impl ExternalSourceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ExternalSourceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FaceBoundRef {
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
Complex(ComplexUnitId),
}
impl FaceBoundRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FaceBoundRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FaceOrSurfaceRef {
AdvancedFace(AdvancedFaceId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierSurface(BezierSurfaceId),
BoundedSurface(BoundedSurfaceId),
ConicalSurface(ConicalSurfaceId),
CylindricalSurface(CylindricalSurfaceId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
ElementarySurface(ElementarySurfaceId),
Face(FaceId),
FaceSurface(FaceSurfaceId),
OffsetSurface(OffsetSurfaceId),
Plane(PlaneId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineSurface(RationalBSplineSurfaceId),
SphericalSurface(SphericalSurfaceId),
Surface(SurfaceId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
ToroidalSurface(ToroidalSurfaceId),
UniformSurface(UniformSurfaceId),
Complex(ComplexUnitId),
}
impl FaceOrSurfaceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FaceOrSurfaceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FaceRef {
AdvancedFace(AdvancedFaceId),
Face(FaceId),
FaceSurface(FaceSurfaceId),
Complex(ComplexUnitId),
}
impl FaceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FaceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FaceSurfaceRef {
AdvancedFace(AdvancedFaceId),
FaceSurface(FaceSurfaceId),
Complex(ComplexUnitId),
}
impl FaceSurfaceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FaceSurfaceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FillAreaStyleRef {
FillAreaStyle(FillAreaStyleId),
Complex(ComplexUnitId),
}
impl FillAreaStyleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::FillAreaStyle(i) => Ok(Self::FillAreaStyle(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FillAreaStyleRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FillAreaStyleTileShapeSelectRef {
ExternallyDefinedTile(ExternallyDefinedTileId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
PreDefinedTile(PreDefinedTileId),
Complex(ComplexUnitId),
}
impl FillAreaStyleTileShapeSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ExternallyDefinedTile(i) => Ok(Self::ExternallyDefinedTile(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::PreDefinedTile(i) => Ok(Self::PreDefinedTile(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected FillAreaStyleTileShapeSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FillStyleSelectRef {
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
FillAreaStyleColour(FillAreaStyleColourId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTiles(FillAreaStyleTilesId),
TextureStyleSpecification(TextureStyleSpecificationId),
TextureStyleTessellationSpecification(TextureStyleTessellationSpecificationId),
Complex(ComplexUnitId),
}
impl FillStyleSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::FillAreaStyleColour(i) => Ok(Self::FillAreaStyleColour(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::TextureStyleSpecification(i) => Ok(Self::TextureStyleSpecification(i)),
EntityKey::TextureStyleTessellationSpecification(i) => {
Ok(Self::TextureStyleTessellationSpecification(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FillStyleSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum FontSelectRef {
DraughtingPreDefinedTextFont(DraughtingPreDefinedTextFontId),
ExternallyDefinedTextFont(ExternallyDefinedTextFontId),
PreDefinedTextFont(PreDefinedTextFontId),
TextFont(TextFontId),
Complex(ComplexUnitId),
}
impl FontSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DraughtingPreDefinedTextFont(i) => Ok(Self::DraughtingPreDefinedTextFont(i)),
EntityKey::ExternallyDefinedTextFont(i) => Ok(Self::ExternallyDefinedTextFont(i)),
EntityKey::PreDefinedTextFont(i) => Ok(Self::PreDefinedTextFont(i)),
EntityKey::TextFont(i) => Ok(Self::TextFont(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected FontSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GeneralPropertyRef {
GeneralProperty(GeneralPropertyId),
Complex(ComplexUnitId),
}
impl GeneralPropertyRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected GeneralPropertyRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GeometricItemSpecificUsageSelectRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
CentreOfSymmetry(CentreOfSymmetryId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
GeneralDatumReference(GeneralDatumReferenceId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
Complex(ComplexUnitId),
}
impl GeometricItemSpecificUsageSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected GeometricItemSpecificUsageSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GeometricModelItemRef {
AdvancedFace(AdvancedFaceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
Direction(DirectionId),
DraughtingCallout(DraughtingCalloutId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
Hyperbola(HyperbolaId),
IntersectionCurve(IntersectionCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
Line(LineId),
ManifoldSolidBrep(ManifoldSolidBrepId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
SeamCurve(SeamCurveId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolTarget(SymbolTargetId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
Vector(VectorId),
VertexPoint(VertexPointId),
Complex(ComplexUnitId),
}
impl GeometricModelItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected GeometricModelItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GeometricSetSelectRef {
AnnotationText(AnnotationTextId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
CartesianPoint(CartesianPointId),
Circle(CircleId),
CompositeCurve(CompositeCurveId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
Hyperbola(HyperbolaId),
IntersectionCurve(IntersectionCurveId),
Line(LineId),
OffsetSurface(OffsetSurfaceId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
Plane(PlaneId),
Point(PointId),
Polyline(PolylineId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
SeamCurve(SeamCurveId),
SphericalSurface(SphericalSurfaceId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
Complex(ComplexUnitId),
}
impl GeometricSetSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected GeometricSetSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GeometricToleranceRef {
AngularityTolerance(AngularityToleranceId),
CircularRunoutTolerance(CircularRunoutToleranceId),
CoaxialityTolerance(CoaxialityToleranceId),
ConcentricityTolerance(ConcentricityToleranceId),
CylindricityTolerance(CylindricityToleranceId),
FlatnessTolerance(FlatnessToleranceId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
LineProfileTolerance(LineProfileToleranceId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
ParallelismTolerance(ParallelismToleranceId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PositionTolerance(PositionToleranceId),
RoundnessTolerance(RoundnessToleranceId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymmetryTolerance(SymmetryToleranceId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Complex(ComplexUnitId),
}
impl GeometricToleranceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected GeometricToleranceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GeometricToleranceTargetRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
CentreOfSymmetry(CentreOfSymmetryId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
GeneralDatumReference(GeneralDatumReferenceId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
ProductDefinitionShape(ProductDefinitionShapeId),
ShapeAspect(ShapeAspectId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
Complex(ComplexUnitId),
}
impl GeometricToleranceTargetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected GeometricToleranceTargetRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GroupRef {
Group(GroupId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
Complex(ComplexUnitId),
}
impl GroupRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected GroupRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum GroupableItemRef {
ActionMethod(ActionMethodId),
Address(AddressId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedGroupAssignment(AppliedGroupAssignmentId),
Approval(ApprovalId),
ApprovalPersonOrganization(ApprovalPersonOrganizationId),
ApprovalStatus(ApprovalStatusId),
AreaUnit(AreaUnitId),
AscribableState(AscribableStateId),
AscribableStateRelationship(AscribableStateRelationshipId),
AssemblyComponentUsage(AssemblyComponentUsageId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CalendarDate(CalendarDateId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
CentreOfSymmetry(CentreOfSymmetryId),
Certification(CertificationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
ClosedShell(ClosedShellId),
CommonDatum(CommonDatumId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ConstructiveGeometryRepresentationRelationship(
ConstructiveGeometryRepresentationRelationshipId,
),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
ContextDependentUnit(ContextDependentUnitId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Contract(ContractId),
ConversionBasedUnit(ConversionBasedUnitId),
CoordinatedUniversalTimeOffset(CoordinatedUniversalTimeOffsetId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DateAndTime(DateAndTimeId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
DefinitionalRepresentationRelationshipWithSameContext(
DefinitionalRepresentationRelationshipWithSameContextId,
),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DerivedShapeAspect(DerivedShapeAspectId),
DerivedUnit(DerivedUnitId),
DerivedUnitElement(DerivedUnitElementId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
DesignContext(DesignContextId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
Direction(DirectionId),
DocumentFile(DocumentFileId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
Effectivity(EffectivityId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternalSource(ExternalSourceId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeneralDatumReference(GeneralDatumReferenceId),
GeneralProperty(GeneralPropertyId),
GeometricCurveSet(GeometricCurveSetId),
GeometricItemSpecificUsage(GeometricItemSpecificUsageId),
GeometricRepresentationContext(GeometricRepresentationContextId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
GlobalUncertaintyAssignedContext(GlobalUncertaintyAssignedContextId),
GlobalUnitAssignedContext(GlobalUnitAssignedContextId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
ItemDefinedTransformation(ItemDefinedTransformationId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
LengthMeasureWithUnit(LengthMeasureWithUnitId),
LengthUnit(LengthUnitId),
Line(LineId),
LocalTime(LocalTimeId),
Loop(LoopId),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MassMeasureWithUnit(MassMeasureWithUnitId),
MassUnit(MassUnitId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MeasureWithUnit(MeasureWithUnitId),
MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
NamedUnit(NamedUnitId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
Organization(OrganizationId),
OrganizationRelationship(OrganizationRelationshipId),
OrganizationType(OrganizationTypeId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
OrganizationalProjectRelationship(OrganizationalProjectRelationshipId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
ParametricRepresentationContext(ParametricRepresentationContextId),
Path(PathId),
Pcurve(PcurveId),
Person(PersonId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PersonalAddress(PersonalAddressId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
PlaneAngleUnit(PlaneAngleUnitId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PrecisionQualifier(PrecisionQualifierId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductConcept(ProductConceptId),
ProductConceptContext(ProductConceptContextId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RatioMeasureWithUnit(RatioMeasureWithUnitId),
RatioUnit(RatioUnitId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationContext(RepresentationContextId),
RepresentationItem(RepresentationItemId),
RepresentationRelationship(RepresentationRelationshipId),
RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
SeamCurve(SeamCurveId),
SecurityClassification(SecurityClassificationId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SiUnit(SiUnitId),
SolidAngleUnit(SolidAngleUnitId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StateObserved(StateObservedId),
StateType(StateTypeId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolRepresentation(SymbolRepresentationId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TimeUnit(TimeUnitId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
TypeQualifier(TypeQualifierId),
UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
UncertaintyQualifier(UncertaintyQualifierId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
VersionedActionRequest(VersionedActionRequestId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
VolumeUnit(VolumeUnitId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl GroupableItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::Address(i) => Ok(Self::Address(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::AppliedGroupAssignment(i) => Ok(Self::AppliedGroupAssignment(i)),
EntityKey::Approval(i) => Ok(Self::Approval(i)),
EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
EntityKey::AscribableStateRelationship(i) => Ok(Self::AscribableStateRelationship(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::CcDesignDateAndTimeAssignment(i) => {
Ok(Self::CcDesignDateAndTimeAssignment(i))
}
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
}
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::ContextDependentShapeRepresentation(i) => {
Ok(Self::ContextDependentShapeRepresentation(i))
}
EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
EntityKey::CoordinatedUniversalTimeOffset(i) => {
Ok(Self::CoordinatedUniversalTimeOffset(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DateAndTime(i) => Ok(Self::DateAndTime(i)),
EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DefinitionalRepresentationRelationship(i) => {
Ok(Self::DefinitionalRepresentationRelationship(i))
}
EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
Self::DefinitionalRepresentationRelationshipWithSameContext(i),
),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
EntityKey::DerivedUnitElement(i) => Ok(Self::DerivedUnitElement(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricItemSpecificUsage(i) => Ok(Self::GeometricItemSpecificUsage(i)),
EntityKey::GeometricRepresentationContext(i) => {
Ok(Self::GeometricRepresentationContext(i))
}
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::GlobalUncertaintyAssignedContext(i) => {
Ok(Self::GlobalUncertaintyAssignedContext(i))
}
EntityKey::GlobalUnitAssignedContext(i) => Ok(Self::GlobalUnitAssignedContext(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::ItemDefinedTransformation(i) => Ok(Self::ItemDefinedTransformation(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::LocalTime(i) => Ok(Self::LocalTime(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MassMeasureWithUnit(i) => Ok(Self::MassMeasureWithUnit(i)),
EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MeasureWithUnit(i) => Ok(Self::MeasureWithUnit(i)),
EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::Organization(i) => Ok(Self::Organization(i)),
EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
EntityKey::OrganizationType(i) => Ok(Self::OrganizationType(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::OrganizationalProjectRelationship(i) => {
Ok(Self::OrganizationalProjectRelationship(i))
}
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::ParametricRepresentationContext(i) => {
Ok(Self::ParametricRepresentationContext(i))
}
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Person(i) => Ok(Self::Person(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PrecisionQualifier(i) => Ok(Self::PrecisionQualifier(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptContext(i) => Ok(Self::ProductConceptContext(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RatioMeasureWithUnit(i) => Ok(Self::RatioMeasureWithUnit(i)),
EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationContext(i) => Ok(Self::RepresentationContext(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
EntityKey::RepresentationRelationshipWithTransformation(i) => {
Ok(Self::RepresentationRelationshipWithTransformation(i))
}
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationRelationship(i) => {
Ok(Self::ShapeRepresentationRelationship(i))
}
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
EntityKey::StateType(i) => Ok(Self::StateType(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::TypeQualifier(i) => Ok(Self::TypeQualifier(i)),
EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
EntityKey::UncertaintyQualifier(i) => Ok(Self::UncertaintyQualifier(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected GroupableItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum IdAttributeSelectRef {
Action(ActionId),
Address(AddressId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
ApplicationContext(ApplicationContextId),
AscribableStateRelationship(AscribableStateRelationshipId),
CentreOfSymmetry(CentreOfSymmetryId),
CharacterizedRepresentation(CharacterizedRepresentationId),
CircularRunoutTolerance(CircularRunoutToleranceId),
ClosedShell(ClosedShellId),
CoaxialityTolerance(CoaxialityToleranceId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ConcentricityTolerance(ConcentricityToleranceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ContinuousShapeAspect(ContinuousShapeAspectId),
CylindricityTolerance(CylindricityToleranceId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FlatnessTolerance(FlatnessToleranceId),
GeneralDatumReference(GeneralDatumReferenceId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Group(GroupId),
LineProfileTolerance(LineProfileToleranceId),
Loop(LoopId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
OpenShell(OpenShellId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
ParallelismTolerance(ParallelismToleranceId),
Path(PathId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PersonalAddress(PersonalAddressId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
PolyLoop(PolyLoopId),
PositionTolerance(PositionToleranceId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
ProductCategory(ProductCategoryId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductRelatedProductCategory(ProductRelatedProductCategoryId),
PropertyDefinition(PropertyDefinitionId),
Representation(RepresentationId),
RoundnessTolerance(RoundnessToleranceId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymbolRepresentation(SymbolRepresentationId),
SymmetryTolerance(SymmetryToleranceId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl IdAttributeSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::Address(i) => Ok(Self::Address(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::ApplicationContext(i) => Ok(Self::ApplicationContext(i)),
EntityKey::AscribableStateRelationship(i) => Ok(Self::AscribableStateRelationship(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::ProductCategory(i) => Ok(Self::ProductCategory(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductRelatedProductCategory(i) => {
Ok(Self::ProductRelatedProductCategory(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected IdAttributeSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum IdentificationRoleRef {
IdentificationRole(IdentificationRoleId),
}
impl IdentificationRoleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::IdentificationRole(i) => Ok(Self::IdentificationRole(i)),
other => Err(format!(
"expected IdentificationRoleRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum InvisibleItemRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
OverRidingStyledItem(OverRidingStyledItemId),
PresentationArea(PresentationAreaId),
PresentationLayerAssignment(PresentationLayerAssignmentId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Representation(RepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
StyledItem(StyledItemId),
SymbolRepresentation(SymbolRepresentationId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl InvisibleItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationLayerAssignment(i) => Ok(Self::PresentationLayerAssignment(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected InvisibleItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ItemDefinedTransformationRef {
ItemDefinedTransformation(ItemDefinedTransformationId),
Complex(ComplexUnitId),
}
impl ItemDefinedTransformationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ItemDefinedTransformation(i) => Ok(Self::ItemDefinedTransformation(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ItemDefinedTransformationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ItemIdentifiedRepresentationUsageDefinitionRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
AppliedApprovalAssignment(AppliedApprovalAssignmentId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
AppliedGroupAssignment(AppliedGroupAssignmentId),
AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
AssemblyComponentUsage(AssemblyComponentUsageId),
CentreOfSymmetry(CentreOfSymmetryId),
CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
CharacterizedObject(CharacterizedObjectId),
CharacterizedRepresentation(CharacterizedRepresentationId),
CircularRunoutTolerance(CircularRunoutToleranceId),
CoaxialityTolerance(CoaxialityToleranceId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ConcentricityTolerance(ConcentricityToleranceId),
ContinuousShapeAspect(ContinuousShapeAspectId),
CylindricityTolerance(CylindricityToleranceId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
DocumentFile(DocumentFileId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
FlatnessTolerance(FlatnessToleranceId),
GeneralDatumReference(GeneralDatumReferenceId),
GeneralProperty(GeneralPropertyId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
LineProfileTolerance(LineProfileToleranceId),
MakeFromUsageOption(MakeFromUsageOptionId),
ModelGeometricView(ModelGeometricViewId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
ParallelismTolerance(ParallelismToleranceId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
PositionTolerance(PositionToleranceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRelationship(PropertyDefinitionRelationshipId),
RoundnessTolerance(RoundnessToleranceId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymmetryTolerance(SymmetryToleranceId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Complex(ComplexUnitId),
}
impl ItemIdentifiedRepresentationUsageDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::AppliedApprovalAssignment(i) => Ok(Self::AppliedApprovalAssignment(i)),
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
EntityKey::AppliedExternalIdentificationAssignment(i) => {
Ok(Self::AppliedExternalIdentificationAssignment(i))
}
EntityKey::AppliedGroupAssignment(i) => Ok(Self::AppliedGroupAssignment(i)),
EntityKey::AppliedPersonAndOrganizationAssignment(i) => {
Ok(Self::AppliedPersonAndOrganizationAssignment(i))
}
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CharacterizedItemWithinRepresentation(i) => {
Ok(Self::CharacterizedItemWithinRepresentation(i))
}
EntityKey::CharacterizedObject(i) => Ok(Self::CharacterizedObject(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ModelGeometricView(i) => Ok(Self::ModelGeometricView(i)),
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRelationship(i) => {
Ok(Self::PropertyDefinitionRelationship(i))
}
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ItemIdentifiedRepresentationUsageDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ItemIdentifiedRepresentationUsageSelectRef {
AdvancedFace(AdvancedFaceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
Direction(DirectionId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
RepresentationItem(RepresentationItemId),
SeamCurve(SeamCurveId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
ListRepresentationItem(Vec<RepresentationItemRef>),
SetRepresentationItem(Vec<RepresentationItemRef>),
Complex(ComplexUnitId),
}
impl ItemIdentifiedRepresentationUsageSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ItemIdentifiedRepresentationUsageSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum LayeredItemRef {
AdvancedFace(AdvancedFaceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
Direction(DirectionId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
RepresentationItem(RepresentationItemId),
SeamCurve(SeamCurveId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl LayeredItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected LayeredItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum LengthMeasureWithUnitRef {
LengthMeasureWithUnit(LengthMeasureWithUnitId),
Complex(ComplexUnitId),
}
impl LengthMeasureWithUnitRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected LengthMeasureWithUnitRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum LengthOrPlaneAngleMeasureWithUnitSelectRef {
LengthMeasureWithUnit(LengthMeasureWithUnitId),
PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
Complex(ComplexUnitId),
}
impl LengthOrPlaneAngleMeasureWithUnitSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected LengthOrPlaneAngleMeasureWithUnitSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum LocalTimeRef {
LocalTime(LocalTimeId),
}
impl LocalTimeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::LocalTime(i) => Ok(Self::LocalTime(i)),
other => Err(format!("expected LocalTimeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum LoopRef {
EdgeLoop(EdgeLoopId),
Loop(LoopId),
PolyLoop(PolyLoopId),
VertexLoop(VertexLoopId),
Complex(ComplexUnitId),
}
impl LoopRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected LoopRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ManifoldSolidBrepRef {
BrepWithVoids(BrepWithVoidsId),
ManifoldSolidBrep(ManifoldSolidBrepId),
Complex(ComplexUnitId),
}
impl ManifoldSolidBrepRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ManifoldSolidBrepRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum MarkerSelectRef {
PreDefinedMarker(PreDefinedMarkerId),
PreDefinedPointMarkerSymbol(PreDefinedPointMarkerSymbolId),
MarkerType(MarkerType),
Complex(ComplexUnitId),
}
impl MarkerSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PreDefinedMarker(i) => Ok(Self::PreDefinedMarker(i)),
EntityKey::PreDefinedPointMarkerSymbol(i) => Ok(Self::PreDefinedPointMarkerSymbol(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected MarkerSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum MeasureWithUnitRef {
LengthMeasureWithUnit(LengthMeasureWithUnitId),
MassMeasureWithUnit(MassMeasureWithUnitId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MeasureWithUnit(MeasureWithUnitId),
PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
RatioMeasureWithUnit(RatioMeasureWithUnitId),
UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
Complex(ComplexUnitId),
}
impl MeasureWithUnitRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
EntityKey::MassMeasureWithUnit(i) => Ok(Self::MassMeasureWithUnit(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MeasureWithUnit(i) => Ok(Self::MeasureWithUnit(i)),
EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
EntityKey::RatioMeasureWithUnit(i) => Ok(Self::RatioMeasureWithUnit(i)),
EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected MeasureWithUnitRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum MechanicalDesignAndDraughtingRelationshipSelectRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
DraughtingModel(DraughtingModelId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl MechanicalDesignAndDraughtingRelationshipSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected MechanicalDesignAndDraughtingRelationshipSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum NameAttributeSelectRef {
ActionRequestSolution(ActionRequestSolutionId),
Address(AddressId),
AreaUnit(AreaUnitId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
DerivedUnit(DerivedUnitId),
Effectivity(EffectivityId),
OrganizationalAddress(OrganizationalAddressId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PersonalAddress(PersonalAddressId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
VolumeUnit(VolumeUnitId),
Complex(ComplexUnitId),
}
impl NameAttributeSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
EntityKey::Address(i) => Ok(Self::Address(i)),
EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ContextDependentShapeRepresentation(i) => {
Ok(Self::ContextDependentShapeRepresentation(i))
}
EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionSubstitute(i) => Ok(Self::ProductDefinitionSubstitute(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected NameAttributeSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum NamedUnitRef {
ContextDependentUnit(ContextDependentUnitId),
ConversionBasedUnit(ConversionBasedUnitId),
LengthUnit(LengthUnitId),
MassUnit(MassUnitId),
NamedUnit(NamedUnitId),
PlaneAngleUnit(PlaneAngleUnitId),
RatioUnit(RatioUnitId),
SiUnit(SiUnitId),
SolidAngleUnit(SolidAngleUnitId),
TimeUnit(TimeUnitId),
Complex(ComplexUnitId),
}
impl NamedUnitRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected NamedUnitRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ObjectRoleRef {
ObjectRole(ObjectRoleId),
}
impl ObjectRoleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ObjectRole(i) => Ok(Self::ObjectRole(i)),
other => Err(format!("expected ObjectRoleRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum OneDirectionRepeatFactorRef {
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
Complex(ComplexUnitId),
}
impl OneDirectionRepeatFactorRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected OneDirectionRepeatFactorRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum OrganizationRef {
Organization(OrganizationId),
}
impl OrganizationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Organization(i) => Ok(Self::Organization(i)),
other => Err(format!("expected OrganizationRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum OrganizationalProjectRef {
OrganizationalProject(OrganizationalProjectId),
}
impl OrganizationalProjectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
other => Err(format!(
"expected OrganizationalProjectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum OrientedClosedShellRef {
OrientedClosedShell(OrientedClosedShellId),
Complex(ComplexUnitId),
}
impl OrientedClosedShellRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected OrientedClosedShellRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum OrientedEdgeRef {
OrientedEdge(OrientedEdgeId),
Complex(ComplexUnitId),
}
impl OrientedEdgeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected OrientedEdgeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PcurveOrSurfaceRef {
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierSurface(BezierSurfaceId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
ConicalSurface(ConicalSurfaceId),
CylindricalSurface(CylindricalSurfaceId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
ElementarySurface(ElementarySurfaceId),
OffsetSurface(OffsetSurfaceId),
Pcurve(PcurveId),
Plane(PlaneId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineSurface(RationalBSplineSurfaceId),
SphericalSurface(SphericalSurfaceId),
Surface(SurfaceId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
ToroidalSurface(ToroidalSurfaceId),
UniformSurface(UniformSurfaceId),
Complex(ComplexUnitId),
}
impl PcurveOrSurfaceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected PcurveOrSurfaceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PersonAndOrganizationItemRef {
Action(ActionId),
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionProperty(ActionPropertyId),
ActionRelationship(ActionRelationshipId),
ActionRequestSolution(ActionRequestSolutionId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
Approval(ApprovalId),
ApprovalStatus(ApprovalStatusId),
AscribableState(AscribableStateId),
AssemblyComponentUsage(AssemblyComponentUsageId),
CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
Certification(CertificationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConfigurationItem(ConfigurationItemId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
Contract(ContractId),
DateAndTimeAssignment(DateAndTimeAssignmentId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DesignContext(DesignContextId),
DocumentFile(DocumentFileId),
DocumentType(DocumentTypeId),
DraughtingModel(DraughtingModelId),
Effectivity(EffectivityId),
GeneralProperty(GeneralPropertyId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
Organization(OrganizationId),
OrganizationRelationship(OrganizationRelationshipId),
OrganizationalAddress(OrganizationalAddressId),
OrganizationalProject(OrganizationalProjectId),
PersonAndOrganization(PersonAndOrganizationId),
PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductConcept(ProductConceptId),
ProductConceptFeature(ProductConceptFeatureId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionContext(ProductDefinitionContextId),
ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
Representation(RepresentationId),
ResourceProperty(ResourcePropertyId),
SecurityClassification(SecurityClassificationId),
SecurityClassificationLevel(SecurityClassificationLevelId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
StateObserved(StateObservedId),
StateType(StateTypeId),
SymbolRepresentation(SymbolRepresentationId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
VersionedActionRequest(VersionedActionRequestId),
Complex(ComplexUnitId),
}
impl PersonAndOrganizationItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
EntityKey::AppliedPersonAndOrganizationAssignment(i) => {
Ok(Self::AppliedPersonAndOrganizationAssignment(i))
}
EntityKey::Approval(i) => Ok(Self::Approval(i)),
EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::CcDesignDateAndTimeAssignment(i) => {
Ok(Self::CcDesignDateAndTimeAssignment(i))
}
EntityKey::Certification(i) => Ok(Self::Certification(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::Contract(i) => Ok(Self::Contract(i)),
EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DocumentType(i) => Ok(Self::DocumentType(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::Organization(i) => Ok(Self::Organization(i)),
EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionSubstitute(i) => Ok(Self::ProductDefinitionSubstitute(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
EntityKey::SecurityClassificationLevel(i) => Ok(Self::SecurityClassificationLevel(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
EntityKey::StateType(i) => Ok(Self::StateType(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PersonAndOrganizationItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PersonAndOrganizationRef {
PersonAndOrganization(PersonAndOrganizationId),
}
impl PersonAndOrganizationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
other => Err(format!(
"expected PersonAndOrganizationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PersonAndOrganizationRoleRef {
PersonAndOrganizationRole(PersonAndOrganizationRoleId),
}
impl PersonAndOrganizationRoleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PersonAndOrganizationRole(i) => Ok(Self::PersonAndOrganizationRole(i)),
other => Err(format!(
"expected PersonAndOrganizationRoleRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PersonOrganizationSelectRef {
Organization(OrganizationId),
Person(PersonId),
PersonAndOrganization(PersonAndOrganizationId),
}
impl PersonOrganizationSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Organization(i) => Ok(Self::Organization(i)),
EntityKey::Person(i) => Ok(Self::Person(i)),
EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
other => Err(format!(
"expected PersonOrganizationSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PersonRef {
Person(PersonId),
}
impl PersonRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Person(i) => Ok(Self::Person(i)),
other => Err(format!("expected PersonRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PlanarBoxRef {
PlanarBox(PlanarBoxId),
Complex(ComplexUnitId),
}
impl PlanarBoxRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected PlanarBoxRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PlaneOrPlanarBoxRef {
PlanarBox(PlanarBoxId),
Plane(PlaneId),
Complex(ComplexUnitId),
}
impl PlaneOrPlanarBoxRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PlaneOrPlanarBoxRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PointRef {
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
CartesianPoint(CartesianPointId),
Point(PointId),
Complex(ComplexUnitId),
}
impl PointRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected PointRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentationAreaRef {
PresentationArea(PresentationAreaId),
Complex(ComplexUnitId),
}
impl PresentationAreaRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PresentationAreaRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentationRepresentationSelectRef {
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationSet(PresentationSetId),
PresentationView(PresentationViewId),
Complex(ComplexUnitId),
}
impl PresentationRepresentationSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationSet(i) => Ok(Self::PresentationSet(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PresentationRepresentationSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentationSetRef {
PresentationSet(PresentationSetId),
Complex(ComplexUnitId),
}
impl PresentationSetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PresentationSet(i) => Ok(Self::PresentationSet(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected PresentationSetRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentationSizeAssignmentSelectRef {
AreaInSet(AreaInSetId),
PresentationArea(PresentationAreaId),
PresentationView(PresentationViewId),
Complex(ComplexUnitId),
}
impl PresentationSizeAssignmentSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AreaInSet(i) => Ok(Self::AreaInSet(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PresentationSizeAssignmentSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentationStyleAssignmentRef {
PresentationStyleAssignment(PresentationStyleAssignmentId),
PresentationStyleByContext(PresentationStyleByContextId),
Complex(ComplexUnitId),
}
impl PresentationStyleAssignmentRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PresentationStyleAssignment(i) => Ok(Self::PresentationStyleAssignment(i)),
EntityKey::PresentationStyleByContext(i) => Ok(Self::PresentationStyleByContext(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PresentationStyleAssignmentRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentationStyleSelectRef {
ApproximationTolerance(ApproximationToleranceId),
CurveStyle(CurveStyleId),
ExternallyDefinedStyle(ExternallyDefinedStyleId),
FillAreaStyle(FillAreaStyleId),
PointStyle(PointStyleId),
PreDefinedPresentationStyle(PreDefinedPresentationStyleId),
SurfaceStyleUsage(SurfaceStyleUsageId),
SymbolStyle(SymbolStyleId),
TextStyle(TextStyleId),
TextStyleWithBoxCharacteristics(TextStyleWithBoxCharacteristicsId),
TextureStyleTessellationSpecification(TextureStyleTessellationSpecificationId),
NullStyle(NullStyle),
Complex(ComplexUnitId),
}
impl PresentationStyleSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApproximationTolerance(i) => Ok(Self::ApproximationTolerance(i)),
EntityKey::CurveStyle(i) => Ok(Self::CurveStyle(i)),
EntityKey::ExternallyDefinedStyle(i) => Ok(Self::ExternallyDefinedStyle(i)),
EntityKey::FillAreaStyle(i) => Ok(Self::FillAreaStyle(i)),
EntityKey::PointStyle(i) => Ok(Self::PointStyle(i)),
EntityKey::PreDefinedPresentationStyle(i) => Ok(Self::PreDefinedPresentationStyle(i)),
EntityKey::SurfaceStyleUsage(i) => Ok(Self::SurfaceStyleUsage(i)),
EntityKey::SymbolStyle(i) => Ok(Self::SymbolStyle(i)),
EntityKey::TextStyle(i) => Ok(Self::TextStyle(i)),
EntityKey::TextStyleWithBoxCharacteristics(i) => {
Ok(Self::TextStyleWithBoxCharacteristics(i))
}
EntityKey::TextureStyleTessellationSpecification(i) => {
Ok(Self::TextureStyleTessellationSpecification(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PresentationStyleSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentedItemRef {
AppliedPresentedItem(AppliedPresentedItemId),
PresentedItem(PresentedItemId),
Complex(ComplexUnitId),
}
impl PresentedItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AppliedPresentedItem(i) => Ok(Self::AppliedPresentedItem(i)),
EntityKey::PresentedItem(i) => Ok(Self::PresentedItem(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected PresentedItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PresentedItemSelectRef {
Action(ActionId),
ActionMethod(ActionMethodId),
ActionRelationship(ActionRelationshipId),
AssemblyComponentUsage(AssemblyComponentUsageId),
MakeFromUsageOption(MakeFromUsageOptionId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
ProductConcept(ProductConceptId),
ProductConceptFeature(ProductConceptFeatureId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
Complex(ComplexUnitId),
}
impl PresentedItemSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PresentedItemSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductCategoryRef {
ProductCategory(ProductCategoryId),
ProductRelatedProductCategory(ProductRelatedProductCategoryId),
Complex(ComplexUnitId),
}
impl ProductCategoryRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductCategory(i) => Ok(Self::ProductCategory(i)),
EntityKey::ProductRelatedProductCategory(i) => {
Ok(Self::ProductRelatedProductCategory(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ProductCategoryRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductConceptContextRef {
ProductConceptContext(ProductConceptContextId),
}
impl ProductConceptContextRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductConceptContext(i) => Ok(Self::ProductConceptContext(i)),
other => Err(format!(
"expected ProductConceptContextRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductConceptRef {
ProductConcept(ProductConceptId),
Complex(ComplexUnitId),
}
impl ProductConceptRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ProductConceptRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductContextRef {
MechanicalContext(MechanicalContextId),
ProductContext(ProductContextId),
Complex(ComplexUnitId),
}
impl ProductContextRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::MechanicalContext(i) => Ok(Self::MechanicalContext(i)),
EntityKey::ProductContext(i) => Ok(Self::ProductContext(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ProductContextRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionContextRef {
DesignContext(DesignContextId),
ProductDefinitionContext(ProductDefinitionContextId),
Complex(ComplexUnitId),
}
impl ProductDefinitionContextRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductDefinitionContextRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionContextRoleRef {
ProductDefinitionContextRole(ProductDefinitionContextRoleId),
}
impl ProductDefinitionContextRoleRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionContextRole(i) => Ok(Self::ProductDefinitionContextRole(i)),
other => Err(format!(
"expected ProductDefinitionContextRoleRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionFormationRef {
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
Complex(ComplexUnitId),
}
impl ProductDefinitionFormationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductDefinitionFormationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionOrReferenceRef {
GenericProductDefinitionReference(GenericProductDefinitionReferenceId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
Complex(ComplexUnitId),
}
impl ProductDefinitionOrReferenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::GenericProductDefinitionReference(i) => {
Ok(Self::GenericProductDefinitionReference(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductDefinitionOrReferenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionRef {
ProductDefinition(ProductDefinitionId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
Complex(ComplexUnitId),
}
impl ProductDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionRelationshipRef {
AssemblyComponentUsage(AssemblyComponentUsageId),
MakeFromUsageOption(MakeFromUsageOptionId),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionUsage(ProductDefinitionUsageId),
Complex(ComplexUnitId),
}
impl ProductDefinitionRelationshipRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductDefinitionRelationshipRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductDefinitionShapeRef {
ProductDefinitionShape(ProductDefinitionShapeId),
Complex(ComplexUnitId),
}
impl ProductDefinitionShapeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductDefinitionShapeRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductOrFormationOrDefinitionRef {
Product(ProductId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
Complex(ComplexUnitId),
}
impl ProductOrFormationOrDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ProductOrFormationOrDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ProductRef {
Product(ProductId),
Complex(ComplexUnitId),
}
impl ProductRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ProductRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum PropertyDefinitionRef {
ProductDefinitionShape(ProductDefinitionShapeId),
PropertyDefinition(PropertyDefinitionId),
Complex(ComplexUnitId),
}
impl PropertyDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected PropertyDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RenderingPropertiesSelectRef {
SurfaceStyleReflectanceAmbient(SurfaceStyleReflectanceAmbientId),
SurfaceStyleTransparent(SurfaceStyleTransparentId),
Complex(ComplexUnitId),
}
impl RenderingPropertiesSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SurfaceStyleReflectanceAmbient(i) => {
Ok(Self::SurfaceStyleReflectanceAmbient(i))
}
EntityKey::SurfaceStyleTransparent(i) => Ok(Self::SurfaceStyleTransparent(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected RenderingPropertiesSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentationContextRef {
GeometricRepresentationContext(GeometricRepresentationContextId),
GlobalUncertaintyAssignedContext(GlobalUncertaintyAssignedContextId),
GlobalUnitAssignedContext(GlobalUnitAssignedContextId),
ParametricRepresentationContext(ParametricRepresentationContextId),
RepresentationContext(RepresentationContextId),
Complex(ComplexUnitId),
}
impl RepresentationContextRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::GeometricRepresentationContext(i) => {
Ok(Self::GeometricRepresentationContext(i))
}
EntityKey::GlobalUncertaintyAssignedContext(i) => {
Ok(Self::GlobalUncertaintyAssignedContext(i))
}
EntityKey::GlobalUnitAssignedContext(i) => Ok(Self::GlobalUnitAssignedContext(i)),
EntityKey::ParametricRepresentationContext(i) => {
Ok(Self::ParametricRepresentationContext(i))
}
EntityKey::RepresentationContext(i) => Ok(Self::RepresentationContext(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected RepresentationContextRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentationContextReferenceRef {
RepresentationContextReference(RepresentationContextReferenceId),
}
impl RepresentationContextReferenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::RepresentationContextReference(i) => {
Ok(Self::RepresentationContextReference(i))
}
other => Err(format!(
"expected RepresentationContextReferenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentationItemRef {
AdvancedFace(AdvancedFaceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
Direction(DirectionId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
RepresentationItem(RepresentationItemId),
SeamCurve(SeamCurveId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl RepresentationItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected RepresentationItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentationMapRef {
CameraUsage(CameraUsageId),
RepresentationMap(RepresentationMapId),
Complex(ComplexUnitId),
}
impl RepresentationMapRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::CameraUsage(i) => Ok(Self::CameraUsage(i)),
EntityKey::RepresentationMap(i) => Ok(Self::RepresentationMap(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected RepresentationMapRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentationOrRepresentationReferenceRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DraughtingModel(DraughtingModelId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Representation(RepresentationId),
RepresentationReference(RepresentationReferenceId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
SymbolRepresentation(SymbolRepresentationId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl RepresentationOrRepresentationReferenceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationReference(i) => Ok(Self::RepresentationReference(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected RepresentationOrRepresentationReferenceRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentationRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DraughtingModel(DraughtingModelId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Representation(RepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
SymbolRepresentation(SymbolRepresentationId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl RepresentationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected RepresentationRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RepresentedDefinitionRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
AngularLocation(AngularLocationId),
CentreOfSymmetry(CentreOfSymmetryId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
GeneralDatumReference(GeneralDatumReferenceId),
GeneralProperty(GeneralPropertyId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
ProductDefinitionShape(ProductDefinitionShapeId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRelationship(PropertyDefinitionRelationshipId),
ShapeAspect(ShapeAspectId),
ShapeAspectAssociativity(ShapeAspectAssociativityId),
ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
ShapeAspectRelationship(ShapeAspectRelationshipId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
Complex(ComplexUnitId),
}
impl RepresentedDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::FeatureForDatumTargetRelationship(i) => {
Ok(Self::FeatureForDatumTargetRelationship(i))
}
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRelationship(i) => {
Ok(Self::PropertyDefinitionRelationship(i))
}
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
EntityKey::ShapeAspectDerivingRelationship(i) => {
Ok(Self::ShapeAspectDerivingRelationship(i))
}
EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected RepresentedDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ResourceRequirementTypeRef {
ResourceRequirementType(ResourceRequirementTypeId),
}
impl ResourceRequirementTypeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ResourceRequirementType(i) => Ok(Self::ResourceRequirementType(i)),
other => Err(format!(
"expected ResourceRequirementTypeRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum RoleSelectRef {
ActionAssignment(ActionAssignmentId),
ActionRequestAssignment(ActionRequestAssignmentId),
AppliedApprovalAssignment(AppliedApprovalAssignmentId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedGroupAssignment(AppliedGroupAssignmentId),
AppliedSecurityClassificationAssignment(AppliedSecurityClassificationAssignmentId),
ApprovalAssignment(ApprovalAssignmentId),
ApprovalDateTime(ApprovalDateTimeId),
CcDesignApproval(CcDesignApprovalId),
CcDesignSecurityClassification(CcDesignSecurityClassificationId),
Change(ChangeId),
ChangeRequest(ChangeRequestId),
DocumentReference(DocumentReferenceId),
GroupAssignment(GroupAssignmentId),
SecurityClassificationAssignment(SecurityClassificationAssignmentId),
StartRequest(StartRequestId),
StartWork(StartWorkId),
Complex(ComplexUnitId),
}
impl RoleSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ActionAssignment(i) => Ok(Self::ActionAssignment(i)),
EntityKey::ActionRequestAssignment(i) => Ok(Self::ActionRequestAssignment(i)),
EntityKey::AppliedApprovalAssignment(i) => Ok(Self::AppliedApprovalAssignment(i)),
EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
EntityKey::AppliedGroupAssignment(i) => Ok(Self::AppliedGroupAssignment(i)),
EntityKey::AppliedSecurityClassificationAssignment(i) => {
Ok(Self::AppliedSecurityClassificationAssignment(i))
}
EntityKey::ApprovalAssignment(i) => Ok(Self::ApprovalAssignment(i)),
EntityKey::ApprovalDateTime(i) => Ok(Self::ApprovalDateTime(i)),
EntityKey::CcDesignApproval(i) => Ok(Self::CcDesignApproval(i)),
EntityKey::CcDesignSecurityClassification(i) => {
Ok(Self::CcDesignSecurityClassification(i))
}
EntityKey::Change(i) => Ok(Self::Change(i)),
EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
EntityKey::DocumentReference(i) => Ok(Self::DocumentReference(i)),
EntityKey::GroupAssignment(i) => Ok(Self::GroupAssignment(i)),
EntityKey::SecurityClassificationAssignment(i) => {
Ok(Self::SecurityClassificationAssignment(i))
}
EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected RoleSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SecurityClassificationItemRef {
Action(ActionId),
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
ActionMethodRelationship(ActionMethodRelationshipId),
ActionProperty(ActionPropertyId),
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AppliedDocumentReference(AppliedDocumentReferenceId),
AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
AssemblyComponentUsage(AssemblyComponentUsageId),
CharacterizedRepresentation(CharacterizedRepresentationId),
ConfigurationDesign(ConfigurationDesignId),
ConfigurationEffectivity(ConfigurationEffectivityId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
DefinitionalRepresentation(DefinitionalRepresentationId),
Document(DocumentId),
DocumentFile(DocumentFileId),
DraughtingModel(DraughtingModelId),
GeneralProperty(GeneralPropertyId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Group(GroupId),
MakeFromUsageOption(MakeFromUsageOptionId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
OrganizationalProject(OrganizationalProjectId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
Product(ProductId),
ProductConcept(ProductConceptId),
ProductConceptFeature(ProductConceptFeatureId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
ProductDefinition(ProductDefinitionId),
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
ProductDefinitionRelationship(ProductDefinitionRelationshipId),
ProductDefinitionShape(ProductDefinitionShapeId),
ProductDefinitionUsage(ProductDefinitionUsageId),
ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
PropertyDefinition(PropertyDefinitionId),
PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
Representation(RepresentationId),
ResourceProperty(ResourcePropertyId),
ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
SymbolRepresentation(SymbolRepresentationId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
VersionedActionRequest(VersionedActionRequestId),
Complex(ComplexUnitId),
}
impl SecurityClassificationItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
EntityKey::AppliedExternalIdentificationAssignment(i) => {
Ok(Self::AppliedExternalIdentificationAssignment(i))
}
EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::Document(i) => Ok(Self::Document(i)),
EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::Product(i) => Ok(Self::Product(i)),
EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ProductDefinitionRelationship(i) => {
Ok(Self::ProductDefinitionRelationship(i))
}
EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
}
EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
EntityKey::PropertyDefinitionRepresentation(i) => {
Ok(Self::PropertyDefinitionRepresentation(i))
}
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
EntityKey::ShapeDefinitionRepresentation(i) => {
Ok(Self::ShapeDefinitionRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected SecurityClassificationItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SecurityClassificationLevelRef {
SecurityClassificationLevel(SecurityClassificationLevelId),
}
impl SecurityClassificationLevelRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SecurityClassificationLevel(i) => Ok(Self::SecurityClassificationLevel(i)),
other => Err(format!(
"expected SecurityClassificationLevelRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SecurityClassificationRef {
SecurityClassification(SecurityClassificationId),
}
impl SecurityClassificationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
other => Err(format!(
"expected SecurityClassificationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ShapeAspectRef {
AllAroundShapeAspect(AllAroundShapeAspectId),
CentreOfSymmetry(CentreOfSymmetryId),
CommonDatum(CommonDatumId),
CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
CompositeShapeAspect(CompositeShapeAspectId),
ContinuousShapeAspect(ContinuousShapeAspectId),
Datum(DatumId),
DatumFeature(DatumFeatureId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DatumSystem(DatumSystemId),
DatumTarget(DatumTargetId),
DefaultModelGeometricView(DefaultModelGeometricViewId),
DerivedShapeAspect(DerivedShapeAspectId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
GeneralDatumReference(GeneralDatumReferenceId),
PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
ShapeAspect(ShapeAspectId),
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
Complex(ComplexUnitId),
}
impl ShapeAspectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
EntityKey::Datum(i) => Ok(Self::Datum(i)),
EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ShapeAspectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ShapeDimensionRepresentationRef {
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
Complex(ComplexUnitId),
}
impl ShapeDimensionRepresentationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ShapeDimensionRepresentationRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ShapeModelRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
Complex(ComplexUnitId),
}
impl ShapeModelRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ShapeModelRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ShapeRepresentationRelationshipRef {
ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
Complex(ComplexUnitId),
}
impl ShapeRepresentationRelationshipRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ShapeRepresentationRelationship(i) => {
Ok(Self::ShapeRepresentationRelationship(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ShapeRepresentationRelationshipRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ShellRef {
ClosedShell(ClosedShellId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl ShellRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ShellRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SizeSelectRef {
LengthMeasureWithUnit(LengthMeasureWithUnitId),
MassMeasureWithUnit(MassMeasureWithUnitId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MeasureWithUnit(MeasureWithUnitId),
PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
RatioMeasureWithUnit(RatioMeasureWithUnitId),
UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
DescriptiveMeasure(String),
PositiveLengthMeasure(f64),
Complex(ComplexUnitId),
}
impl SizeSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
EntityKey::MassMeasureWithUnit(i) => Ok(Self::MassMeasureWithUnit(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MeasureWithUnit(i) => Ok(Self::MeasureWithUnit(i)),
EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
EntityKey::RatioMeasureWithUnit(i) => Ok(Self::RatioMeasureWithUnit(i)),
EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected SizeSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum StartRequestItemRef {
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
Complex(ComplexUnitId),
}
impl StartRequestItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected StartRequestItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum StateObservedRef {
StateObserved(StateObservedId),
Complex(ComplexUnitId),
}
impl StateObservedRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected StateObservedRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum StateTypeRef {
StateType(StateTypeId),
Complex(ComplexUnitId),
}
impl StateTypeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::StateType(i) => Ok(Self::StateType(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected StateTypeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum StyleContextSelectRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
CompoundRepresentationItem(CompoundRepresentationItemId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
ConstructiveGeometryRepresentationRelationship(
ConstructiveGeometryRepresentationRelationshipId,
),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
DefinitionalRepresentationRelationshipWithSameContext(
DefinitionalRepresentationRelationshipWithSameContextId,
),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
Direction(DirectionId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Group(GroupId),
Hyperbola(HyperbolaId),
IntegerRepresentationItem(IntegerRepresentationItemId),
IntersectionCurve(IntersectionCurveId),
LeaderCurve(LeaderCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
LeaderTerminator(LeaderTerminatorId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MeasureRepresentationItem(MeasureRepresentationItemId),
MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
OverRidingStyledItem(OverRidingStyledItemId),
Path(PathId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PresentationArea(PresentationAreaId),
PresentationLayerAssignment(PresentationLayerAssignmentId),
PresentationRepresentation(PresentationRepresentationId),
PresentationSet(PresentationSetId),
PresentationView(PresentationViewId),
ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
QualifiedRepresentationItem(QualifiedRepresentationItemId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RealRepresentationItem(RealRepresentationItemId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationItem(RepresentationItemId),
RepresentationRelationship(RepresentationRelationshipId),
RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
SeamCurve(SeamCurveId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
StyledItem(StyledItemId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolRepresentation(SymbolRepresentationId),
SymbolTarget(SymbolTargetId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
ValueRepresentationItem(ValueRepresentationItemId),
Vector(VectorId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl StyleContextSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
}
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::ContextDependentShapeRepresentation(i) => {
Ok(Self::ContextDependentShapeRepresentation(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DefinitionalRepresentationRelationship(i) => {
Ok(Self::DefinitionalRepresentationRelationship(i))
}
EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
Self::DefinitionalRepresentationRelationshipWithSameContext(i),
),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::DescriptiveRepresentationItem(i) => {
Ok(Self::DescriptiveRepresentationItem(i))
}
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Group(i) => Ok(Self::Group(i)),
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
}
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationLayerAssignment(i) => Ok(Self::PresentationLayerAssignment(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationSet(i) => Ok(Self::PresentationSet(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::ProductConceptFeatureCategory(i) => {
Ok(Self::ProductConceptFeatureCategory(i))
}
EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
EntityKey::RepresentationRelationshipWithTransformation(i) => {
Ok(Self::RepresentationRelationshipWithTransformation(i))
}
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationRelationship(i) => {
Ok(Self::ShapeRepresentationRelationship(i))
}
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected StyleContextSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum StyledItemRef {
AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
AnnotationOccurrence(AnnotationOccurrenceId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
AnnotationTextOccurrence(AnnotationTextOccurrenceId),
ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
LeaderCurve(LeaderCurveId),
LeaderTerminator(LeaderTerminatorId),
OverRidingStyledItem(OverRidingStyledItemId),
StyledItem(StyledItemId),
TerminatorSymbol(TerminatorSymbolId),
TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
Complex(ComplexUnitId),
}
impl StyledItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
EntityKey::ContextDependentOverRidingStyledItem(i) => {
Ok(Self::ContextDependentOverRidingStyledItem(i))
}
EntityKey::DraughtingAnnotationOccurrence(i) => {
Ok(Self::DraughtingAnnotationOccurrence(i))
}
EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
EntityKey::TessellatedAnnotationOccurrence(i) => {
Ok(Self::TessellatedAnnotationOccurrence(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected StyledItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum StyledItemTargetRef {
AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
AdvancedFace(AdvancedFaceId),
AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
AnnotationPlane(AnnotationPlaneId),
AnnotationSymbol(AnnotationSymbolId),
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
Axis1Placement(Axis1PlacementId),
Axis2Placement2d(Axis2Placement2dId),
Axis2Placement3d(Axis2Placement3dId),
BSplineCurve(BSplineCurveId),
BSplineCurveWithKnots(BSplineCurveWithKnotsId),
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierCurve(BezierCurveId),
BezierSurface(BezierSurfaceId),
BoundedCurve(BoundedCurveId),
BoundedPcurve(BoundedPcurveId),
BoundedSurface(BoundedSurfaceId),
BoundedSurfaceCurve(BoundedSurfaceCurveId),
BrepWithVoids(BrepWithVoidsId),
CameraImage(CameraImageId),
CameraImage3dWithScale(CameraImage3dWithScaleId),
CameraModel(CameraModelId),
CameraModelD3(CameraModelD3Id),
CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
CartesianPoint(CartesianPointId),
CharacterizedRepresentation(CharacterizedRepresentationId),
Circle(CircleId),
ClosedShell(ClosedShellId),
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CompositeCurve(CompositeCurveId),
CompositeText(CompositeTextId),
Conic(ConicId),
ConicalSurface(ConicalSurfaceId),
ConnectedFaceSet(ConnectedFaceSetId),
ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
CoordinatesList(CoordinatesListId),
Curve(CurveId),
CylindricalSurface(CylindricalSurfaceId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
DefinedSymbol(DefinedSymbolId),
DefinitionalRepresentation(DefinitionalRepresentationId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
Direction(DirectionId),
DraughtingCallout(DraughtingCalloutId),
DraughtingModel(DraughtingModelId),
Edge(EdgeId),
EdgeCurve(EdgeCurveId),
EdgeLoop(EdgeLoopId),
ElementarySurface(ElementarySurfaceId),
Ellipse(EllipseId),
ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
Face(FaceId),
FaceBound(FaceBoundId),
FaceOuterBound(FaceOuterBoundId),
FaceSurface(FaceSurfaceId),
FillAreaStyleHatching(FillAreaStyleHatchingId),
FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
FillAreaStyleTiles(FillAreaStyleTilesId),
GeometricCurveSet(GeometricCurveSetId),
GeometricRepresentationItem(GeometricRepresentationItemId),
GeometricSet(GeometricSetId),
GeometricallyBoundedSurfaceShapeRepresentation(
GeometricallyBoundedSurfaceShapeRepresentationId,
),
GeometricallyBoundedWireframeShapeRepresentation(
GeometricallyBoundedWireframeShapeRepresentationId,
),
Hyperbola(HyperbolaId),
IntersectionCurve(IntersectionCurveId),
LeaderDirectedCallout(LeaderDirectedCalloutId),
Line(LineId),
Loop(LoopId),
ManifoldSolidBrep(ManifoldSolidBrepId),
ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
MappedItem(MappedItemId),
MechanicalDesignGeometricPresentationRepresentation(
MechanicalDesignGeometricPresentationRepresentationId,
),
MechanicalDesignPresentationRepresentationWithDraughting(
MechanicalDesignPresentationRepresentationWithDraughtingId,
),
MechanicalDesignShadedPresentationRepresentation(
MechanicalDesignShadedPresentationRepresentationId,
),
OffsetSurface(OffsetSurfaceId),
OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
OpenShell(OpenShellId),
OrientedClosedShell(OrientedClosedShellId),
OrientedEdge(OrientedEdgeId),
Path(PathId),
Pcurve(PcurveId),
Placement(PlacementId),
PlanarBox(PlanarBoxId),
PlanarExtent(PlanarExtentId),
Plane(PlaneId),
Point(PointId),
PolyLoop(PolyLoopId),
Polyline(PolylineId),
PresentationArea(PresentationAreaId),
PresentationRepresentation(PresentationRepresentationId),
PresentationView(PresentationViewId),
QuasiUniformCurve(QuasiUniformCurveId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineCurve(RationalBSplineCurveId),
RationalBSplineSurface(RationalBSplineSurfaceId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
Representation(RepresentationId),
RepresentationReference(RepresentationReferenceId),
SeamCurve(SeamCurveId),
ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
ShapeRepresentation(ShapeRepresentationId),
ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
SolidModel(SolidModelId),
SphericalSurface(SphericalSurfaceId),
Surface(SurfaceId),
SurfaceCurve(SurfaceCurveId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
SymbolRepresentation(SymbolRepresentationId),
SymbolTarget(SymbolTargetId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
TextLiteral(TextLiteralId),
TopologicalRepresentationItem(TopologicalRepresentationItemId),
ToroidalSurface(ToroidalSurfaceId),
TrimmedCurve(TrimmedCurveId),
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
UniformCurve(UniformCurveId),
UniformSurface(UniformSurfaceId),
Vector(VectorId),
Vertex(VertexId),
VertexLoop(VertexLoopId),
VertexPoint(VertexPointId),
VertexShell(VertexShellId),
WireShell(WireShellId),
Complex(ComplexUnitId),
}
impl StyledItemTargetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AdvancedBrepShapeRepresentation(i) => {
Ok(Self::AdvancedBrepShapeRepresentation(i))
}
EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
EntityKey::AnnotationPlaceholderLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderLeaderLine(i))
}
EntityKey::AnnotationPlaceholderOccurrence(i) => {
Ok(Self::AnnotationPlaceholderOccurrence(i))
}
EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
}
EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::AnnotationToAnnotationLeaderLine(i) => {
Ok(Self::AnnotationToAnnotationLeaderLine(i))
}
EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
EntityKey::Circle(i) => Ok(Self::Circle(i)),
EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::Conic(i) => Ok(Self::Conic(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
EntityKey::ConstructiveGeometryRepresentation(i) => {
Ok(Self::ConstructiveGeometryRepresentation(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::Curve(i) => Ok(Self::Curve(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::Direction(i) => Ok(Self::Direction(i)),
EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
EntityKey::Edge(i) => Ok(Self::Edge(i)),
EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
EntityKey::Face(i) => Ok(Self::Face(i)),
EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
EntityKey::FillAreaStyleTileColouredRegion(i) => {
Ok(Self::FillAreaStyleTileColouredRegion(i))
}
EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
Ok(Self::FillAreaStyleTileCurveWithStyle(i))
}
EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
}
EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
}
EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
}
EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
EntityKey::Line(i) => Ok(Self::Line(i)),
EntityKey::Loop(i) => Ok(Self::Loop(i)),
EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
Ok(Self::ManifoldSurfaceShapeRepresentation(i))
}
EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
}
EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
}
EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
}
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
EntityKey::Path(i) => Ok(Self::Path(i)),
EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
EntityKey::Placement(i) => Ok(Self::Placement(i)),
EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::Point(i) => Ok(Self::Point(i)),
EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::Representation(i) => Ok(Self::Representation(i)),
EntityKey::RepresentationReference(i) => Ok(Self::RepresentationReference(i)),
EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
EntityKey::ShapeRepresentationWithParameters(i) => {
Ok(Self::ShapeRepresentationWithParameters(i))
}
EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShapeRepresentation(i) => {
Ok(Self::TessellatedShapeRepresentation(i))
}
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::TopologicalRepresentationItem(i) => {
Ok(Self::TopologicalRepresentationItem(i))
}
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected StyledItemTargetRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SupportedItemRef {
Action(ActionId),
ActionDirective(ActionDirectiveId),
ActionMethod(ActionMethodId),
Complex(ComplexUnitId),
}
impl SupportedItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Action(i) => Ok(Self::Action(i)),
EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected SupportedItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SurfaceRef {
BSplineSurface(BSplineSurfaceId),
BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
BezierSurface(BezierSurfaceId),
BoundedSurface(BoundedSurfaceId),
ConicalSurface(ConicalSurfaceId),
CylindricalSurface(CylindricalSurfaceId),
DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
ElementarySurface(ElementarySurfaceId),
OffsetSurface(OffsetSurfaceId),
Plane(PlaneId),
QuasiUniformSurface(QuasiUniformSurfaceId),
RationalBSplineSurface(RationalBSplineSurfaceId),
SphericalSurface(SphericalSurfaceId),
Surface(SurfaceId),
SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
SurfaceOfRevolution(SurfaceOfRevolutionId),
SweptSurface(SweptSurfaceId),
ToroidalSurface(ToroidalSurfaceId),
UniformSurface(UniformSurfaceId),
Complex(ComplexUnitId),
}
impl SurfaceRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
EntityKey::Plane(i) => Ok(Self::Plane(i)),
EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
EntityKey::Surface(i) => Ok(Self::Surface(i)),
EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected SurfaceRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SurfaceRenderingPropertiesRef {
SurfaceRenderingProperties(SurfaceRenderingPropertiesId),
}
impl SurfaceRenderingPropertiesRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SurfaceRenderingProperties(i) => Ok(Self::SurfaceRenderingProperties(i)),
other => Err(format!(
"expected SurfaceRenderingPropertiesRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SurfaceSideStyleSelectRef {
PreDefinedSurfaceSideStyle(PreDefinedSurfaceSideStyleId),
SurfaceSideStyle(SurfaceSideStyleId),
Complex(ComplexUnitId),
}
impl SurfaceSideStyleSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PreDefinedSurfaceSideStyle(i) => Ok(Self::PreDefinedSurfaceSideStyle(i)),
EntityKey::SurfaceSideStyle(i) => Ok(Self::SurfaceSideStyle(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected SurfaceSideStyleSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SurfaceStyleElementSelectRef {
SurfaceStyleBoundary(SurfaceStyleBoundaryId),
SurfaceStyleControlGrid(SurfaceStyleControlGridId),
SurfaceStyleFillArea(SurfaceStyleFillAreaId),
SurfaceStyleParameterLine(SurfaceStyleParameterLineId),
SurfaceStyleRendering(SurfaceStyleRenderingId),
SurfaceStyleRenderingWithProperties(SurfaceStyleRenderingWithPropertiesId),
SurfaceStyleSegmentationCurve(SurfaceStyleSegmentationCurveId),
SurfaceStyleSilhouette(SurfaceStyleSilhouetteId),
Complex(ComplexUnitId),
}
impl SurfaceStyleElementSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SurfaceStyleBoundary(i) => Ok(Self::SurfaceStyleBoundary(i)),
EntityKey::SurfaceStyleControlGrid(i) => Ok(Self::SurfaceStyleControlGrid(i)),
EntityKey::SurfaceStyleFillArea(i) => Ok(Self::SurfaceStyleFillArea(i)),
EntityKey::SurfaceStyleParameterLine(i) => Ok(Self::SurfaceStyleParameterLine(i)),
EntityKey::SurfaceStyleRendering(i) => Ok(Self::SurfaceStyleRendering(i)),
EntityKey::SurfaceStyleRenderingWithProperties(i) => {
Ok(Self::SurfaceStyleRenderingWithProperties(i))
}
EntityKey::SurfaceStyleSegmentationCurve(i) => {
Ok(Self::SurfaceStyleSegmentationCurve(i))
}
EntityKey::SurfaceStyleSilhouette(i) => Ok(Self::SurfaceStyleSilhouette(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected SurfaceStyleElementSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SymbolStyleSelectRef {
SymbolColour(SymbolColourId),
}
impl SymbolStyleSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SymbolColour(i) => Ok(Self::SymbolColour(i)),
other => Err(format!(
"expected SymbolStyleSelectRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum SymbolTargetRef {
SymbolTarget(SymbolTargetId),
}
impl SymbolTargetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
other => Err(format!("expected SymbolTargetRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum TessellatedItemRef {
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
CoordinatesList(CoordinatesListId),
RepositionedTessellatedItem(RepositionedTessellatedItemId),
TessellatedCurveSet(TessellatedCurveSetId),
TessellatedFace(TessellatedFaceId),
TessellatedGeometricSet(TessellatedGeometricSetId),
TessellatedItem(TessellatedItemId),
TessellatedShell(TessellatedShellId),
TessellatedSolid(TessellatedSolidId),
TessellatedStructuredItem(TessellatedStructuredItemId),
TessellatedSurfaceSet(TessellatedSurfaceSetId),
Complex(ComplexUnitId),
}
impl TessellatedItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::ComplexTriangulatedSurfaceSet(i) => {
Ok(Self::ComplexTriangulatedSurfaceSet(i))
}
EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected TessellatedItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum TessellatedStructuredItemRef {
ComplexTriangulatedFace(ComplexTriangulatedFaceId),
TessellatedFace(TessellatedFaceId),
TessellatedStructuredItem(TessellatedStructuredItemId),
Complex(ComplexUnitId),
}
impl TessellatedStructuredItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected TessellatedStructuredItemRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum TextOrCharacterRef {
AnnotationText(AnnotationTextId),
AnnotationTextCharacter(AnnotationTextCharacterId),
CompositeText(CompositeTextId),
DefinedCharacterGlyph(DefinedCharacterGlyphId),
TextLiteral(TextLiteralId),
Complex(ComplexUnitId),
}
impl TextOrCharacterRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected TextOrCharacterRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ToleranceMethodDefinitionRef {
LimitsAndFits(LimitsAndFitsId),
ToleranceValue(ToleranceValueId),
}
impl ToleranceMethodDefinitionRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::LimitsAndFits(i) => Ok(Self::LimitsAndFits(i)),
EntityKey::ToleranceValue(i) => Ok(Self::ToleranceValue(i)),
other => Err(format!(
"expected ToleranceMethodDefinitionRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ToleranceSelectRef {
ApproximationToleranceDeviation(ApproximationToleranceDeviationId),
ApproximationToleranceParameter(ApproximationToleranceParameterId),
}
impl ToleranceSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApproximationToleranceDeviation(i) => {
Ok(Self::ApproximationToleranceDeviation(i))
}
EntityKey::ApproximationToleranceParameter(i) => {
Ok(Self::ApproximationToleranceParameter(i))
}
other => Err(format!("expected ToleranceSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ToleranceZoneFormRef {
ToleranceZoneForm(ToleranceZoneFormId),
}
impl ToleranceZoneFormRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ToleranceZoneForm(i) => Ok(Self::ToleranceZoneForm(i)),
other => Err(format!(
"expected ToleranceZoneFormRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ToleranceZoneRef {
ToleranceZone(ToleranceZoneId),
ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
Complex(ComplexUnitId),
}
impl ToleranceZoneRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ToleranceZoneRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ToleranceZoneTargetRef {
AngularLocation(AngularLocationId),
AngularSize(AngularSizeId),
AngularityTolerance(AngularityToleranceId),
CircularRunoutTolerance(CircularRunoutToleranceId),
CoaxialityTolerance(CoaxialityToleranceId),
ConcentricityTolerance(ConcentricityToleranceId),
CylindricityTolerance(CylindricityToleranceId),
DatumReferenceCompartment(DatumReferenceCompartmentId),
DatumReferenceElement(DatumReferenceElementId),
DimensionalLocation(DimensionalLocationId),
DimensionalLocationWithPath(DimensionalLocationWithPathId),
DimensionalSize(DimensionalSizeId),
DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
DimensionalSizeWithPath(DimensionalSizeWithPathId),
DirectedDimensionalLocation(DirectedDimensionalLocationId),
FlatnessTolerance(FlatnessToleranceId),
GeneralDatumReference(GeneralDatumReferenceId),
GeometricTolerance(GeometricToleranceId),
GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
LineProfileTolerance(LineProfileToleranceId),
ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
ParallelismTolerance(ParallelismToleranceId),
PerpendicularityTolerance(PerpendicularityToleranceId),
PositionTolerance(PositionToleranceId),
RoundnessTolerance(RoundnessToleranceId),
StraightnessTolerance(StraightnessToleranceId),
SurfaceProfileTolerance(SurfaceProfileToleranceId),
SymmetryTolerance(SymmetryToleranceId),
TotalRunoutTolerance(TotalRunoutToleranceId),
UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
Complex(ComplexUnitId),
}
impl ToleranceZoneTargetRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
EntityKey::DimensionalSizeWithDatumFeature(i) => {
Ok(Self::DimensionalSizeWithDatumFeature(i))
}
EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
EntityKey::GeometricToleranceWithDatumReference(i) => {
Ok(Self::GeometricToleranceWithDatumReference(i))
}
EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
}
EntityKey::GeometricToleranceWithDefinedUnit(i) => {
Ok(Self::GeometricToleranceWithDefinedUnit(i))
}
EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
Ok(Self::GeometricToleranceWithMaximumTolerance(i))
}
EntityKey::GeometricToleranceWithModifiers(i) => {
Ok(Self::GeometricToleranceWithModifiers(i))
}
EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
EntityKey::UnequallyDisposedGeometricTolerance(i) => {
Ok(Self::UnequallyDisposedGeometricTolerance(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected ToleranceZoneTargetRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum TransformationRef {
FunctionallyDefinedTransformation(FunctionallyDefinedTransformationId),
ItemDefinedTransformation(ItemDefinedTransformationId),
ListItemDefinedTransformation(Vec<ItemDefinedTransformationRef>),
SetItemDefinedTransformation(Vec<ItemDefinedTransformationRef>),
Complex(ComplexUnitId),
}
impl TransformationRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::FunctionallyDefinedTransformation(i) => {
Ok(Self::FunctionallyDefinedTransformation(i))
}
EntityKey::ItemDefinedTransformation(i) => Ok(Self::ItemDefinedTransformation(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected TransformationRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum TrimmingSelectRef {
ApllPoint(ApllPointId),
ApllPointWithSurface(ApllPointWithSurfaceId),
CartesianPoint(CartesianPointId),
ParameterValue(f64),
}
impl TrimmingSelectRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
other => Err(format!("expected TrimmingSelectRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum TwoDirectionRepeatFactorRef {
TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
Complex(ComplexUnitId),
}
impl TwoDirectionRepeatFactorRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!(
"expected TwoDirectionRepeatFactorRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum UncertaintyMeasureWithUnitRef {
UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
}
impl UncertaintyMeasureWithUnitRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
other => Err(format!(
"expected UncertaintyMeasureWithUnitRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum UnitRef {
AreaUnit(AreaUnitId),
ContextDependentUnit(ContextDependentUnitId),
ConversionBasedUnit(ConversionBasedUnitId),
DerivedUnit(DerivedUnitId),
LengthUnit(LengthUnitId),
MassUnit(MassUnitId),
NamedUnit(NamedUnitId),
PlaneAngleUnit(PlaneAngleUnitId),
RatioUnit(RatioUnitId),
SiUnit(SiUnitId),
SolidAngleUnit(SolidAngleUnitId),
TimeUnit(TimeUnitId),
VolumeUnit(VolumeUnitId),
Complex(ComplexUnitId),
}
impl UnitRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected UnitRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ValueQualifierRef {
PrecisionQualifier(PrecisionQualifierId),
TypeQualifier(TypeQualifierId),
UncertaintyQualifier(UncertaintyQualifierId),
ValueFormatTypeQualifier(ValueFormatTypeQualifierId),
}
impl ValueQualifierRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::PrecisionQualifier(i) => Ok(Self::PrecisionQualifier(i)),
EntityKey::TypeQualifier(i) => Ok(Self::TypeQualifier(i)),
EntityKey::UncertaintyQualifier(i) => Ok(Self::UncertaintyQualifier(i)),
EntityKey::ValueFormatTypeQualifier(i) => Ok(Self::ValueFormatTypeQualifier(i)),
other => Err(format!("expected ValueQualifierRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum VectorRef {
Vector(VectorId),
Complex(ComplexUnitId),
}
impl VectorRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Vector(i) => Ok(Self::Vector(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected VectorRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum VersionedActionRequestRef {
VersionedActionRequest(VersionedActionRequestId),
}
impl VersionedActionRequestRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
other => Err(format!(
"expected VersionedActionRequestRef target, got {other:?}"
)),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum VertexLoopRef {
VertexLoop(VertexLoopId),
}
impl VertexLoopRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
other => Err(format!("expected VertexLoopRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum VertexRef {
Vertex(VertexId),
VertexPoint(VertexPointId),
Complex(ComplexUnitId),
}
impl VertexRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected VertexRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum ViewVolumeRef {
ViewVolume(ViewVolumeId),
Complex(ComplexUnitId),
}
impl ViewVolumeRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ViewVolume(i) => Ok(Self::ViewVolume(i)),
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected ViewVolumeRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub enum WorkItemRef {
ProductDefinitionFormation(ProductDefinitionFormationId),
ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
Complex(ComplexUnitId),
}
impl WorkItemRef {
pub fn from_any(a: EntityKey) -> Result<Self, String> {
match a {
EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
}
EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
other => Err(format!("expected WorkItemRef target, got {other:?}")),
}
}
}
#[derive(Debug, Clone, PartialEq)]
pub struct Action {
pub name: String,
pub description: Option<String>,
pub chosen_method: ActionMethodRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionAssignment {
pub assigned_action: ActionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionDirective {
pub name: String,
pub description: Option<String>,
pub analysis: String,
pub comment: String,
pub requests: Vec<VersionedActionRequestRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionMethod {
pub name: String,
pub description: Option<String>,
pub consequence: String,
pub purpose: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionMethodRelationship {
pub name: String,
pub description: Option<String>,
pub relating_method: ActionMethodRef,
pub related_method: ActionMethodRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionProperty {
pub name: String,
pub description: String,
pub definition: CharacterizedActionDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionRelationship {
pub name: String,
pub description: Option<String>,
pub relating_action: ActionRef,
pub related_action: ActionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionRequestAssignment {
pub assigned_action_request: VersionedActionRequestRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionRequestSolution {
pub method: ActionMethodRef,
pub request: VersionedActionRequestRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionResource {
pub name: String,
pub description: Option<String>,
pub usage: Vec<SupportedItemRef>,
pub kind: ActionResourceTypeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionResourceRelationship {
pub name: String,
pub description: Option<String>,
pub relating_resource: ActionResourceRef,
pub related_resource: ActionResourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionResourceRequirement {
pub name: String,
pub description: String,
pub kind: ResourceRequirementTypeRef,
pub operations: Vec<CharacterizedActionDefinitionRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ActionResourceType {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Address {
pub internal_location: Option<String>,
pub street_number: Option<String>,
pub street: Option<String>,
pub postal_box: Option<String>,
pub town: Option<String>,
pub region: Option<String>,
pub postal_code: Option<String>,
pub country: Option<String>,
pub facsimile_number: Option<String>,
pub telephone_number: Option<String>,
pub electronic_mail_address: Option<String>,
pub telex_number: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AdvancedBrepShapeRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AdvancedFace {
pub name: String,
pub bounds: Vec<FaceBoundRef>,
pub face_geometry: SurfaceRef,
pub same_sense: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AllAroundShapeAspect {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AngularLocation {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
pub angle_selection: AngleRelator,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AngularSize {
pub applies_to: ShapeAspectRef,
pub name: String,
pub angle_selection: AngleRelator,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AngularityTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationCurveOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: CurveOrCurveSetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationFillAreaOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
pub fill_style_target: PointRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationOccurrenceAssociativity {
pub name: String,
pub description: String,
pub relating_annotation_occurrence: AnnotationOccurrenceRef,
pub related_annotation_occurrence: AnnotationOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationOccurrenceRelationship {
pub name: String,
pub description: String,
pub relating_annotation_occurrence: AnnotationOccurrenceRef,
pub related_annotation_occurrence: AnnotationOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationPlaceholderLeaderLine {
pub name: String,
pub geometric_elements: Vec<DesApllPointSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationPlaceholderOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
pub role: AnnotationPlaceholderOccurrenceRole,
pub line_spacing: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationPlaceholderOccurrenceWithLeaderLine {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
pub role: AnnotationPlaceholderOccurrenceRole,
pub line_spacing: f64,
pub leader_line: Vec<AnnotationPlaceholderLeaderLineRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationPlane {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: PlaneOrPlanarBoxRef,
pub elements: Option<Vec<AnnotationPlaneElementRef>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationSymbol {
pub name: String,
pub mapping_source: RepresentationMapRef,
pub mapping_target: RepresentationItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationSymbolOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: AnnotationSymbolOccurrenceItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationText {
pub name: String,
pub mapping_source: RepresentationMapRef,
pub mapping_target: Axis2PlacementRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationTextCharacter {
pub name: String,
pub mapping_source: RepresentationMapRef,
pub mapping_target: Axis2PlacementRef,
pub alignment: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationTextOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: AnnotationTextOccurrenceItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationToAnnotationLeaderLine {
pub name: String,
pub geometric_elements: Vec<DesApllPointSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AnnotationToModelLeaderLine {
pub name: String,
pub geometric_elements: Vec<DesApllPointSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApllPoint {
pub name: String,
pub coordinates: Vec<f64>,
pub symbol_applied: DesApllPointSymbol,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApllPointWithSurface {
pub name: String,
pub coordinates: Vec<f64>,
pub symbol_applied: DesApllPointSymbol,
pub associated_surface: FaceSurfaceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApplicationContext {
pub application: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApplicationContextElement {
pub name: String,
pub frame_of_reference: ApplicationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApplicationProtocolDefinition {
pub status: String,
pub application_interpreted_model_schema_name: String,
pub application_protocol_year: i64,
pub application: ApplicationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedApprovalAssignment {
pub assigned_approval: ApprovalRef,
pub items: Vec<ApprovalItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedDateAndTimeAssignment {
pub assigned_date_and_time: DateAndTimeRef,
pub role: DateTimeRoleRef,
pub items: Vec<DateAndTimeItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedDocumentReference {
pub assigned_document: DocumentRef,
pub source: String,
pub items: Vec<DocumentReferenceItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedExternalIdentificationAssignment {
pub assigned_id: String,
pub role: IdentificationRoleRef,
pub source: ExternalSourceRef,
pub items: Vec<ExternalIdentificationItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedGroupAssignment {
pub assigned_group: GroupRef,
pub items: Vec<GroupableItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedPersonAndOrganizationAssignment {
pub assigned_person_and_organization: PersonAndOrganizationRef,
pub role: PersonAndOrganizationRoleRef,
pub items: Vec<PersonAndOrganizationItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedPresentedItem {
pub items: Vec<PresentedItemSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AppliedSecurityClassificationAssignment {
pub assigned_security_classification: SecurityClassificationRef,
pub items: Vec<SecurityClassificationItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Approval {
pub status: ApprovalStatusRef,
pub level: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApprovalAssignment {
pub assigned_approval: ApprovalRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApprovalDateTime {
pub date_time: DateTimeSelectRef,
pub dated_approval: ApprovalRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApprovalPersonOrganization {
pub person_organization: PersonOrganizationSelectRef,
pub authorized_approval: ApprovalRef,
pub role: ApprovalRoleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApprovalRole {
pub role: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApprovalStatus {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApproximationTolerance {
pub tolerance: ToleranceSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApproximationToleranceDeviation {
pub tessellation_type: ApproximationMethod,
pub tolerances: Vec<MeasureValue>,
pub definition_space: ProductOrPresentationSpace,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ApproximationToleranceParameter {
pub tolerances: Vec<MeasureValue>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AreaInSet {
pub area: PresentationAreaRef,
pub in_set: PresentationSetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AreaUnit {
pub elements: Vec<DerivedUnitElementRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AscribableState {
pub name: String,
pub description: Option<String>,
pub pertaining_state_type: StateTypeRef,
pub ascribed_state_observed: StateObservedRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AscribableStateRelationship {
pub name: String,
pub description: Option<String>,
pub relating_ascribable_state: AscribableStateRef,
pub related_ascribable_state: AscribableStateRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AssemblyComponentUsage {
pub id: String,
pub name: String,
pub description: Option<String>,
pub relating_product_definition: ProductDefinitionOrReferenceRef,
pub related_product_definition: ProductDefinitionOrReferenceRef,
pub reference_designator: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AuxiliaryLeaderLine {
pub name: String,
pub geometric_elements: Vec<DesApllPointSelectRef>,
pub controlling_leader_line: AnnotationToModelLeaderLineRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Axis1Placement {
pub name: String,
pub location: CartesianPointRef,
pub axis: Option<DirectionRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Axis2Placement2d {
pub name: String,
pub location: CartesianPointRef,
pub ref_direction: Option<DirectionRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Axis2Placement3d {
pub name: String,
pub location: CartesianPointRef,
pub axis: Option<DirectionRef>,
pub ref_direction: Option<DirectionRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BSplineCurve {
pub name: String,
pub degree: i64,
pub control_points_list: Vec<CartesianPointRef>,
pub curve_form: BSplineCurveForm,
pub closed_curve: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BSplineCurveWithKnots {
pub name: String,
pub degree: i64,
pub control_points_list: Vec<CartesianPointRef>,
pub curve_form: BSplineCurveForm,
pub closed_curve: Logical,
pub self_intersect: Logical,
pub knot_multiplicities: Vec<i64>,
pub knots: Vec<f64>,
pub knot_spec: KnotType,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BSplineSurface {
pub name: String,
pub u_degree: i64,
pub v_degree: i64,
pub control_points_list: Vec<Vec<CartesianPointRef>>,
pub surface_form: BSplineSurfaceForm,
pub u_closed: Logical,
pub v_closed: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BSplineSurfaceWithKnots {
pub name: String,
pub u_degree: i64,
pub v_degree: i64,
pub control_points_list: Vec<Vec<CartesianPointRef>>,
pub surface_form: BSplineSurfaceForm,
pub u_closed: Logical,
pub v_closed: Logical,
pub self_intersect: Logical,
pub u_multiplicities: Vec<i64>,
pub v_multiplicities: Vec<i64>,
pub u_knots: Vec<f64>,
pub v_knots: Vec<f64>,
pub knot_spec: KnotType,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BezierCurve {
pub name: String,
pub degree: i64,
pub control_points_list: Vec<CartesianPointRef>,
pub curve_form: BSplineCurveForm,
pub closed_curve: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BezierSurface {
pub name: String,
pub u_degree: i64,
pub v_degree: i64,
pub control_points_list: Vec<Vec<CartesianPointRef>>,
pub surface_form: BSplineSurfaceForm,
pub u_closed: Logical,
pub v_closed: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BoundedCurve {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BoundedPcurve {
pub name: String,
pub basis_surface: SurfaceRef,
pub reference_to_curve: DefinitionalRepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BoundedSurface {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BoundedSurfaceCurve {
pub name: String,
pub curve_3d: CurveRef,
pub associated_geometry: Vec<PcurveOrSurfaceRef>,
pub master_representation: PreferredSurfaceCurveRepresentation,
}
#[derive(Debug, Clone, PartialEq)]
pub struct BrepWithVoids {
pub name: String,
pub outer: ClosedShellRef,
pub voids: Vec<OrientedClosedShellRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CalendarDate {
pub year_component: i64,
pub day_component: i64,
pub month_component: i64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraImage {
pub name: String,
pub mapping_source: RepresentationMapRef,
pub mapping_target: RepresentationItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraImage3dWithScale {
pub name: String,
pub mapping_source: RepresentationMapRef,
pub mapping_target: RepresentationItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraModel {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraModelD3 {
pub name: String,
pub view_reference_system: Axis2Placement3dRef,
pub perspective_of_volume: ViewVolumeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraModelD3MultiClipping {
pub name: String,
pub view_reference_system: Axis2Placement3dRef,
pub perspective_of_volume: ViewVolumeRef,
pub shape_clipping: Vec<CameraModelD3MultiClippingIntersectionSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraModelD3WithHlhsr {
pub name: String,
pub view_reference_system: Axis2Placement3dRef,
pub perspective_of_volume: ViewVolumeRef,
pub hidden_line_surface_removal: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CameraUsage {
pub mapping_origin: RepresentationItemRef,
pub mapped_representation: RepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CartesianPoint {
pub name: String,
pub coordinates: Vec<f64>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CcDesignApproval {
pub assigned_approval: ApprovalRef,
pub items: Vec<ApprovedItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CcDesignDateAndTimeAssignment {
pub assigned_date_and_time: DateAndTimeRef,
pub role: DateTimeRoleRef,
pub items: Vec<DateTimeItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CcDesignPersonAndOrganizationAssignment {
pub assigned_person_and_organization: PersonAndOrganizationRef,
pub role: PersonAndOrganizationRoleRef,
pub items: Vec<CcPersonOrganizationItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CcDesignSecurityClassification {
pub assigned_security_classification: SecurityClassificationRef,
pub items: Vec<CcClassifiedItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CentreOfSymmetry {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Certification {
pub name: String,
pub purpose: String,
pub kind: CertificationTypeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CertificationType {
pub description: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Change {
pub assigned_action: ActionRef,
pub items: Vec<WorkItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ChangeRequest {
pub assigned_action_request: VersionedActionRequestRef,
pub items: Vec<ChangeRequestItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CharacterGlyphStyleOutline {
pub outline_style: CurveStyleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CharacterGlyphStyleStroke {
pub stroke_style: CurveStyleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CharacterizedItemWithinRepresentation {
pub name: String,
pub description: Option<String>,
pub item: RepresentationItemRef,
pub rep: RepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CharacterizedObject {
pub name: Option<String>,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CharacterizedRepresentation {
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Circle {
pub name: String,
pub position: Axis2PlacementRef,
pub radius: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CircularRunoutTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ClosedShell {
pub name: String,
pub cfs_faces: Vec<FaceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CoaxialityTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Colour {}
#[derive(Debug, Clone, PartialEq)]
pub struct ColourRgb {
pub name: String,
pub red: f64,
pub green: f64,
pub blue: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ColourSpecification {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CommonDatum {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub identification: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ComplexTriangulatedFace {
pub name: String,
pub coordinates: CoordinatesListRef,
pub pnmax: i64,
pub normals: Vec<Vec<f64>>,
pub geometric_link: Option<FaceOrSurfaceRef>,
pub pnindex: Vec<i64>,
pub triangle_strips: Vec<Vec<i64>>,
pub triangle_fans: Vec<Vec<i64>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ComplexTriangulatedSurfaceSet {
pub name: String,
pub coordinates: CoordinatesListRef,
pub pnmax: i64,
pub normals: Vec<Vec<f64>>,
pub pnindex: Vec<i64>,
pub triangle_strips: Vec<Vec<i64>>,
pub triangle_fans: Vec<Vec<i64>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CompositeCurve {
pub name: String,
pub segments: Vec<CompositeCurveSegmentRef>,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CompositeCurveSegment {
pub transition: TransitionCode,
pub same_sense: bool,
pub parent_curve: CurveRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CompositeGroupShapeAspect {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CompositeShapeAspect {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CompositeText {
pub name: String,
pub collected_text: Vec<TextOrCharacterRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CompoundRepresentationItem {
pub name: String,
pub item_element: CompoundItemDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConcentricityTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConfigurationDesign {
pub configuration: ConfigurationItemRef,
pub design: ConfigurationDesignItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConfigurationEffectivity {
pub id: String,
pub usage: ProductDefinitionRelationshipRef,
pub configuration: ConfigurationDesignRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConfigurationItem {
pub id: String,
pub name: String,
pub description: Option<String>,
pub item_concept: ProductConceptRef,
pub purpose: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Conic {
pub name: String,
pub position: Axis2PlacementRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConicalSurface {
pub name: String,
pub position: Axis2Placement3dRef,
pub radius: f64,
pub semi_angle: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConnectedFaceSet {
pub name: String,
pub cfs_faces: Option<Vec<FaceRef>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConstructiveGeometryRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConstructiveGeometryRepresentationRelationship {
pub name: String,
pub description: Option<String>,
pub rep_1: ConstructiveGeometryRepresentationOrShapeRepresentationRef,
pub rep_2: RepresentationOrRepresentationReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ContextDependentOverRidingStyledItem {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
pub over_ridden_style: StyledItemRef,
pub style_context: Vec<StyleContextSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ContextDependentShapeRepresentation {
pub representation_relation: ShapeRepresentationRelationshipRef,
pub represented_product_relation: ProductDefinitionShapeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ContextDependentUnit {
pub dimensions: DimensionalExponentsRef,
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ContinuousShapeAspect {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Contract {
pub name: String,
pub purpose: String,
pub kind: ContractTypeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ContractType {
pub description: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ConversionBasedUnit {
pub dimensions: DimensionalExponentsRef,
pub name: String,
pub conversion_factor: MeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CoordinatedUniversalTimeOffset {
pub hour_offset: i64,
pub minute_offset: Option<i64>,
pub sense: AheadOrBehind,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CoordinatesList {
pub name: String,
pub npoints: i64,
pub position_coords: Vec<Vec<f64>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Curve {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CurveStyle {
pub name: String,
pub curve_font: Option<CurveFontOrScaledCurveFontSelectRef>,
pub curve_width: Option<SizeSelectRef>,
pub curve_colour: Option<ColourRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CurveStyleFont {
pub name: String,
pub pattern_list: Vec<CurveStyleFontPatternRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CurveStyleFontAndScaling {
pub name: String,
pub curve_font: CurveStyleFontSelectRef,
pub curve_font_scaling: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CurveStyleFontPattern {
pub visible_segment_length: f64,
pub invisible_segment_length: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CurveStyleRendering {
pub rendering_method: ShadingCurveMethod,
pub rendering_properties: SurfaceRenderingPropertiesRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CylindricalSurface {
pub name: String,
pub position: Axis2Placement3dRef,
pub radius: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct CylindricityTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Date {
pub year_component: i64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DateAndTime {
pub date_component: DateRef,
pub time_component: LocalTimeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DateAndTimeAssignment {
pub assigned_date_and_time: DateAndTimeRef,
pub role: DateTimeRoleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DateRole {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DateTimeRole {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Datum {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub identification: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumFeature {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumReference {
pub precedence: i64,
pub referenced_datum: DatumRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumReferenceCompartment {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub base: DatumOrCommonDatumRef,
pub modifiers: Option<Vec<DatumReferenceModifierRef>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumReferenceElement {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub base: DatumOrCommonDatumRef,
pub modifiers: Option<Vec<DatumReferenceModifierRef>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumReferenceModifierWithValue {
pub modifier_type: DatumReferenceModifierType,
pub modifier_value: LengthMeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumSystem {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub constituents: Vec<DatumReferenceCompartmentRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DatumTarget {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub target_id: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DefaultModelGeometricView {
pub name: String,
pub description: Option<String>,
pub item: RepresentationItemRef,
pub rep: RepresentationRef,
pub name_1: String,
pub description_1: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DefinedCharacterGlyph {
pub name: String,
pub definition: DefinedGlyphSelectRef,
pub placement: Axis2PlacementRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DefinedSymbol {
pub name: String,
pub definition: DefinedSymbolSelectRef,
pub target: SymbolTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DefinitionalRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DefinitionalRepresentationRelationship {
pub name: String,
pub description: Option<String>,
pub rep_1: RepresentationOrRepresentationReferenceRef,
pub rep_2: RepresentationOrRepresentationReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DefinitionalRepresentationRelationshipWithSameContext {
pub name: String,
pub description: Option<String>,
pub rep_1: RepresentationOrRepresentationReferenceRef,
pub rep_2: RepresentationOrRepresentationReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DegenerateToroidalSurface {
pub name: String,
pub position: Axis2Placement3dRef,
pub major_radius: f64,
pub minor_radius: f64,
pub select_outer: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DerivedShapeAspect {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DerivedUnit {
pub elements: Vec<DerivedUnitElementRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DerivedUnitElement {
pub unit: NamedUnitRef,
pub exponent: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DescriptionAttribute {
pub attribute_value: String,
pub described_item: DescriptionAttributeSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DescriptiveRepresentationItem {
pub name: String,
pub description: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DesignContext {
pub name: String,
pub frame_of_reference: ApplicationContextRef,
pub life_cycle_stage: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalCharacteristicRepresentation {
pub dimension: DimensionalCharacteristicRef,
pub representation: ShapeDimensionRepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalExponents {
pub length_exponent: f64,
pub mass_exponent: f64,
pub time_exponent: f64,
pub electric_current_exponent: f64,
pub thermodynamic_temperature_exponent: f64,
pub amount_of_substance_exponent: f64,
pub luminous_intensity_exponent: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalLocation {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalLocationWithPath {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
pub path: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalSize {
pub applies_to: ShapeAspectRef,
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalSizeWithDatumFeature {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub applies_to: ShapeAspectRef,
pub name_1: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DimensionalSizeWithPath {
pub applies_to: ShapeAspectRef,
pub name: String,
pub path: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DirectedDimensionalLocation {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Direction {
pub name: String,
pub direction_ratios: Vec<f64>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Document {
pub id: String,
pub name: String,
pub description: Option<String>,
pub kind: DocumentTypeRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DocumentFile {
pub id: String,
pub name: String,
pub description: Option<String>,
pub kind: DocumentTypeRef,
pub name_1: String,
pub description_1: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DocumentProductAssociation {
pub name: String,
pub description: Option<String>,
pub relating_document: DocumentRef,
pub related_product: ProductOrFormationOrDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DocumentProductEquivalence {
pub name: String,
pub description: Option<String>,
pub relating_document: DocumentRef,
pub related_product: ProductOrFormationOrDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DocumentReference {
pub assigned_document: DocumentRef,
pub source: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DocumentRepresentationType {
pub name: String,
pub represented_document: DocumentRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DocumentType {
pub product_data_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingAnnotationOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingCallout {
pub name: String,
pub contents: Vec<DraughtingCalloutElementRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingCalloutRelationship {
pub name: String,
pub description: String,
pub relating_draughting_callout: DraughtingCalloutRef,
pub related_draughting_callout: DraughtingCalloutRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingModel {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingModelItemAssociation {
pub name: String,
pub description: Option<String>,
pub definition: DraughtingModelItemDefinitionRef,
pub used_representation: AnnotationRepresentationSelectRef,
pub identified_item: DraughtingModelItemAssociationSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingModelItemAssociationWithPlaceholder {
pub name: String,
pub description: Option<String>,
pub definition: DraughtingModelItemDefinitionRef,
pub used_representation: AnnotationRepresentationSelectRef,
pub identified_item: DraughtingModelItemAssociationSelectRef,
pub annotation_placeholder: AnnotationPlaceholderOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingPreDefinedColour {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingPreDefinedCurveFont {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct DraughtingPreDefinedTextFont {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Edge {
pub name: String,
pub edge_start: Option<VertexRef>,
pub edge_end: Option<VertexRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct EdgeCurve {
pub name: String,
pub edge_start: VertexRef,
pub edge_end: VertexRef,
pub edge_geometry: CurveRef,
pub same_sense: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct EdgeLoop {
pub name: String,
pub edge_list: Vec<OrientedEdgeRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Effectivity {
pub id: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ElementarySurface {
pub name: String,
pub position: Axis2Placement3dRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Ellipse {
pub name: String,
pub position: Axis2PlacementRef,
pub semi_axis_1: f64,
pub semi_axis_2: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Expression {}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternalIdentificationAssignment {
pub assigned_id: String,
pub role: IdentificationRoleRef,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternalSource {
pub source_id: StringSelectValue,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedCharacterGlyph {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedCurveFont {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedHatchStyle {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedItem {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedStyle {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedSymbol {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedTextFont {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedTile {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ExternallyDefinedTileStyle {
pub item_id: StringSelectValue,
pub source: ExternalSourceRef,
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Face {
pub name: String,
pub bounds: Vec<FaceBoundRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FaceBound {
pub name: String,
pub bound: LoopRef,
pub orientation: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FaceOuterBound {
pub name: String,
pub bound: LoopRef,
pub orientation: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FaceSurface {
pub name: String,
pub bounds: Vec<FaceBoundRef>,
pub face_geometry: SurfaceRef,
pub same_sense: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FeatureForDatumTargetRelationship {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyle {
pub name: String,
pub fill_styles: Vec<FillStyleSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyleColour {
pub name: String,
pub fill_colour: ColourRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyleHatching {
pub name: String,
pub hatch_line_appearance: CurveStyleRef,
pub start_of_next_hatch_line: OneDirectionRepeatFactorRef,
pub point_of_reference_hatch_line: CartesianPointRef,
pub pattern_start: CartesianPointRef,
pub hatch_line_angle: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyleTileColouredRegion {
pub name: String,
pub closed_curve: CurveOrAnnotationCurveOccurrenceRef,
pub region_colour: ColourRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyleTileCurveWithStyle {
pub name: String,
pub styled_curve: AnnotationCurveOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyleTileSymbolWithStyle {
pub name: String,
pub symbol: AnnotationSymbolOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FillAreaStyleTiles {
pub name: String,
pub tiling_pattern: TwoDirectionRepeatFactorRef,
pub tiles: Vec<FillAreaStyleTileShapeSelectRef>,
pub tiling_scale: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FlatnessTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct FoundedItem {}
#[derive(Debug, Clone, PartialEq)]
pub struct FunctionallyDefinedTransformation {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeneralDatumReference {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub base: DatumOrCommonDatumRef,
pub modifiers: Option<Vec<DatumReferenceModifierRef>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeneralProperty {
pub id: String,
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeneralPropertyAssociation {
pub name: String,
pub description: Option<String>,
pub base_definition: GeneralPropertyRef,
pub derived_definition: DerivedPropertySelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GenericExpression {}
#[derive(Debug, Clone, PartialEq)]
pub struct GenericLiteral {}
#[derive(Debug, Clone, PartialEq)]
pub struct GenericProductDefinitionReference {
pub source: ExternalSourceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricCurveSet {
pub name: String,
pub elements: Vec<GeometricSetSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricItemSpecificUsage {
pub name: String,
pub description: Option<String>,
pub definition: GeometricItemSpecificUsageSelectRef,
pub used_representation: ShapeModelRef,
pub identified_item: GeometricModelItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricRepresentationContext {
pub context_identifier: String,
pub context_type: String,
pub coordinate_space_dimension: i64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricRepresentationItem {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricSet {
pub name: String,
pub elements: Vec<GeometricSetSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricToleranceRelationship {
pub name: String,
pub description: String,
pub relating_geometric_tolerance: GeometricToleranceRef,
pub related_geometric_tolerance: GeometricToleranceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricToleranceWithDatumReference {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricToleranceWithDefinedAreaUnit {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub unit_size: LengthOrPlaneAngleMeasureWithUnitSelectRef,
pub area_type: AreaUnitType,
pub second_unit_size: Option<LengthOrPlaneAngleMeasureWithUnitSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricToleranceWithDefinedUnit {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub unit_size: LengthOrPlaneAngleMeasureWithUnitSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricToleranceWithMaximumTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub modifiers: Vec<GeometricToleranceModifier>,
pub maximum_upper_tolerance: LengthMeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricToleranceWithModifiers {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub modifiers: Vec<GeometricToleranceModifier>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricallyBoundedSurfaceShapeRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GeometricallyBoundedWireframeShapeRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GlobalUncertaintyAssignedContext {
pub context_identifier: String,
pub context_type: String,
pub uncertainty: Vec<UncertaintyMeasureWithUnitRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GlobalUnitAssignedContext {
pub context_identifier: String,
pub context_type: String,
pub units: Vec<UnitRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Group {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct GroupAssignment {
pub assigned_group: GroupRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Hyperbola {
pub name: String,
pub position: Axis2PlacementRef,
pub semi_axis: f64,
pub semi_imag_axis: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IdAttribute {
pub attribute_value: String,
pub identified_item: IdAttributeSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IdentificationAssignment {
pub assigned_id: String,
pub role: IdentificationRoleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IdentificationRole {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IntLiteral {
pub the_value: i64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IntegerRepresentationItem {
pub name: String,
pub the_value: i64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct IntersectionCurve {
pub name: String,
pub curve_3d: CurveRef,
pub associated_geometry: Vec<PcurveOrSurfaceRef>,
pub master_representation: PreferredSurfaceCurveRepresentation,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Invisibility {
pub invisible_items: Vec<InvisibleItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ItemDefinedTransformation {
pub name: String,
pub description: Option<String>,
pub transform_item_1: RepresentationItemRef,
pub transform_item_2: RepresentationItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ItemIdentifiedRepresentationUsage {
pub name: String,
pub description: Option<String>,
pub definition: ItemIdentifiedRepresentationUsageDefinitionRef,
pub used_representation: RepresentationRef,
pub identified_item: ItemIdentifiedRepresentationUsageSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LeaderCurve {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: CurveOrCurveSetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LeaderDirectedCallout {
pub name: String,
pub contents: Vec<DraughtingCalloutElementRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LeaderTerminator {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: AnnotationSymbolOccurrenceItemRef,
pub annotated_curve: AnnotationCurveOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LengthMeasureWithUnit {
pub value_component: MeasureValue,
pub unit_component: UnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LengthUnit {
pub dimensions: DimensionalExponentsRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LimitsAndFits {
pub form_variance: String,
pub zone_variance: String,
pub grade: String,
pub source: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Line {
pub name: String,
pub pnt: CartesianPointRef,
pub dir: VectorRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LineProfileTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LiteralNumber {
pub the_value: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct LocalTime {
pub hour_component: i64,
pub minute_component: Option<i64>,
pub second_component: Option<f64>,
pub zone: CoordinatedUniversalTimeOffsetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Loop {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MakeFromUsageOption {
pub id: String,
pub name: String,
pub description: Option<String>,
pub relating_product_definition: ProductDefinitionOrReferenceRef,
pub related_product_definition: ProductDefinitionOrReferenceRef,
pub ranking: i64,
pub ranking_rationale: String,
pub quantity: MeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ManifoldSolidBrep {
pub name: String,
pub outer: ClosedShellRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ManifoldSurfaceShapeRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MappedItem {
pub name: String,
pub mapping_source: RepresentationMapRef,
pub mapping_target: RepresentationItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MassMeasureWithUnit {
pub value_component: MeasureValue,
pub unit_component: UnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MassUnit {
pub dimensions: DimensionalExponentsRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MeasureQualification {
pub name: String,
pub description: String,
pub qualified_measure: MeasureWithUnitRef,
pub qualifiers: Vec<ValueQualifierRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MeasureRepresentationItem {
pub name: String,
pub value_component: MeasureValue,
pub unit_component: UnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MeasureWithUnit {
pub value_component: MeasureValue,
pub unit_component: UnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MechanicalContext {
pub name: String,
pub frame_of_reference: ApplicationContextRef,
pub discipline_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MechanicalDesignAndDraughtingRelationship {
pub name: String,
pub description: Option<String>,
pub rep_1: MechanicalDesignAndDraughtingRelationshipSelectRef,
pub rep_2: MechanicalDesignAndDraughtingRelationshipSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MechanicalDesignGeometricPresentationRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MechanicalDesignPresentationRepresentationWithDraughting {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct MechanicalDesignShadedPresentationRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ModelGeometricView {
pub name: String,
pub description: Option<String>,
pub item: RepresentationItemRef,
pub rep: RepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ModifiedGeometricTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub modifier: LimitCondition,
}
#[derive(Debug, Clone, PartialEq)]
pub struct NameAttribute {
pub attribute_value: String,
pub named_item: NameAttributeSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct NamedUnit {
pub dimensions: Option<DimensionalExponentsRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct NextAssemblyUsageOccurrence {
pub id: String,
pub name: String,
pub description: Option<String>,
pub relating_product_definition: ProductDefinitionOrReferenceRef,
pub related_product_definition: ProductDefinitionOrReferenceRef,
pub reference_designator: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct NumericExpression {}
#[derive(Debug, Clone, PartialEq)]
pub struct ObjectRole {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OffsetSurface {
pub name: String,
pub basis_surface: SurfaceRef,
pub distance: f64,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OneDirectionRepeatFactor {
pub name: String,
pub repeat_factor: VectorRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OpenShell {
pub name: String,
pub cfs_faces: Vec<FaceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Organization {
pub id: Option<String>,
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationRelationship {
pub name: String,
pub description: Option<String>,
pub relating_organization: OrganizationRef,
pub related_organization: OrganizationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationRole {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationType {
pub id: String,
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationTypeRole {
pub id: String,
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationalAddress {
pub internal_location: Option<String>,
pub street_number: Option<String>,
pub street: Option<String>,
pub postal_box: Option<String>,
pub town: Option<String>,
pub region: Option<String>,
pub postal_code: Option<String>,
pub country: Option<String>,
pub facsimile_number: Option<String>,
pub telephone_number: Option<String>,
pub electronic_mail_address: Option<String>,
pub telex_number: Option<String>,
pub organizations: Vec<OrganizationRef>,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationalProject {
pub name: String,
pub description: Option<String>,
pub responsible_organizations: Vec<OrganizationRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationalProjectRelationship {
pub name: String,
pub description: Option<String>,
pub relating_organizational_project: OrganizationalProjectRef,
pub related_organizational_project: OrganizationalProjectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrganizationalProjectRole {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrientedClosedShell {
pub name: String,
pub closed_shell_element: ClosedShellRef,
pub orientation: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OrientedEdge {
pub name: String,
pub edge_element: EdgeRef,
pub orientation: bool,
}
#[derive(Debug, Clone, PartialEq)]
pub struct OverRidingStyledItem {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
pub over_ridden_style: StyledItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ParallelismTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ParametricRepresentationContext {
pub context_identifier: String,
pub context_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Path {
pub name: String,
pub edge_list: Vec<OrientedEdgeRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Pcurve {
pub name: String,
pub basis_surface: SurfaceRef,
pub reference_to_curve: DefinitionalRepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PerpendicularityTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Person {
pub id: String,
pub last_name: Option<String>,
pub first_name: Option<String>,
pub middle_names: Option<Vec<String>>,
pub prefix_titles: Option<Vec<String>>,
pub suffix_titles: Option<Vec<String>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PersonAndOrganization {
pub the_person: PersonRef,
pub the_organization: OrganizationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PersonAndOrganizationAddress {
pub internal_location: Option<String>,
pub street_number: Option<String>,
pub street: Option<String>,
pub postal_box: Option<String>,
pub town: Option<String>,
pub region: Option<String>,
pub postal_code: Option<String>,
pub country: Option<String>,
pub facsimile_number: Option<String>,
pub telephone_number: Option<String>,
pub electronic_mail_address: Option<String>,
pub telex_number: Option<String>,
pub organizations: Vec<OrganizationRef>,
pub description: Option<String>,
pub people: Vec<PersonRef>,
pub description_1: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PersonAndOrganizationAssignment {
pub assigned_person_and_organization: PersonAndOrganizationRef,
pub role: PersonAndOrganizationRoleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PersonAndOrganizationRole {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PersonalAddress {
pub internal_location: Option<String>,
pub street_number: Option<String>,
pub street: Option<String>,
pub postal_box: Option<String>,
pub town: Option<String>,
pub region: Option<String>,
pub postal_code: Option<String>,
pub country: Option<String>,
pub facsimile_number: Option<String>,
pub telephone_number: Option<String>,
pub electronic_mail_address: Option<String>,
pub telex_number: Option<String>,
pub people: Vec<PersonRef>,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PlacedDatumTargetFeature {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub target_id: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Placement {
pub name: String,
pub location: CartesianPointRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PlanarBox {
pub name: String,
pub size_in_x: f64,
pub size_in_y: f64,
pub placement: Axis2PlacementRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PlanarExtent {
pub name: String,
pub size_in_x: f64,
pub size_in_y: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Plane {
pub name: String,
pub position: Axis2Placement3dRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PlaneAngleMeasureWithUnit {
pub value_component: MeasureValue,
pub unit_component: UnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PlaneAngleUnit {
pub dimensions: DimensionalExponentsRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PlusMinusTolerance {
pub range: ToleranceMethodDefinitionRef,
pub toleranced_dimension: DimensionalCharacteristicRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Point {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PointStyle {
pub name: String,
pub marker: Option<MarkerSelectRef>,
pub marker_size: Option<SizeSelectRef>,
pub marker_colour: Option<ColourRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PolyLoop {
pub name: String,
pub polygon: Vec<CartesianPointRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Polyline {
pub name: String,
pub points: Vec<CartesianPointRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PositionTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedCharacterGlyph {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedColour {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedCurveFont {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedItem {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedMarker {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedPointMarkerSymbol {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedPresentationStyle {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedSurfaceSideStyle {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedSymbol {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedTerminatorSymbol {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedTextFont {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PreDefinedTile {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PrecisionQualifier {
pub precision_value: i64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationArea {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationLayerAssignment {
pub name: String,
pub description: String,
pub assigned_items: Vec<LayeredItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationSet {}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationSize {
pub unit: PresentationSizeAssignmentSelectRef,
pub size: PlanarBoxRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationStyleAssignment {
pub styles: Vec<PresentationStyleSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationStyleByContext {
pub styles: Vec<PresentationStyleSelectRef>,
pub style_context: StyleContextSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentationView {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentedItem {}
#[derive(Debug, Clone, PartialEq)]
pub struct PresentedItemRepresentation {
pub presentation: PresentationRepresentationSelectRef,
pub item: PresentedItemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Product {
pub id: String,
pub name: String,
pub description: Option<String>,
pub frame_of_reference: Vec<ProductContextRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductCategory {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductCategoryRelationship {
pub name: String,
pub description: Option<String>,
pub category: ProductCategoryRef,
pub sub_category: ProductCategoryRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductConcept {
pub id: String,
pub name: String,
pub description: Option<String>,
pub market_context: ProductConceptContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductConceptContext {
pub name: String,
pub frame_of_reference: ApplicationContextRef,
pub market_segment_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductConceptFeature {
pub id: String,
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductConceptFeatureCategory {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductContext {
pub name: String,
pub frame_of_reference: ApplicationContextRef,
pub discipline_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinition {
pub id: String,
pub description: Option<String>,
pub formation: ProductDefinitionFormationRef,
pub frame_of_reference: ProductDefinitionContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionContext {
pub name: String,
pub frame_of_reference: ApplicationContextRef,
pub life_cycle_stage: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionContextAssociation {
pub definition: ProductDefinitionRef,
pub frame_of_reference: ProductDefinitionContextRef,
pub role: ProductDefinitionContextRoleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionContextRole {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionEffectivity {
pub id: String,
pub usage: ProductDefinitionRelationshipRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionFormation {
pub id: String,
pub description: Option<String>,
pub of_product: ProductRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionFormationWithSpecifiedSource {
pub id: String,
pub description: Option<String>,
pub of_product: ProductRef,
pub make_or_buy: Source,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionOccurrence {
pub id: String,
pub name: Option<String>,
pub description: Option<String>,
pub definition: Option<ProductDefinitionOrReferenceRef>,
pub quantity: Option<MeasureWithUnitRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionRelationship {
pub id: String,
pub name: String,
pub description: Option<String>,
pub relating_product_definition: ProductDefinitionOrReferenceRef,
pub related_product_definition: ProductDefinitionOrReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionRelationshipRelationship {
pub id: String,
pub name: String,
pub description: Option<String>,
pub relating: ProductDefinitionRelationshipRef,
pub related: ProductDefinitionRelationshipRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionShape {
pub name: String,
pub description: Option<String>,
pub definition: CharacterizedDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionSubstitute {
pub description: Option<String>,
pub context_relationship: ProductDefinitionRelationshipRef,
pub substitute_definition: ProductDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionUsage {
pub id: String,
pub name: String,
pub description: Option<String>,
pub relating_product_definition: ProductDefinitionOrReferenceRef,
pub related_product_definition: ProductDefinitionOrReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductDefinitionWithAssociatedDocuments {
pub id: String,
pub description: Option<String>,
pub formation: ProductDefinitionFormationRef,
pub frame_of_reference: ProductDefinitionContextRef,
pub documentation_ids: Vec<DocumentRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProductRelatedProductCategory {
pub name: String,
pub description: Option<String>,
pub products: Vec<ProductRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProjectedZoneDefinition {
pub zone: ToleranceZoneRef,
pub boundaries: Vec<ShapeAspectRef>,
pub projection_end: ShapeAspectRef,
pub projected_length: LengthMeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PropertyDefinition {
pub name: String,
pub description: Option<String>,
pub definition: CharacterizedDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PropertyDefinitionRelationship {
pub name: String,
pub description: String,
pub relating_property_definition: PropertyDefinitionRef,
pub related_property_definition: PropertyDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct PropertyDefinitionRepresentation {
pub definition: RepresentedDefinitionRef,
pub used_representation: RepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct QualifiedRepresentationItem {
pub name: String,
pub qualifiers: Vec<ValueQualifierRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct QuasiUniformCurve {
pub name: String,
pub degree: i64,
pub control_points_list: Vec<CartesianPointRef>,
pub curve_form: BSplineCurveForm,
pub closed_curve: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct QuasiUniformSurface {
pub name: String,
pub u_degree: i64,
pub v_degree: i64,
pub control_points_list: Vec<Vec<CartesianPointRef>>,
pub surface_form: BSplineSurfaceForm,
pub u_closed: Logical,
pub v_closed: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RatioMeasureWithUnit {
pub value_component: MeasureValue,
pub unit_component: UnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RatioUnit {
pub dimensions: DimensionalExponentsRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RationalBSplineCurve {
pub name: String,
pub degree: i64,
pub control_points_list: Vec<CartesianPointRef>,
pub curve_form: BSplineCurveForm,
pub closed_curve: Logical,
pub self_intersect: Logical,
pub weights_data: Vec<f64>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RationalBSplineSurface {
pub name: String,
pub u_degree: i64,
pub v_degree: i64,
pub control_points_list: Vec<Vec<CartesianPointRef>>,
pub surface_form: BSplineSurfaceForm,
pub u_closed: Logical,
pub v_closed: Logical,
pub self_intersect: Logical,
pub weights_data: Vec<Vec<f64>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RealLiteral {
pub the_value: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RealRepresentationItem {
pub name: String,
pub the_value: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepositionedTessellatedItem {
pub name: String,
pub location: Axis2Placement3dRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Representation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationContext {
pub context_identifier: String,
pub context_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationContextReference {
pub context_identifier: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationItem {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationMap {
pub mapping_origin: RepresentationItemRef,
pub mapped_representation: RepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationReference {
pub id: String,
pub context_of_items: RepresentationContextReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationRelationship {
pub name: String,
pub description: Option<String>,
pub rep_1: RepresentationOrRepresentationReferenceRef,
pub rep_2: RepresentationOrRepresentationReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RepresentationRelationshipWithTransformation {
pub name: String,
pub description: Option<String>,
pub rep_1: RepresentationOrRepresentationReferenceRef,
pub rep_2: RepresentationOrRepresentationReferenceRef,
pub transformation_operator: TransformationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ResourceProperty {
pub name: String,
pub description: String,
pub resource: CharacterizedResourceDefinitionRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ResourceRequirementType {
pub name: String,
pub description: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RoleAssociation {
pub role: ObjectRoleRef,
pub item_with_role: RoleSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct RoundnessTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SeamCurve {
pub name: String,
pub curve_3d: CurveRef,
pub associated_geometry: Vec<PcurveOrSurfaceRef>,
pub master_representation: PreferredSurfaceCurveRepresentation,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SecurityClassification {
pub name: String,
pub purpose: String,
pub security_level: SecurityClassificationLevelRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SecurityClassificationAssignment {
pub assigned_security_classification: SecurityClassificationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SecurityClassificationLevel {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeAspect {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Option<Logical>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeAspectAssociativity {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeAspectDerivingRelationship {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeAspectRelationship {
pub name: String,
pub description: Option<String>,
pub relating_shape_aspect: ShapeAspectRef,
pub related_shape_aspect: ShapeAspectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeDefinitionRepresentation {
pub definition: RepresentedDefinitionRef,
pub used_representation: RepresentationRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeDimensionRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeRepresentationRelationship {
pub name: String,
pub description: Option<String>,
pub rep_1: RepresentationOrRepresentationReferenceRef,
pub rep_2: RepresentationOrRepresentationReferenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShapeRepresentationWithParameters {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ShellBasedSurfaceModel {
pub name: String,
pub sbsm_boundary: Vec<ShellRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SiUnit {
pub prefix: Option<SiPrefix>,
pub name: SiUnitName,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SimpleGenericExpression {}
#[derive(Debug, Clone, PartialEq)]
pub struct SimpleNumericExpression {}
#[derive(Debug, Clone, PartialEq)]
pub struct SolidAngleUnit {
pub dimensions: DimensionalExponentsRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SolidModel {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SphericalSurface {
pub name: String,
pub position: Axis2Placement3dRef,
pub radius: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StartRequest {
pub assigned_action_request: VersionedActionRequestRef,
pub items: Vec<StartRequestItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StartWork {
pub assigned_action: ActionRef,
pub items: Vec<WorkItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StateObserved {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StateType {
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StraightnessTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct StyledItem {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Surface {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceCurve {
pub name: String,
pub curve_3d: CurveRef,
pub associated_geometry: Vec<PcurveOrSurfaceRef>,
pub master_representation: PreferredSurfaceCurveRepresentation,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceOfLinearExtrusion {
pub name: String,
pub swept_curve: CurveRef,
pub extrusion_axis: VectorRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceOfRevolution {
pub name: String,
pub swept_curve: CurveRef,
pub axis_position: Axis1PlacementRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceProfileTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceRenderingProperties {
pub rendered_colour: ColourRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceSideStyle {
pub name: String,
pub styles: Vec<SurfaceStyleElementSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleBoundary {
pub style_of_boundary: CurveOrRenderRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleControlGrid {
pub style_of_control_grid: CurveOrRenderRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleFillArea {
pub fill_area: FillAreaStyleRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleParameterLine {
pub style_of_parameter_lines: CurveOrRenderRef,
pub direction_counts: Vec<IntMeasureValue>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleReflectanceAmbient {
pub ambient_reflectance: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleRendering {
pub rendering_method: ShadingSurfaceMethod,
pub surface_colour: ColourRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleRenderingWithProperties {
pub rendering_method: ShadingSurfaceMethod,
pub surface_colour: ColourRef,
pub properties: Vec<RenderingPropertiesSelectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleSegmentationCurve {
pub style_of_segmentation_curve: CurveOrRenderRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleSilhouette {
pub style_of_silhouette: CurveOrRenderRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleTransparent {
pub transparency: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SurfaceStyleUsage {
pub side: SurfaceSide,
pub style: SurfaceSideStyleSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SweptSurface {
pub name: String,
pub swept_curve: CurveRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SymbolColour {
pub colour_of_symbol: ColourRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SymbolRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SymbolStyle {
pub name: String,
pub style_of_symbol: SymbolStyleSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SymbolTarget {
pub name: String,
pub placement: Axis2PlacementRef,
pub x_scale: f64,
pub y_scale: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct SymmetryTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TerminatorSymbol {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: AnnotationSymbolOccurrenceItemRef,
pub annotated_curve: AnnotationCurveOccurrenceRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedAnnotationOccurrence {
pub name: String,
pub styles: Vec<PresentationStyleAssignmentRef>,
pub item: StyledItemTargetRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedCurveSet {
pub name: String,
pub coordinates: CoordinatesListRef,
pub line_strips: Vec<Vec<i64>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedFace {
pub name: String,
pub coordinates: CoordinatesListRef,
pub pnmax: i64,
pub normals: Vec<Vec<f64>>,
pub geometric_link: Option<FaceOrSurfaceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedGeometricSet {
pub name: String,
pub children: Vec<TessellatedItemRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedItem {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedShapeRepresentation {
pub name: String,
pub items: Vec<RepresentationItemRef>,
pub context_of_items: RepresentationContextRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedShell {
pub name: String,
pub items: Vec<TessellatedStructuredItemRef>,
pub topological_link: Option<ConnectedFaceSetRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedSolid {
pub name: String,
pub items: Vec<TessellatedStructuredItemRef>,
pub geometric_link: Option<ManifoldSolidBrepRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedStructuredItem {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TessellatedSurfaceSet {
pub name: String,
pub coordinates: CoordinatesListRef,
pub pnmax: i64,
pub normals: Vec<Vec<f64>>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TextFont {
pub id: String,
pub name: String,
pub description: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TextLiteral {
pub name: String,
pub literal: String,
pub placement: Axis2PlacementRef,
pub alignment: String,
pub path: TextPath,
pub font: FontSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TextStyle {
pub name: String,
pub character_appearance: CharacterStyleSelectRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TextStyleForDefinedFont {
pub text_colour: ColourRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TextStyleWithBoxCharacteristics {
pub name: String,
pub character_appearance: CharacterStyleSelectRef,
pub characteristics: Vec<MeasureValue>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TextureStyleSpecification {}
#[derive(Debug, Clone, PartialEq)]
pub struct TextureStyleTessellationSpecification {}
#[derive(Debug, Clone, PartialEq)]
pub struct TimeUnit {
pub dimensions: DimensionalExponentsRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ToleranceValue {
pub lower_bound: MeasureWithUnitRef,
pub upper_bound: MeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ToleranceZone {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub defining_tolerance: Vec<ToleranceZoneTargetRef>,
pub form: ToleranceZoneFormRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ToleranceZoneDefinition {
pub zone: ToleranceZoneRef,
pub boundaries: Vec<ShapeAspectRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ToleranceZoneForm {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ToleranceZoneWithDatum {
pub name: String,
pub description: Option<String>,
pub of_shape: ProductDefinitionShapeRef,
pub product_definitional: Logical,
pub defining_tolerance: Vec<ToleranceZoneTargetRef>,
pub form: ToleranceZoneFormRef,
pub datum_reference: DatumSystemRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TopologicalRepresentationItem {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ToroidalSurface {
pub name: String,
pub position: Axis2Placement3dRef,
pub major_radius: f64,
pub minor_radius: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TotalRunoutTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub datum_system: Vec<DatumSystemOrReferenceRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TrimmedCurve {
pub name: String,
pub basis_curve: CurveRef,
pub trim_1: Vec<TrimmingSelectRef>,
pub trim_2: Vec<TrimmingSelectRef>,
pub sense_agreement: bool,
pub master_representation: TrimmingPreference,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TwoDirectionRepeatFactor {
pub name: String,
pub repeat_factor: VectorRef,
pub second_repeat_factor: VectorRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct TypeQualifier {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct UncertaintyMeasureWithUnit {
pub value_component: MeasureValue,
pub unit_component: UnitRef,
pub name: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct UncertaintyQualifier {
pub measure_name: String,
pub description: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct UnequallyDisposedGeometricTolerance {
pub name: String,
pub description: Option<String>,
pub magnitude: Option<LengthMeasureWithUnitRef>,
pub toleranced_shape_aspect: GeometricToleranceTargetRef,
pub displacement: LengthMeasureWithUnitRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct UniformCurve {
pub name: String,
pub degree: i64,
pub control_points_list: Vec<CartesianPointRef>,
pub curve_form: BSplineCurveForm,
pub closed_curve: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct UniformSurface {
pub name: String,
pub u_degree: i64,
pub v_degree: i64,
pub control_points_list: Vec<Vec<CartesianPointRef>>,
pub surface_form: BSplineSurfaceForm,
pub u_closed: Logical,
pub v_closed: Logical,
pub self_intersect: Logical,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ValueFormatTypeQualifier {
pub format_type: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ValueRepresentationItem {
pub name: String,
pub value_component: MeasureValue,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Vector {
pub name: String,
pub orientation: DirectionRef,
pub magnitude: f64,
}
#[derive(Debug, Clone, PartialEq)]
pub struct VersionedActionRequest {
pub id: String,
pub version: Option<String>,
pub purpose: String,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Vertex {
pub name: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct VertexLoop {
pub name: String,
pub loop_vertex: VertexRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct VertexPoint {
pub name: String,
pub vertex_geometry: PointRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct VertexShell {
pub name: String,
pub vertex_shell_extent: VertexLoopRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ViewVolume {
pub projection_type: CentralOrParallel,
pub projection_point: CartesianPointRef,
pub view_plane_distance: f64,
pub front_plane_distance: f64,
pub front_plane_clipping: bool,
pub back_plane_distance: f64,
pub back_plane_clipping: bool,
pub view_volume_sides_clipping: bool,
pub view_window: PlanarBoxRef,
}
#[derive(Debug, Clone, PartialEq)]
pub struct VolumeUnit {
pub elements: Vec<DerivedUnitElementRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct WireShell {
pub name: String,
pub wire_shell_extent: Vec<LoopRef>,
}
#[derive(Debug, Clone, PartialEq)]
pub enum UnitPart {
Action {
name: String,
description: Option<String>,
chosen_method: ActionMethodRef,
},
ActionMethod {
name: String,
description: Option<String>,
consequence: String,
purpose: String,
},
ActionMethodRelationship {
name: String,
description: Option<String>,
relating_method: ActionMethodRef,
related_method: ActionMethodRef,
},
ActionRelationship {
name: String,
description: Option<String>,
relating_action: ActionRef,
related_action: ActionRef,
},
ActionRequestAssignment {
assigned_action_request: VersionedActionRequestRef,
},
ActionResource {
name: String,
description: Option<String>,
usage: Vec<SupportedItemRef>,
kind: ActionResourceTypeRef,
},
ActionResourceRequirement {
name: String,
description: String,
kind: ResourceRequirementTypeRef,
operations: Vec<CharacterizedActionDefinitionRef>,
},
Address {
internal_location: Option<String>,
street_number: Option<String>,
street: Option<String>,
postal_box: Option<String>,
town: Option<String>,
region: Option<String>,
postal_code: Option<String>,
country: Option<String>,
facsimile_number: Option<String>,
telephone_number: Option<String>,
electronic_mail_address: Option<String>,
telex_number: Option<String>,
},
AdvancedBrepShapeRepresentation,
AdvancedFace,
AnnotationCurveOccurrence,
AnnotationFillAreaOccurrence {
fill_style_target: PointRef,
},
AnnotationOccurrence,
AnnotationOccurrenceAssociativity,
AnnotationOccurrenceRelationship {
name: String,
description: String,
relating_annotation_occurrence: AnnotationOccurrenceRef,
related_annotation_occurrence: AnnotationOccurrenceRef,
},
AnnotationPlaceholderOccurrence {
role: AnnotationPlaceholderOccurrenceRole,
line_spacing: f64,
},
AnnotationPlaceholderOccurrenceWithLeaderLine {
leader_line: Vec<AnnotationPlaceholderLeaderLineRef>,
},
AnnotationPlane {
elements: Option<Vec<AnnotationPlaneElementRef>>,
},
AnnotationSymbol,
AnnotationSymbolOccurrence,
AnnotationText,
AnnotationTextCharacter {
alignment: String,
},
AnnotationTextOccurrence,
ApplicationContextElement {
name: String,
frame_of_reference: ApplicationContextRef,
},
AppliedApprovalAssignment {
items: Vec<ApprovalItemRef>,
},
AppliedDateAndTimeAssignment {
items: Vec<DateAndTimeItemRef>,
},
AppliedDocumentReference {
items: Vec<DocumentReferenceItemRef>,
},
AppliedExternalIdentificationAssignment {
items: Vec<ExternalIdentificationItemRef>,
},
AppliedGroupAssignment {
items: Vec<GroupableItemRef>,
},
AppliedPersonAndOrganizationAssignment {
items: Vec<PersonAndOrganizationItemRef>,
},
AppliedPresentedItem {
items: Vec<PresentedItemSelectRef>,
},
AppliedSecurityClassificationAssignment {
items: Vec<SecurityClassificationItemRef>,
},
ApprovalAssignment {
assigned_approval: ApprovalRef,
},
AreaInSet {
area: PresentationAreaRef,
in_set: PresentationSetRef,
},
AscribableStateRelationship {
name: String,
description: Option<String>,
relating_ascribable_state: AscribableStateRef,
related_ascribable_state: AscribableStateRef,
},
AssemblyComponentUsage {
reference_designator: Option<String>,
},
BSplineCurve {
degree: i64,
control_points_list: Vec<CartesianPointRef>,
curve_form: BSplineCurveForm,
closed_curve: Logical,
self_intersect: Logical,
},
BSplineCurveWithKnots {
knot_multiplicities: Vec<i64>,
knots: Vec<f64>,
knot_spec: KnotType,
},
BSplineSurface {
u_degree: i64,
v_degree: i64,
control_points_list: Vec<Vec<CartesianPointRef>>,
surface_form: BSplineSurfaceForm,
u_closed: Logical,
v_closed: Logical,
self_intersect: Logical,
},
BSplineSurfaceWithKnots {
u_multiplicities: Vec<i64>,
v_multiplicities: Vec<i64>,
u_knots: Vec<f64>,
v_knots: Vec<f64>,
knot_spec: KnotType,
},
BezierCurve,
BezierSurface,
BoundedCurve,
BoundedPcurve,
BoundedSurface,
BoundedSurfaceCurve,
BrepWithVoids {
voids: Vec<OrientedClosedShellRef>,
},
CameraImage,
CameraImage3dWithScale,
CameraModel,
CameraModelD3 {
view_reference_system: Axis2Placement3dRef,
perspective_of_volume: ViewVolumeRef,
},
CameraModelD3MultiClipping {
shape_clipping: Vec<CameraModelD3MultiClippingIntersectionSelectRef>,
},
CameraModelD3WithHlhsr {
hidden_line_surface_removal: bool,
},
CameraUsage,
CcDesignApproval {
items: Vec<ApprovedItemRef>,
},
CcDesignDateAndTimeAssignment {
items: Vec<DateTimeItemRef>,
},
CcDesignPersonAndOrganizationAssignment {
items: Vec<CcPersonOrganizationItemRef>,
},
CcDesignSecurityClassification {
items: Vec<CcClassifiedItemRef>,
},
ChangeRequest {
items: Vec<ChangeRequestItemRef>,
},
CharacterGlyphStyleOutline {
outline_style: CurveStyleRef,
},
CharacterGlyphStyleStroke {
stroke_style: CurveStyleRef,
},
CharacterizedItemWithinRepresentation {
item: RepresentationItemRef,
rep: RepresentationRef,
},
CharacterizedObject {
name: Option<String>,
description: Option<String>,
},
CharacterizedRepresentation,
CircularRunoutTolerance,
ClosedShell,
Colour,
ColourRgb {
red: f64,
green: f64,
blue: f64,
},
ColourSpecification {
name: String,
},
CommonDatum,
CompositeCurve {
segments: Vec<CompositeCurveSegmentRef>,
self_intersect: Logical,
},
CompositeCurveSegment {
transition: TransitionCode,
same_sense: bool,
parent_curve: CurveRef,
},
CompositeGroupShapeAspect,
CompositeShapeAspect,
CompositeText {
collected_text: Vec<TextOrCharacterRef>,
},
CompoundRepresentationItem {
item_element: CompoundItemDefinitionRef,
},
ConfigurationEffectivity {
configuration: ConfigurationDesignRef,
},
ConfigurationItem {
id: String,
name: String,
description: Option<String>,
item_concept: ProductConceptRef,
purpose: Option<String>,
},
ConnectedFaceSet {
cfs_faces: Option<Vec<FaceRef>>,
},
ConstructiveGeometryRepresentationRelationship,
ContextDependentOverRidingStyledItem {
style_context: Vec<StyleContextSelectRef>,
},
ContextDependentUnit {
name: String,
},
ConversionBasedUnit {
name: String,
conversion_factor: MeasureWithUnitRef,
},
Curve,
CurveStyle {
name: String,
curve_font: Option<CurveFontOrScaledCurveFontSelectRef>,
curve_width: Option<SizeSelectRef>,
curve_colour: Option<ColourRef>,
},
CurveStyleFont {
name: String,
pattern_list: Vec<CurveStyleFontPatternRef>,
},
CurveStyleFontAndScaling {
name: String,
curve_font: CurveStyleFontSelectRef,
curve_font_scaling: f64,
},
CurveStyleFontPattern {
visible_segment_length: f64,
invisible_segment_length: f64,
},
CylindricityTolerance,
Date {
year_component: i64,
},
DateAndTime {
date_component: DateRef,
time_component: LocalTimeRef,
},
DateAndTimeAssignment {
assigned_date_and_time: DateAndTimeRef,
role: DateTimeRoleRef,
},
Datum {
identification: String,
},
DatumFeature,
DatumReference {
precedence: i64,
referenced_datum: DatumRef,
},
DatumSystem {
constituents: Vec<DatumReferenceCompartmentRef>,
},
DatumTarget {
target_id: String,
},
DefaultModelGeometricView,
DefinitionalRepresentation,
DefinitionalRepresentationRelationship,
DefinitionalRepresentationRelationshipWithSameContext,
DegenerateToroidalSurface {
select_outer: bool,
},
DerivedUnit {
elements: Vec<DerivedUnitElementRef>,
},
DesignContext,
DimensionalSize {
applies_to: ShapeAspectRef,
name: String,
},
Direction {
direction_ratios: Vec<f64>,
},
Document {
id: String,
name: String,
description: Option<String>,
kind: DocumentTypeRef,
},
DocumentFile,
DocumentProductAssociation {
name: String,
description: Option<String>,
relating_document: DocumentRef,
related_product: ProductOrFormationOrDefinitionRef,
},
DocumentProductEquivalence,
DocumentReference {
assigned_document: DocumentRef,
source: String,
},
DraughtingAnnotationOccurrence,
DraughtingCallout {
contents: Vec<DraughtingCalloutElementRef>,
},
DraughtingCalloutRelationship {
name: String,
description: String,
relating_draughting_callout: DraughtingCalloutRef,
related_draughting_callout: DraughtingCalloutRef,
},
DraughtingModel,
DraughtingModelItemAssociation,
DraughtingModelItemAssociationWithPlaceholder {
annotation_placeholder: AnnotationPlaceholderOccurrenceRef,
},
DraughtingPreDefinedColour,
DraughtingPreDefinedCurveFont,
DraughtingPreDefinedTextFont,
Edge {
edge_start: Option<VertexRef>,
edge_end: Option<VertexRef>,
},
EdgeCurve {
edge_geometry: CurveRef,
same_sense: bool,
},
EdgeLoop,
Effectivity {
id: String,
},
ElementarySurface {
position: Axis2Placement3dRef,
},
Expression,
ExternalIdentificationAssignment {
source: ExternalSourceRef,
},
ExternalSource {
source_id: StringSelectValue,
},
ExternallyDefinedCharacterGlyph,
ExternallyDefinedCurveFont,
ExternallyDefinedHatchStyle,
ExternallyDefinedItem {
item_id: StringSelectValue,
source: ExternalSourceRef,
},
ExternallyDefinedStyle,
ExternallyDefinedSymbol,
ExternallyDefinedTextFont,
ExternallyDefinedTile,
ExternallyDefinedTileStyle,
Face {
bounds: Vec<FaceBoundRef>,
},
FaceBound {
bound: LoopRef,
orientation: bool,
},
FaceOuterBound,
FaceSurface {
face_geometry: SurfaceRef,
same_sense: bool,
},
FillAreaStyle {
name: String,
fill_styles: Vec<FillStyleSelectRef>,
},
FillAreaStyleHatching {
hatch_line_appearance: CurveStyleRef,
start_of_next_hatch_line: OneDirectionRepeatFactorRef,
point_of_reference_hatch_line: CartesianPointRef,
pattern_start: CartesianPointRef,
hatch_line_angle: f64,
},
FillAreaStyleTileSymbolWithStyle {
symbol: AnnotationSymbolOccurrenceRef,
},
FillAreaStyleTiles {
tiling_pattern: TwoDirectionRepeatFactorRef,
tiles: Vec<FillAreaStyleTileShapeSelectRef>,
tiling_scale: f64,
},
FlatnessTolerance,
FoundedItem,
FunctionallyDefinedTransformation {
name: String,
description: Option<String>,
},
GeneralDatumReference {
base: DatumOrCommonDatumRef,
modifiers: Option<Vec<DatumReferenceModifierRef>>,
},
GeneralProperty {
id: String,
name: String,
description: Option<String>,
},
GenericExpression,
GenericLiteral,
GenericProductDefinitionReference {
source: ExternalSourceRef,
},
GeometricCurveSet,
GeometricItemSpecificUsage,
GeometricRepresentationContext {
coordinate_space_dimension: i64,
},
GeometricRepresentationItem,
GeometricSet {
elements: Vec<GeometricSetSelectRef>,
},
GeometricTolerance {
name: String,
description: Option<String>,
magnitude: Option<LengthMeasureWithUnitRef>,
toleranced_shape_aspect: GeometricToleranceTargetRef,
},
GeometricToleranceWithDatumReference {
datum_system: Vec<DatumSystemOrReferenceRef>,
},
GeometricToleranceWithDefinedAreaUnit {
area_type: AreaUnitType,
second_unit_size: Option<LengthOrPlaneAngleMeasureWithUnitSelectRef>,
},
GeometricToleranceWithDefinedUnit {
unit_size: LengthOrPlaneAngleMeasureWithUnitSelectRef,
},
GeometricToleranceWithMaximumTolerance {
maximum_upper_tolerance: LengthMeasureWithUnitRef,
},
GeometricToleranceWithModifiers {
modifiers: Vec<GeometricToleranceModifier>,
},
GeometricallyBoundedSurfaceShapeRepresentation,
GeometricallyBoundedWireframeShapeRepresentation,
GlobalUncertaintyAssignedContext {
uncertainty: Vec<UncertaintyMeasureWithUnitRef>,
},
GlobalUnitAssignedContext {
units: Vec<UnitRef>,
},
Group {
name: String,
description: Option<String>,
},
GroupAssignment {
assigned_group: GroupRef,
},
IdentificationAssignment {
assigned_id: String,
role: IdentificationRoleRef,
},
IntLiteral,
IntegerRepresentationItem,
IntersectionCurve,
Invisibility {
invisible_items: Vec<InvisibleItemRef>,
},
ItemDefinedTransformation {
name: String,
description: Option<String>,
transform_item_1: RepresentationItemRef,
transform_item_2: RepresentationItemRef,
},
ItemIdentifiedRepresentationUsage {
name: String,
description: Option<String>,
definition: ItemIdentifiedRepresentationUsageDefinitionRef,
used_representation: RepresentationRef,
identified_item: ItemIdentifiedRepresentationUsageSelectRef,
},
LeaderCurve,
LeaderDirectedCallout,
LeaderTerminator,
LengthMeasureWithUnit,
LengthUnit,
LineProfileTolerance,
LiteralNumber {
the_value: f64,
},
Loop,
ManifoldSolidBrep {
outer: ClosedShellRef,
},
ManifoldSurfaceShapeRepresentation,
MappedItem {
mapping_source: RepresentationMapRef,
mapping_target: RepresentationItemRef,
},
MassUnit,
MeasureRepresentationItem,
MeasureWithUnit {
value_component: MeasureValue,
unit_component: UnitRef,
},
MechanicalContext,
MechanicalDesignAndDraughtingRelationship,
ModelGeometricView,
ModifiedGeometricTolerance {
modifier: LimitCondition,
},
NamedUnit {
dimensions: Option<DimensionalExponentsRef>,
},
NextAssemblyUsageOccurrence,
NumericExpression,
OneDirectionRepeatFactor {
repeat_factor: VectorRef,
},
OpenShell,
OrganizationalAddress {
organizations: Vec<OrganizationRef>,
description: Option<String>,
},
OrientedClosedShell {
closed_shell_element: ClosedShellRef,
orientation: bool,
},
OrientedEdge {
edge_element: EdgeRef,
orientation: bool,
},
OverRidingStyledItem {
over_ridden_style: StyledItemRef,
},
ParallelismTolerance,
ParametricRepresentationContext,
Path {
edge_list: Vec<OrientedEdgeRef>,
},
Pcurve {
basis_surface: SurfaceRef,
reference_to_curve: DefinitionalRepresentationRef,
},
PerpendicularityTolerance,
PersonAndOrganizationAddress,
PersonAndOrganizationAssignment {
assigned_person_and_organization: PersonAndOrganizationRef,
role: PersonAndOrganizationRoleRef,
},
PersonalAddress {
people: Vec<PersonRef>,
description: Option<String>,
},
PlacedDatumTargetFeature,
Placement {
location: CartesianPointRef,
},
PlanarBox {
placement: Axis2PlacementRef,
},
PlanarExtent {
size_in_x: f64,
size_in_y: f64,
},
PlaneAngleMeasureWithUnit,
PlaneAngleUnit,
Point,
PointStyle {
name: String,
marker: Option<MarkerSelectRef>,
marker_size: Option<SizeSelectRef>,
marker_colour: Option<ColourRef>,
},
PolyLoop {
polygon: Vec<CartesianPointRef>,
},
PositionTolerance,
PreDefinedCharacterGlyph,
PreDefinedColour,
PreDefinedCurveFont,
PreDefinedItem {
name: String,
},
PreDefinedMarker,
PreDefinedPointMarkerSymbol,
PreDefinedPresentationStyle,
PreDefinedSurfaceSideStyle,
PreDefinedSymbol,
PreDefinedTerminatorSymbol,
PreDefinedTextFont,
PreDefinedTile,
PresentationArea,
PresentationRepresentation,
PresentationSet,
PresentationStyleAssignment {
styles: Vec<PresentationStyleSelectRef>,
},
PresentationStyleByContext {
style_context: StyleContextSelectRef,
},
PresentationView,
PresentedItem,
Product {
id: String,
name: String,
description: Option<String>,
frame_of_reference: Vec<ProductContextRef>,
},
ProductCategory {
name: String,
description: Option<String>,
},
ProductConcept {
id: String,
name: String,
description: Option<String>,
market_context: ProductConceptContextRef,
},
ProductConceptFeature {
id: String,
name: String,
description: Option<String>,
},
ProductConceptFeatureCategory,
ProductContext {
discipline_type: String,
},
ProductDefinition {
id: String,
description: Option<String>,
formation: ProductDefinitionFormationRef,
frame_of_reference: ProductDefinitionContextRef,
},
ProductDefinitionContext {
life_cycle_stage: String,
},
ProductDefinitionEffectivity {
usage: ProductDefinitionRelationshipRef,
},
ProductDefinitionFormation {
id: String,
description: Option<String>,
of_product: ProductRef,
},
ProductDefinitionFormationWithSpecifiedSource {
make_or_buy: Source,
},
ProductDefinitionOccurrence {
id: String,
name: Option<String>,
description: Option<String>,
definition: Option<ProductDefinitionOrReferenceRef>,
quantity: Option<MeasureWithUnitRef>,
},
ProductDefinitionRelationship {
id: String,
name: String,
description: Option<String>,
relating_product_definition: ProductDefinitionOrReferenceRef,
related_product_definition: ProductDefinitionOrReferenceRef,
},
ProductDefinitionRelationshipRelationship {
id: String,
name: String,
description: Option<String>,
relating: ProductDefinitionRelationshipRef,
related: ProductDefinitionRelationshipRef,
},
ProductDefinitionShape,
ProductDefinitionUsage,
ProductDefinitionWithAssociatedDocuments {
documentation_ids: Vec<DocumentRef>,
},
ProductRelatedProductCategory {
products: Vec<ProductRef>,
},
ProjectedZoneDefinition {
projection_end: ShapeAspectRef,
projected_length: LengthMeasureWithUnitRef,
},
PropertyDefinition {
name: String,
description: Option<String>,
definition: CharacterizedDefinitionRef,
},
PropertyDefinitionRepresentation {
definition: RepresentedDefinitionRef,
used_representation: RepresentationRef,
},
QualifiedRepresentationItem {
qualifiers: Vec<ValueQualifierRef>,
},
QuasiUniformCurve,
QuasiUniformSurface,
RatioMeasureWithUnit,
RatioUnit,
RationalBSplineCurve {
weights_data: Vec<f64>,
},
RationalBSplineSurface {
weights_data: Vec<Vec<f64>>,
},
RealLiteral,
RealRepresentationItem,
RepositionedTessellatedItem {
location: Axis2Placement3dRef,
},
Representation {
name: String,
items: Vec<RepresentationItemRef>,
context_of_items: RepresentationContextRef,
},
RepresentationContext {
context_identifier: String,
context_type: String,
},
RepresentationItem {
name: String,
},
RepresentationMap {
mapping_origin: RepresentationItemRef,
mapped_representation: RepresentationRef,
},
RepresentationReference {
id: String,
context_of_items: RepresentationContextReferenceRef,
},
RepresentationRelationship {
name: String,
description: Option<String>,
rep_1: RepresentationOrRepresentationReferenceRef,
rep_2: RepresentationOrRepresentationReferenceRef,
},
RepresentationRelationshipWithTransformation {
transformation_operator: TransformationRef,
},
RoundnessTolerance,
SeamCurve,
SecurityClassificationAssignment {
assigned_security_classification: SecurityClassificationRef,
},
ShapeAspect {
name: String,
description: Option<String>,
of_shape: ProductDefinitionShapeRef,
product_definitional: Option<Logical>,
},
ShapeAspectRelationship {
name: String,
description: Option<String>,
relating_shape_aspect: ShapeAspectRef,
related_shape_aspect: ShapeAspectRef,
},
ShapeDefinitionRepresentation,
ShapeDimensionRepresentation,
ShapeRepresentation,
ShapeRepresentationRelationship,
ShapeRepresentationWithParameters,
ShellBasedSurfaceModel {
sbsm_boundary: Vec<ShellRef>,
},
SiUnit {
prefix: Option<SiPrefix>,
name: SiUnitName,
},
SimpleGenericExpression,
SimpleNumericExpression,
SolidAngleUnit,
SolidModel,
StartRequest {
items: Vec<StartRequestItemRef>,
},
StateObserved {
name: String,
description: Option<String>,
},
StateType {
name: String,
description: Option<String>,
},
StraightnessTolerance,
StyledItem {
styles: Vec<PresentationStyleAssignmentRef>,
item: StyledItemTargetRef,
},
Surface,
SurfaceCurve {
curve_3d: CurveRef,
associated_geometry: Vec<PcurveOrSurfaceRef>,
master_representation: PreferredSurfaceCurveRepresentation,
},
SurfaceProfileTolerance,
SurfaceSideStyle {
name: String,
styles: Vec<SurfaceStyleElementSelectRef>,
},
SurfaceStyleBoundary {
style_of_boundary: CurveOrRenderRef,
},
SurfaceStyleControlGrid {
style_of_control_grid: CurveOrRenderRef,
},
SurfaceStyleFillArea {
fill_area: FillAreaStyleRef,
},
SurfaceStyleParameterLine {
style_of_parameter_lines: CurveOrRenderRef,
direction_counts: Vec<IntMeasureValue>,
},
SurfaceStyleReflectanceAmbient {
ambient_reflectance: f64,
},
SurfaceStyleRendering {
rendering_method: ShadingSurfaceMethod,
surface_colour: ColourRef,
},
SurfaceStyleRenderingWithProperties {
properties: Vec<RenderingPropertiesSelectRef>,
},
SurfaceStyleSegmentationCurve {
style_of_segmentation_curve: CurveOrRenderRef,
},
SurfaceStyleSilhouette {
style_of_silhouette: CurveOrRenderRef,
},
SurfaceStyleUsage {
side: SurfaceSide,
style: SurfaceSideStyleSelectRef,
},
SymbolRepresentation,
SymbolStyle {
name: String,
style_of_symbol: SymbolStyleSelectRef,
},
TerminatorSymbol {
annotated_curve: AnnotationCurveOccurrenceRef,
},
TessellatedGeometricSet {
children: Vec<TessellatedItemRef>,
},
TessellatedItem,
TessellatedShapeRepresentation,
TessellatedStructuredItem,
TextLiteral {
literal: String,
placement: Axis2PlacementRef,
alignment: String,
path: TextPath,
font: FontSelectRef,
},
TextStyle {
name: String,
character_appearance: CharacterStyleSelectRef,
},
TextStyleWithBoxCharacteristics {
characteristics: Vec<MeasureValue>,
},
TextureStyleSpecification,
TextureStyleTessellationSpecification,
TimeUnit,
ToleranceZone {
defining_tolerance: Vec<ToleranceZoneTargetRef>,
form: ToleranceZoneFormRef,
},
ToleranceZoneDefinition {
zone: ToleranceZoneRef,
boundaries: Vec<ShapeAspectRef>,
},
ToleranceZoneWithDatum {
datum_reference: DatumSystemRef,
},
TopologicalRepresentationItem,
ToroidalSurface {
major_radius: f64,
minor_radius: f64,
},
TwoDirectionRepeatFactor {
second_repeat_factor: VectorRef,
},
UnequallyDisposedGeometricTolerance {
displacement: LengthMeasureWithUnitRef,
},
UniformCurve,
UniformSurface,
ValueRepresentationItem {
value_component: MeasureValue,
},
Vector {
orientation: DirectionRef,
magnitude: f64,
},
Vertex,
VertexPoint {
vertex_geometry: PointRef,
},
ViewVolume {
projection_type: CentralOrParallel,
projection_point: CartesianPointRef,
view_plane_distance: f64,
front_plane_distance: f64,
front_plane_clipping: bool,
back_plane_distance: f64,
back_plane_clipping: bool,
view_volume_sides_clipping: bool,
view_window: PlanarBoxRef,
},
}
#[derive(Debug, Clone, PartialEq)]
pub struct ComplexUnit {
pub parts: Vec<UnitPart>,
}
#[derive(Debug, Default)]
pub struct StepModel {
pub action_arena: Arena<Action>,
pub action_assignment_arena: Arena<ActionAssignment>,
pub action_directive_arena: Arena<ActionDirective>,
pub action_method_arena: Arena<ActionMethod>,
pub action_method_relationship_arena: Arena<ActionMethodRelationship>,
pub action_property_arena: Arena<ActionProperty>,
pub action_relationship_arena: Arena<ActionRelationship>,
pub action_request_assignment_arena: Arena<ActionRequestAssignment>,
pub action_request_solution_arena: Arena<ActionRequestSolution>,
pub action_resource_arena: Arena<ActionResource>,
pub action_resource_relationship_arena: Arena<ActionResourceRelationship>,
pub action_resource_requirement_arena: Arena<ActionResourceRequirement>,
pub action_resource_type_arena: Arena<ActionResourceType>,
pub address_arena: Arena<Address>,
pub advanced_brep_shape_representation_arena: Arena<AdvancedBrepShapeRepresentation>,
pub advanced_face_arena: Arena<AdvancedFace>,
pub all_around_shape_aspect_arena: Arena<AllAroundShapeAspect>,
pub angular_location_arena: Arena<AngularLocation>,
pub angular_size_arena: Arena<AngularSize>,
pub angularity_tolerance_arena: Arena<AngularityTolerance>,
pub annotation_curve_occurrence_arena: Arena<AnnotationCurveOccurrence>,
pub annotation_fill_area_occurrence_arena: Arena<AnnotationFillAreaOccurrence>,
pub annotation_occurrence_arena: Arena<AnnotationOccurrence>,
pub annotation_occurrence_associativity_arena: Arena<AnnotationOccurrenceAssociativity>,
pub annotation_occurrence_relationship_arena: Arena<AnnotationOccurrenceRelationship>,
pub annotation_placeholder_leader_line_arena: Arena<AnnotationPlaceholderLeaderLine>,
pub annotation_placeholder_occurrence_arena: Arena<AnnotationPlaceholderOccurrence>,
pub annotation_placeholder_occurrence_with_leader_line_arena:
Arena<AnnotationPlaceholderOccurrenceWithLeaderLine>,
pub annotation_plane_arena: Arena<AnnotationPlane>,
pub annotation_symbol_arena: Arena<AnnotationSymbol>,
pub annotation_symbol_occurrence_arena: Arena<AnnotationSymbolOccurrence>,
pub annotation_text_arena: Arena<AnnotationText>,
pub annotation_text_character_arena: Arena<AnnotationTextCharacter>,
pub annotation_text_occurrence_arena: Arena<AnnotationTextOccurrence>,
pub annotation_to_annotation_leader_line_arena: Arena<AnnotationToAnnotationLeaderLine>,
pub annotation_to_model_leader_line_arena: Arena<AnnotationToModelLeaderLine>,
pub apll_point_arena: Arena<ApllPoint>,
pub apll_point_with_surface_arena: Arena<ApllPointWithSurface>,
pub application_context_arena: Arena<ApplicationContext>,
pub application_context_element_arena: Arena<ApplicationContextElement>,
pub application_protocol_definition_arena: Arena<ApplicationProtocolDefinition>,
pub applied_approval_assignment_arena: Arena<AppliedApprovalAssignment>,
pub applied_date_and_time_assignment_arena: Arena<AppliedDateAndTimeAssignment>,
pub applied_document_reference_arena: Arena<AppliedDocumentReference>,
pub applied_external_identification_assignment_arena:
Arena<AppliedExternalIdentificationAssignment>,
pub applied_group_assignment_arena: Arena<AppliedGroupAssignment>,
pub applied_person_and_organization_assignment_arena:
Arena<AppliedPersonAndOrganizationAssignment>,
pub applied_presented_item_arena: Arena<AppliedPresentedItem>,
pub applied_security_classification_assignment_arena:
Arena<AppliedSecurityClassificationAssignment>,
pub approval_arena: Arena<Approval>,
pub approval_assignment_arena: Arena<ApprovalAssignment>,
pub approval_date_time_arena: Arena<ApprovalDateTime>,
pub approval_person_organization_arena: Arena<ApprovalPersonOrganization>,
pub approval_role_arena: Arena<ApprovalRole>,
pub approval_status_arena: Arena<ApprovalStatus>,
pub approximation_tolerance_arena: Arena<ApproximationTolerance>,
pub approximation_tolerance_deviation_arena: Arena<ApproximationToleranceDeviation>,
pub approximation_tolerance_parameter_arena: Arena<ApproximationToleranceParameter>,
pub area_in_set_arena: Arena<AreaInSet>,
pub area_unit_arena: Arena<AreaUnit>,
pub ascribable_state_arena: Arena<AscribableState>,
pub ascribable_state_relationship_arena: Arena<AscribableStateRelationship>,
pub assembly_component_usage_arena: Arena<AssemblyComponentUsage>,
pub auxiliary_leader_line_arena: Arena<AuxiliaryLeaderLine>,
pub axis1_placement_arena: Arena<Axis1Placement>,
pub axis2_placement2d_arena: Arena<Axis2Placement2d>,
pub axis2_placement3d_arena: Arena<Axis2Placement3d>,
pub b_spline_curve_arena: Arena<BSplineCurve>,
pub b_spline_curve_with_knots_arena: Arena<BSplineCurveWithKnots>,
pub b_spline_surface_arena: Arena<BSplineSurface>,
pub b_spline_surface_with_knots_arena: Arena<BSplineSurfaceWithKnots>,
pub bezier_curve_arena: Arena<BezierCurve>,
pub bezier_surface_arena: Arena<BezierSurface>,
pub bounded_curve_arena: Arena<BoundedCurve>,
pub bounded_pcurve_arena: Arena<BoundedPcurve>,
pub bounded_surface_arena: Arena<BoundedSurface>,
pub bounded_surface_curve_arena: Arena<BoundedSurfaceCurve>,
pub brep_with_voids_arena: Arena<BrepWithVoids>,
pub calendar_date_arena: Arena<CalendarDate>,
pub camera_image_arena: Arena<CameraImage>,
pub camera_image3d_with_scale_arena: Arena<CameraImage3dWithScale>,
pub camera_model_arena: Arena<CameraModel>,
pub camera_model_d3_arena: Arena<CameraModelD3>,
pub camera_model_d3_multi_clipping_arena: Arena<CameraModelD3MultiClipping>,
pub camera_model_d3_with_hlhsr_arena: Arena<CameraModelD3WithHlhsr>,
pub camera_usage_arena: Arena<CameraUsage>,
pub cartesian_point_arena: Arena<CartesianPoint>,
pub cc_design_approval_arena: Arena<CcDesignApproval>,
pub cc_design_date_and_time_assignment_arena: Arena<CcDesignDateAndTimeAssignment>,
pub cc_design_person_and_organization_assignment_arena:
Arena<CcDesignPersonAndOrganizationAssignment>,
pub cc_design_security_classification_arena: Arena<CcDesignSecurityClassification>,
pub centre_of_symmetry_arena: Arena<CentreOfSymmetry>,
pub certification_arena: Arena<Certification>,
pub certification_type_arena: Arena<CertificationType>,
pub change_arena: Arena<Change>,
pub change_request_arena: Arena<ChangeRequest>,
pub character_glyph_style_outline_arena: Arena<CharacterGlyphStyleOutline>,
pub character_glyph_style_stroke_arena: Arena<CharacterGlyphStyleStroke>,
pub characterized_item_within_representation_arena:
Arena<CharacterizedItemWithinRepresentation>,
pub characterized_object_arena: Arena<CharacterizedObject>,
pub characterized_representation_arena: Arena<CharacterizedRepresentation>,
pub circle_arena: Arena<Circle>,
pub circular_runout_tolerance_arena: Arena<CircularRunoutTolerance>,
pub closed_shell_arena: Arena<ClosedShell>,
pub coaxiality_tolerance_arena: Arena<CoaxialityTolerance>,
pub colour_arena: Arena<Colour>,
pub colour_rgb_arena: Arena<ColourRgb>,
pub colour_specification_arena: Arena<ColourSpecification>,
pub common_datum_arena: Arena<CommonDatum>,
pub complex_triangulated_face_arena: Arena<ComplexTriangulatedFace>,
pub complex_triangulated_surface_set_arena: Arena<ComplexTriangulatedSurfaceSet>,
pub composite_curve_arena: Arena<CompositeCurve>,
pub composite_curve_segment_arena: Arena<CompositeCurveSegment>,
pub composite_group_shape_aspect_arena: Arena<CompositeGroupShapeAspect>,
pub composite_shape_aspect_arena: Arena<CompositeShapeAspect>,
pub composite_text_arena: Arena<CompositeText>,
pub compound_representation_item_arena: Arena<CompoundRepresentationItem>,
pub concentricity_tolerance_arena: Arena<ConcentricityTolerance>,
pub configuration_design_arena: Arena<ConfigurationDesign>,
pub configuration_effectivity_arena: Arena<ConfigurationEffectivity>,
pub configuration_item_arena: Arena<ConfigurationItem>,
pub conic_arena: Arena<Conic>,
pub conical_surface_arena: Arena<ConicalSurface>,
pub connected_face_set_arena: Arena<ConnectedFaceSet>,
pub constructive_geometry_representation_arena: Arena<ConstructiveGeometryRepresentation>,
pub constructive_geometry_representation_relationship_arena:
Arena<ConstructiveGeometryRepresentationRelationship>,
pub context_dependent_over_riding_styled_item_arena:
Arena<ContextDependentOverRidingStyledItem>,
pub context_dependent_shape_representation_arena: Arena<ContextDependentShapeRepresentation>,
pub context_dependent_unit_arena: Arena<ContextDependentUnit>,
pub continuous_shape_aspect_arena: Arena<ContinuousShapeAspect>,
pub contract_arena: Arena<Contract>,
pub contract_type_arena: Arena<ContractType>,
pub conversion_based_unit_arena: Arena<ConversionBasedUnit>,
pub coordinated_universal_time_offset_arena: Arena<CoordinatedUniversalTimeOffset>,
pub coordinates_list_arena: Arena<CoordinatesList>,
pub curve_arena: Arena<Curve>,
pub curve_style_arena: Arena<CurveStyle>,
pub curve_style_font_arena: Arena<CurveStyleFont>,
pub curve_style_font_and_scaling_arena: Arena<CurveStyleFontAndScaling>,
pub curve_style_font_pattern_arena: Arena<CurveStyleFontPattern>,
pub curve_style_rendering_arena: Arena<CurveStyleRendering>,
pub cylindrical_surface_arena: Arena<CylindricalSurface>,
pub cylindricity_tolerance_arena: Arena<CylindricityTolerance>,
pub date_arena: Arena<Date>,
pub date_and_time_arena: Arena<DateAndTime>,
pub date_and_time_assignment_arena: Arena<DateAndTimeAssignment>,
pub date_role_arena: Arena<DateRole>,
pub date_time_role_arena: Arena<DateTimeRole>,
pub datum_arena: Arena<Datum>,
pub datum_feature_arena: Arena<DatumFeature>,
pub datum_reference_arena: Arena<DatumReference>,
pub datum_reference_compartment_arena: Arena<DatumReferenceCompartment>,
pub datum_reference_element_arena: Arena<DatumReferenceElement>,
pub datum_reference_modifier_with_value_arena: Arena<DatumReferenceModifierWithValue>,
pub datum_system_arena: Arena<DatumSystem>,
pub datum_target_arena: Arena<DatumTarget>,
pub default_model_geometric_view_arena: Arena<DefaultModelGeometricView>,
pub defined_character_glyph_arena: Arena<DefinedCharacterGlyph>,
pub defined_symbol_arena: Arena<DefinedSymbol>,
pub definitional_representation_arena: Arena<DefinitionalRepresentation>,
pub definitional_representation_relationship_arena:
Arena<DefinitionalRepresentationRelationship>,
pub definitional_representation_relationship_with_same_context_arena:
Arena<DefinitionalRepresentationRelationshipWithSameContext>,
pub degenerate_toroidal_surface_arena: Arena<DegenerateToroidalSurface>,
pub derived_shape_aspect_arena: Arena<DerivedShapeAspect>,
pub derived_unit_arena: Arena<DerivedUnit>,
pub derived_unit_element_arena: Arena<DerivedUnitElement>,
pub description_attribute_arena: Arena<DescriptionAttribute>,
pub descriptive_representation_item_arena: Arena<DescriptiveRepresentationItem>,
pub design_context_arena: Arena<DesignContext>,
pub dimensional_characteristic_representation_arena:
Arena<DimensionalCharacteristicRepresentation>,
pub dimensional_exponents_arena: Arena<DimensionalExponents>,
pub dimensional_location_arena: Arena<DimensionalLocation>,
pub dimensional_location_with_path_arena: Arena<DimensionalLocationWithPath>,
pub dimensional_size_arena: Arena<DimensionalSize>,
pub dimensional_size_with_datum_feature_arena: Arena<DimensionalSizeWithDatumFeature>,
pub dimensional_size_with_path_arena: Arena<DimensionalSizeWithPath>,
pub directed_dimensional_location_arena: Arena<DirectedDimensionalLocation>,
pub direction_arena: Arena<Direction>,
pub document_arena: Arena<Document>,
pub document_file_arena: Arena<DocumentFile>,
pub document_product_association_arena: Arena<DocumentProductAssociation>,
pub document_product_equivalence_arena: Arena<DocumentProductEquivalence>,
pub document_reference_arena: Arena<DocumentReference>,
pub document_representation_type_arena: Arena<DocumentRepresentationType>,
pub document_type_arena: Arena<DocumentType>,
pub draughting_annotation_occurrence_arena: Arena<DraughtingAnnotationOccurrence>,
pub draughting_callout_arena: Arena<DraughtingCallout>,
pub draughting_callout_relationship_arena: Arena<DraughtingCalloutRelationship>,
pub draughting_model_arena: Arena<DraughtingModel>,
pub draughting_model_item_association_arena: Arena<DraughtingModelItemAssociation>,
pub draughting_model_item_association_with_placeholder_arena:
Arena<DraughtingModelItemAssociationWithPlaceholder>,
pub draughting_pre_defined_colour_arena: Arena<DraughtingPreDefinedColour>,
pub draughting_pre_defined_curve_font_arena: Arena<DraughtingPreDefinedCurveFont>,
pub draughting_pre_defined_text_font_arena: Arena<DraughtingPreDefinedTextFont>,
pub edge_arena: Arena<Edge>,
pub edge_curve_arena: Arena<EdgeCurve>,
pub edge_loop_arena: Arena<EdgeLoop>,
pub effectivity_arena: Arena<Effectivity>,
pub elementary_surface_arena: Arena<ElementarySurface>,
pub ellipse_arena: Arena<Ellipse>,
pub expression_arena: Arena<Expression>,
pub external_identification_assignment_arena: Arena<ExternalIdentificationAssignment>,
pub external_source_arena: Arena<ExternalSource>,
pub externally_defined_character_glyph_arena: Arena<ExternallyDefinedCharacterGlyph>,
pub externally_defined_curve_font_arena: Arena<ExternallyDefinedCurveFont>,
pub externally_defined_hatch_style_arena: Arena<ExternallyDefinedHatchStyle>,
pub externally_defined_item_arena: Arena<ExternallyDefinedItem>,
pub externally_defined_style_arena: Arena<ExternallyDefinedStyle>,
pub externally_defined_symbol_arena: Arena<ExternallyDefinedSymbol>,
pub externally_defined_text_font_arena: Arena<ExternallyDefinedTextFont>,
pub externally_defined_tile_arena: Arena<ExternallyDefinedTile>,
pub externally_defined_tile_style_arena: Arena<ExternallyDefinedTileStyle>,
pub face_arena: Arena<Face>,
pub face_bound_arena: Arena<FaceBound>,
pub face_outer_bound_arena: Arena<FaceOuterBound>,
pub face_surface_arena: Arena<FaceSurface>,
pub feature_for_datum_target_relationship_arena: Arena<FeatureForDatumTargetRelationship>,
pub fill_area_style_arena: Arena<FillAreaStyle>,
pub fill_area_style_colour_arena: Arena<FillAreaStyleColour>,
pub fill_area_style_hatching_arena: Arena<FillAreaStyleHatching>,
pub fill_area_style_tile_coloured_region_arena: Arena<FillAreaStyleTileColouredRegion>,
pub fill_area_style_tile_curve_with_style_arena: Arena<FillAreaStyleTileCurveWithStyle>,
pub fill_area_style_tile_symbol_with_style_arena: Arena<FillAreaStyleTileSymbolWithStyle>,
pub fill_area_style_tiles_arena: Arena<FillAreaStyleTiles>,
pub flatness_tolerance_arena: Arena<FlatnessTolerance>,
pub founded_item_arena: Arena<FoundedItem>,
pub functionally_defined_transformation_arena: Arena<FunctionallyDefinedTransformation>,
pub general_datum_reference_arena: Arena<GeneralDatumReference>,
pub general_property_arena: Arena<GeneralProperty>,
pub general_property_association_arena: Arena<GeneralPropertyAssociation>,
pub generic_expression_arena: Arena<GenericExpression>,
pub generic_literal_arena: Arena<GenericLiteral>,
pub generic_product_definition_reference_arena: Arena<GenericProductDefinitionReference>,
pub geometric_curve_set_arena: Arena<GeometricCurveSet>,
pub geometric_item_specific_usage_arena: Arena<GeometricItemSpecificUsage>,
pub geometric_representation_context_arena: Arena<GeometricRepresentationContext>,
pub geometric_representation_item_arena: Arena<GeometricRepresentationItem>,
pub geometric_set_arena: Arena<GeometricSet>,
pub geometric_tolerance_arena: Arena<GeometricTolerance>,
pub geometric_tolerance_relationship_arena: Arena<GeometricToleranceRelationship>,
pub geometric_tolerance_with_datum_reference_arena: Arena<GeometricToleranceWithDatumReference>,
pub geometric_tolerance_with_defined_area_unit_arena:
Arena<GeometricToleranceWithDefinedAreaUnit>,
pub geometric_tolerance_with_defined_unit_arena: Arena<GeometricToleranceWithDefinedUnit>,
pub geometric_tolerance_with_maximum_tolerance_arena:
Arena<GeometricToleranceWithMaximumTolerance>,
pub geometric_tolerance_with_modifiers_arena: Arena<GeometricToleranceWithModifiers>,
pub geometrically_bounded_surface_shape_representation_arena:
Arena<GeometricallyBoundedSurfaceShapeRepresentation>,
pub geometrically_bounded_wireframe_shape_representation_arena:
Arena<GeometricallyBoundedWireframeShapeRepresentation>,
pub global_uncertainty_assigned_context_arena: Arena<GlobalUncertaintyAssignedContext>,
pub global_unit_assigned_context_arena: Arena<GlobalUnitAssignedContext>,
pub group_arena: Arena<Group>,
pub group_assignment_arena: Arena<GroupAssignment>,
pub hyperbola_arena: Arena<Hyperbola>,
pub id_attribute_arena: Arena<IdAttribute>,
pub identification_assignment_arena: Arena<IdentificationAssignment>,
pub identification_role_arena: Arena<IdentificationRole>,
pub int_literal_arena: Arena<IntLiteral>,
pub integer_representation_item_arena: Arena<IntegerRepresentationItem>,
pub intersection_curve_arena: Arena<IntersectionCurve>,
pub invisibility_arena: Arena<Invisibility>,
pub item_defined_transformation_arena: Arena<ItemDefinedTransformation>,
pub item_identified_representation_usage_arena: Arena<ItemIdentifiedRepresentationUsage>,
pub leader_curve_arena: Arena<LeaderCurve>,
pub leader_directed_callout_arena: Arena<LeaderDirectedCallout>,
pub leader_terminator_arena: Arena<LeaderTerminator>,
pub length_measure_with_unit_arena: Arena<LengthMeasureWithUnit>,
pub length_unit_arena: Arena<LengthUnit>,
pub limits_and_fits_arena: Arena<LimitsAndFits>,
pub line_arena: Arena<Line>,
pub line_profile_tolerance_arena: Arena<LineProfileTolerance>,
pub literal_number_arena: Arena<LiteralNumber>,
pub local_time_arena: Arena<LocalTime>,
pub loop_arena: Arena<Loop>,
pub make_from_usage_option_arena: Arena<MakeFromUsageOption>,
pub manifold_solid_brep_arena: Arena<ManifoldSolidBrep>,
pub manifold_surface_shape_representation_arena: Arena<ManifoldSurfaceShapeRepresentation>,
pub mapped_item_arena: Arena<MappedItem>,
pub mass_measure_with_unit_arena: Arena<MassMeasureWithUnit>,
pub mass_unit_arena: Arena<MassUnit>,
pub measure_qualification_arena: Arena<MeasureQualification>,
pub measure_representation_item_arena: Arena<MeasureRepresentationItem>,
pub measure_with_unit_arena: Arena<MeasureWithUnit>,
pub mechanical_context_arena: Arena<MechanicalContext>,
pub mechanical_design_and_draughting_relationship_arena:
Arena<MechanicalDesignAndDraughtingRelationship>,
pub mechanical_design_geometric_presentation_representation_arena:
Arena<MechanicalDesignGeometricPresentationRepresentation>,
pub mechanical_design_presentation_representation_with_draughting_arena:
Arena<MechanicalDesignPresentationRepresentationWithDraughting>,
pub mechanical_design_shaded_presentation_representation_arena:
Arena<MechanicalDesignShadedPresentationRepresentation>,
pub model_geometric_view_arena: Arena<ModelGeometricView>,
pub modified_geometric_tolerance_arena: Arena<ModifiedGeometricTolerance>,
pub name_attribute_arena: Arena<NameAttribute>,
pub named_unit_arena: Arena<NamedUnit>,
pub next_assembly_usage_occurrence_arena: Arena<NextAssemblyUsageOccurrence>,
pub numeric_expression_arena: Arena<NumericExpression>,
pub object_role_arena: Arena<ObjectRole>,
pub offset_surface_arena: Arena<OffsetSurface>,
pub one_direction_repeat_factor_arena: Arena<OneDirectionRepeatFactor>,
pub open_shell_arena: Arena<OpenShell>,
pub organization_arena: Arena<Organization>,
pub organization_relationship_arena: Arena<OrganizationRelationship>,
pub organization_role_arena: Arena<OrganizationRole>,
pub organization_type_arena: Arena<OrganizationType>,
pub organization_type_role_arena: Arena<OrganizationTypeRole>,
pub organizational_address_arena: Arena<OrganizationalAddress>,
pub organizational_project_arena: Arena<OrganizationalProject>,
pub organizational_project_relationship_arena: Arena<OrganizationalProjectRelationship>,
pub organizational_project_role_arena: Arena<OrganizationalProjectRole>,
pub oriented_closed_shell_arena: Arena<OrientedClosedShell>,
pub oriented_edge_arena: Arena<OrientedEdge>,
pub over_riding_styled_item_arena: Arena<OverRidingStyledItem>,
pub parallelism_tolerance_arena: Arena<ParallelismTolerance>,
pub parametric_representation_context_arena: Arena<ParametricRepresentationContext>,
pub path_arena: Arena<Path>,
pub pcurve_arena: Arena<Pcurve>,
pub perpendicularity_tolerance_arena: Arena<PerpendicularityTolerance>,
pub person_arena: Arena<Person>,
pub person_and_organization_arena: Arena<PersonAndOrganization>,
pub person_and_organization_address_arena: Arena<PersonAndOrganizationAddress>,
pub person_and_organization_assignment_arena: Arena<PersonAndOrganizationAssignment>,
pub person_and_organization_role_arena: Arena<PersonAndOrganizationRole>,
pub personal_address_arena: Arena<PersonalAddress>,
pub placed_datum_target_feature_arena: Arena<PlacedDatumTargetFeature>,
pub placement_arena: Arena<Placement>,
pub planar_box_arena: Arena<PlanarBox>,
pub planar_extent_arena: Arena<PlanarExtent>,
pub plane_arena: Arena<Plane>,
pub plane_angle_measure_with_unit_arena: Arena<PlaneAngleMeasureWithUnit>,
pub plane_angle_unit_arena: Arena<PlaneAngleUnit>,
pub plus_minus_tolerance_arena: Arena<PlusMinusTolerance>,
pub point_arena: Arena<Point>,
pub point_style_arena: Arena<PointStyle>,
pub poly_loop_arena: Arena<PolyLoop>,
pub polyline_arena: Arena<Polyline>,
pub position_tolerance_arena: Arena<PositionTolerance>,
pub pre_defined_character_glyph_arena: Arena<PreDefinedCharacterGlyph>,
pub pre_defined_colour_arena: Arena<PreDefinedColour>,
pub pre_defined_curve_font_arena: Arena<PreDefinedCurveFont>,
pub pre_defined_item_arena: Arena<PreDefinedItem>,
pub pre_defined_marker_arena: Arena<PreDefinedMarker>,
pub pre_defined_point_marker_symbol_arena: Arena<PreDefinedPointMarkerSymbol>,
pub pre_defined_presentation_style_arena: Arena<PreDefinedPresentationStyle>,
pub pre_defined_surface_side_style_arena: Arena<PreDefinedSurfaceSideStyle>,
pub pre_defined_symbol_arena: Arena<PreDefinedSymbol>,
pub pre_defined_terminator_symbol_arena: Arena<PreDefinedTerminatorSymbol>,
pub pre_defined_text_font_arena: Arena<PreDefinedTextFont>,
pub pre_defined_tile_arena: Arena<PreDefinedTile>,
pub precision_qualifier_arena: Arena<PrecisionQualifier>,
pub presentation_area_arena: Arena<PresentationArea>,
pub presentation_layer_assignment_arena: Arena<PresentationLayerAssignment>,
pub presentation_representation_arena: Arena<PresentationRepresentation>,
pub presentation_set_arena: Arena<PresentationSet>,
pub presentation_size_arena: Arena<PresentationSize>,
pub presentation_style_assignment_arena: Arena<PresentationStyleAssignment>,
pub presentation_style_by_context_arena: Arena<PresentationStyleByContext>,
pub presentation_view_arena: Arena<PresentationView>,
pub presented_item_arena: Arena<PresentedItem>,
pub presented_item_representation_arena: Arena<PresentedItemRepresentation>,
pub product_arena: Arena<Product>,
pub product_category_arena: Arena<ProductCategory>,
pub product_category_relationship_arena: Arena<ProductCategoryRelationship>,
pub product_concept_arena: Arena<ProductConcept>,
pub product_concept_context_arena: Arena<ProductConceptContext>,
pub product_concept_feature_arena: Arena<ProductConceptFeature>,
pub product_concept_feature_category_arena: Arena<ProductConceptFeatureCategory>,
pub product_context_arena: Arena<ProductContext>,
pub product_definition_arena: Arena<ProductDefinition>,
pub product_definition_context_arena: Arena<ProductDefinitionContext>,
pub product_definition_context_association_arena: Arena<ProductDefinitionContextAssociation>,
pub product_definition_context_role_arena: Arena<ProductDefinitionContextRole>,
pub product_definition_effectivity_arena: Arena<ProductDefinitionEffectivity>,
pub product_definition_formation_arena: Arena<ProductDefinitionFormation>,
pub product_definition_formation_with_specified_source_arena:
Arena<ProductDefinitionFormationWithSpecifiedSource>,
pub product_definition_occurrence_arena: Arena<ProductDefinitionOccurrence>,
pub product_definition_relationship_arena: Arena<ProductDefinitionRelationship>,
pub product_definition_relationship_relationship_arena:
Arena<ProductDefinitionRelationshipRelationship>,
pub product_definition_shape_arena: Arena<ProductDefinitionShape>,
pub product_definition_substitute_arena: Arena<ProductDefinitionSubstitute>,
pub product_definition_usage_arena: Arena<ProductDefinitionUsage>,
pub product_definition_with_associated_documents_arena:
Arena<ProductDefinitionWithAssociatedDocuments>,
pub product_related_product_category_arena: Arena<ProductRelatedProductCategory>,
pub projected_zone_definition_arena: Arena<ProjectedZoneDefinition>,
pub property_definition_arena: Arena<PropertyDefinition>,
pub property_definition_relationship_arena: Arena<PropertyDefinitionRelationship>,
pub property_definition_representation_arena: Arena<PropertyDefinitionRepresentation>,
pub qualified_representation_item_arena: Arena<QualifiedRepresentationItem>,
pub quasi_uniform_curve_arena: Arena<QuasiUniformCurve>,
pub quasi_uniform_surface_arena: Arena<QuasiUniformSurface>,
pub ratio_measure_with_unit_arena: Arena<RatioMeasureWithUnit>,
pub ratio_unit_arena: Arena<RatioUnit>,
pub rational_b_spline_curve_arena: Arena<RationalBSplineCurve>,
pub rational_b_spline_surface_arena: Arena<RationalBSplineSurface>,
pub real_literal_arena: Arena<RealLiteral>,
pub real_representation_item_arena: Arena<RealRepresentationItem>,
pub repositioned_tessellated_item_arena: Arena<RepositionedTessellatedItem>,
pub representation_arena: Arena<Representation>,
pub representation_context_arena: Arena<RepresentationContext>,
pub representation_context_reference_arena: Arena<RepresentationContextReference>,
pub representation_item_arena: Arena<RepresentationItem>,
pub representation_map_arena: Arena<RepresentationMap>,
pub representation_reference_arena: Arena<RepresentationReference>,
pub representation_relationship_arena: Arena<RepresentationRelationship>,
pub representation_relationship_with_transformation_arena:
Arena<RepresentationRelationshipWithTransformation>,
pub resource_property_arena: Arena<ResourceProperty>,
pub resource_requirement_type_arena: Arena<ResourceRequirementType>,
pub role_association_arena: Arena<RoleAssociation>,
pub roundness_tolerance_arena: Arena<RoundnessTolerance>,
pub seam_curve_arena: Arena<SeamCurve>,
pub security_classification_arena: Arena<SecurityClassification>,
pub security_classification_assignment_arena: Arena<SecurityClassificationAssignment>,
pub security_classification_level_arena: Arena<SecurityClassificationLevel>,
pub shape_aspect_arena: Arena<ShapeAspect>,
pub shape_aspect_associativity_arena: Arena<ShapeAspectAssociativity>,
pub shape_aspect_deriving_relationship_arena: Arena<ShapeAspectDerivingRelationship>,
pub shape_aspect_relationship_arena: Arena<ShapeAspectRelationship>,
pub shape_definition_representation_arena: Arena<ShapeDefinitionRepresentation>,
pub shape_dimension_representation_arena: Arena<ShapeDimensionRepresentation>,
pub shape_representation_arena: Arena<ShapeRepresentation>,
pub shape_representation_relationship_arena: Arena<ShapeRepresentationRelationship>,
pub shape_representation_with_parameters_arena: Arena<ShapeRepresentationWithParameters>,
pub shell_based_surface_model_arena: Arena<ShellBasedSurfaceModel>,
pub si_unit_arena: Arena<SiUnit>,
pub simple_generic_expression_arena: Arena<SimpleGenericExpression>,
pub simple_numeric_expression_arena: Arena<SimpleNumericExpression>,
pub solid_angle_unit_arena: Arena<SolidAngleUnit>,
pub solid_model_arena: Arena<SolidModel>,
pub spherical_surface_arena: Arena<SphericalSurface>,
pub start_request_arena: Arena<StartRequest>,
pub start_work_arena: Arena<StartWork>,
pub state_observed_arena: Arena<StateObserved>,
pub state_type_arena: Arena<StateType>,
pub straightness_tolerance_arena: Arena<StraightnessTolerance>,
pub styled_item_arena: Arena<StyledItem>,
pub surface_arena: Arena<Surface>,
pub surface_curve_arena: Arena<SurfaceCurve>,
pub surface_of_linear_extrusion_arena: Arena<SurfaceOfLinearExtrusion>,
pub surface_of_revolution_arena: Arena<SurfaceOfRevolution>,
pub surface_profile_tolerance_arena: Arena<SurfaceProfileTolerance>,
pub surface_rendering_properties_arena: Arena<SurfaceRenderingProperties>,
pub surface_side_style_arena: Arena<SurfaceSideStyle>,
pub surface_style_boundary_arena: Arena<SurfaceStyleBoundary>,
pub surface_style_control_grid_arena: Arena<SurfaceStyleControlGrid>,
pub surface_style_fill_area_arena: Arena<SurfaceStyleFillArea>,
pub surface_style_parameter_line_arena: Arena<SurfaceStyleParameterLine>,
pub surface_style_reflectance_ambient_arena: Arena<SurfaceStyleReflectanceAmbient>,
pub surface_style_rendering_arena: Arena<SurfaceStyleRendering>,
pub surface_style_rendering_with_properties_arena: Arena<SurfaceStyleRenderingWithProperties>,
pub surface_style_segmentation_curve_arena: Arena<SurfaceStyleSegmentationCurve>,
pub surface_style_silhouette_arena: Arena<SurfaceStyleSilhouette>,
pub surface_style_transparent_arena: Arena<SurfaceStyleTransparent>,
pub surface_style_usage_arena: Arena<SurfaceStyleUsage>,
pub swept_surface_arena: Arena<SweptSurface>,
pub symbol_colour_arena: Arena<SymbolColour>,
pub symbol_representation_arena: Arena<SymbolRepresentation>,
pub symbol_style_arena: Arena<SymbolStyle>,
pub symbol_target_arena: Arena<SymbolTarget>,
pub symmetry_tolerance_arena: Arena<SymmetryTolerance>,
pub terminator_symbol_arena: Arena<TerminatorSymbol>,
pub tessellated_annotation_occurrence_arena: Arena<TessellatedAnnotationOccurrence>,
pub tessellated_curve_set_arena: Arena<TessellatedCurveSet>,
pub tessellated_face_arena: Arena<TessellatedFace>,
pub tessellated_geometric_set_arena: Arena<TessellatedGeometricSet>,
pub tessellated_item_arena: Arena<TessellatedItem>,
pub tessellated_shape_representation_arena: Arena<TessellatedShapeRepresentation>,
pub tessellated_shell_arena: Arena<TessellatedShell>,
pub tessellated_solid_arena: Arena<TessellatedSolid>,
pub tessellated_structured_item_arena: Arena<TessellatedStructuredItem>,
pub tessellated_surface_set_arena: Arena<TessellatedSurfaceSet>,
pub text_font_arena: Arena<TextFont>,
pub text_literal_arena: Arena<TextLiteral>,
pub text_style_arena: Arena<TextStyle>,
pub text_style_for_defined_font_arena: Arena<TextStyleForDefinedFont>,
pub text_style_with_box_characteristics_arena: Arena<TextStyleWithBoxCharacteristics>,
pub texture_style_specification_arena: Arena<TextureStyleSpecification>,
pub texture_style_tessellation_specification_arena:
Arena<TextureStyleTessellationSpecification>,
pub time_unit_arena: Arena<TimeUnit>,
pub tolerance_value_arena: Arena<ToleranceValue>,
pub tolerance_zone_arena: Arena<ToleranceZone>,
pub tolerance_zone_definition_arena: Arena<ToleranceZoneDefinition>,
pub tolerance_zone_form_arena: Arena<ToleranceZoneForm>,
pub tolerance_zone_with_datum_arena: Arena<ToleranceZoneWithDatum>,
pub topological_representation_item_arena: Arena<TopologicalRepresentationItem>,
pub toroidal_surface_arena: Arena<ToroidalSurface>,
pub total_runout_tolerance_arena: Arena<TotalRunoutTolerance>,
pub trimmed_curve_arena: Arena<TrimmedCurve>,
pub two_direction_repeat_factor_arena: Arena<TwoDirectionRepeatFactor>,
pub type_qualifier_arena: Arena<TypeQualifier>,
pub uncertainty_measure_with_unit_arena: Arena<UncertaintyMeasureWithUnit>,
pub uncertainty_qualifier_arena: Arena<UncertaintyQualifier>,
pub unequally_disposed_geometric_tolerance_arena: Arena<UnequallyDisposedGeometricTolerance>,
pub uniform_curve_arena: Arena<UniformCurve>,
pub uniform_surface_arena: Arena<UniformSurface>,
pub value_format_type_qualifier_arena: Arena<ValueFormatTypeQualifier>,
pub value_representation_item_arena: Arena<ValueRepresentationItem>,
pub vector_arena: Arena<Vector>,
pub versioned_action_request_arena: Arena<VersionedActionRequest>,
pub vertex_arena: Arena<Vertex>,
pub vertex_loop_arena: Arena<VertexLoop>,
pub vertex_point_arena: Arena<VertexPoint>,
pub vertex_shell_arena: Arena<VertexShell>,
pub view_volume_arena: Arena<ViewVolume>,
pub volume_unit_arena: Arena<VolumeUnit>,
pub wire_shell_arena: Arena<WireShell>,
pub complex_unit_arena: Arena<ComplexUnit>,
}