#include <RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.hxx>
#include <RWStepRepr_RWIntegerRepresentationItem.hxx>
#include <RWStepRepr_RWValueRepresentationItem.hxx>
+#include <RWStepAP242_RWDraughtingModelItemAssociation.hxx>
+#include <RWStepVisual_RWAnnotationCurveOccurrence.hxx>
+#include <RWStepVisual_RWAnnotationOccurrence.hxx>
+#include <RWStepVisual_RWAnnotationPlane.hxx>
+#include <RWStepVisual_RWDraughtingCallout.hxx>
#include <StepRepr_Apex.hxx>
#include <StepRepr_CentreOfSymmetry.hxx>
#include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
#include <StepRepr_IntegerRepresentationItem.hxx>
#include <StepRepr_ValueRepresentationItem.hxx>
+#include <StepAP242_DraughtingModelItemAssociation.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+#include <StepVisual_AnnotationPlane.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
static Standard_Integer catsh,catdr,catstr,catdsc,cataux;
tool.Share(anent,iter);
}
break;
+ case 4:
+ {
+ DeclareAndCast(StepVisual_AnnotationCurveOccurrence,anent,ent);
+ RWStepVisual_RWAnnotationCurveOccurrence tool;
+ tool.Share(anent,iter);
+ }
+ break;
case 7:
{
- DeclareAndCast(StepVisual_StyledItem,anent,ent);
- RWStepVisual_RWStyledItem tool;
+ DeclareAndCast(StepVisual_AnnotationOccurrence,anent,ent);
+ RWStepVisual_RWAnnotationOccurrence tool;
tool.Share(anent,iter);
}
break;
tool.Share(anent,iter);
}
break;
+ case 107:
+ {
+ DeclareAndCast(StepVisual_DraughtingCallout,anent,ent);
+ RWStepVisual_RWDraughtingCallout tool;
+ tool.Share(anent,iter);
+ }
+ break;
case 116:
{
DeclareAndCast(StepShape_EdgeCurve,anent,ent);
RWStepRepr_RWFeatureForDatumTargetRelationship tool;
tool.Share(anent,iter);
}
+ break;
+ case 703:
+ {
+ DeclareAndCast(StepAP242_DraughtingModelItemAssociation,anent,ent);
+ RWStepAP242_RWDraughtingModelItemAssociation tool;
+ tool.Share(anent,iter);
+ }
+ break;
+ case 704:
+ {
+ DeclareAndCast(StepVisual_AnnotationPlane,anent,ent);
+ RWStepVisual_RWAnnotationPlane tool;
+ tool.Share(anent,iter);
+ }
+ break;
default : break;
}
case 3 :
ent = new StepShape_AdvancedFace;
break;
+ case 4 :
+ ent = new StepVisual_AnnotationCurveOccurrence;
+ break;
case 7 :
ent = new StepVisual_AnnotationOccurrence;
break;
case 106 :
ent = new StepVisual_AnnotationOccurrence;
break;
+ case 107 :
+ ent = new StepVisual_DraughtingCallout;
+ break;
case 108 :
ent = new StepVisual_DraughtingPreDefinedColour;
break;
case 702:
ent = new StepRepr_FeatureForDatumTargetRelationship;
break;
+ case 703:
+ ent = new StepAP242_DraughtingModelItemAssociation;
+ break;
+ case 704:
+ ent = new StepVisual_AnnotationPlane;
+ break;
default:
return Standard_False;
case 698:
case 699:
case 700:
- case 701: return catdr;
+ case 701:
+ case 702:
+ case 703:
+ case 704: return catdr;
default : break;
}
#include <RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.hxx>
#include <RWStepRepr_RWIntegerRepresentationItem.hxx>
#include <RWStepRepr_RWValueRepresentationItem.hxx>
+#include <RWStepRepr_RWValueRepresentationItem.hxx>
+#include <RWStepAP242_RWDraughtingModelItemAssociation.hxx>
+#include <RWStepVisual_RWAnnotationCurveOccurrence.hxx>
+#include <RWStepVisual_RWAnnotationOccurrence.hxx>
+#include <RWStepVisual_RWAnnotationPlane.hxx>
+#include <RWStepVisual_RWDraughtingCallout.hxx>
+
#include <StepRepr_Apex.hxx>
#include <StepRepr_CentreOfSymmetry.hxx>
#include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
#include <StepRepr_IntegerRepresentationItem.hxx>
#include <StepRepr_ValueRepresentationItem.hxx>
+#include <StepAP242_DraughtingModelItemAssociation.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+#include <StepVisual_AnnotationPlane.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
+
// -- General Declarations (Recognize, StepType) ---
static TCollection_AsciiString Reco_GeneralDatumReference("GENERAL_DATUM_REFERENCE");
static TCollection_AsciiString Reco_IntegerRepresentationItem("INTEGER_REPRESENTATION_ITEM");
static TCollection_AsciiString Reco_ValueRepresentationItem("VALUE_REPRESENTATION_ITEM");
+static TCollection_AsciiString Reco_FeatureForDatumTargetRelationship("FEARURE_FOR_DATUM_TARGET_RELATIONSHIP");
+static TCollection_AsciiString Reco_DraughtingModelItemAssociation("DRAUGHTING_MODEL_ITEM_ASSOCIATION");
+static TCollection_AsciiString Reco_AnnotationPlane("ANNOTATION_PLANE");
// -- Definition of the libraries --
typenums->SetItem (Reco_GeneralDatumReference, 690);
typenums->SetItem (Reco_IntegerRepresentationItem, 700);
typenums->SetItem (Reco_ValueRepresentationItem, 701);
+ typenums->SetItem (Reco_FeatureForDatumTargetRelationship, 702);
+ typenums->SetItem (Reco_DraughtingModelItemAssociation, 703);
+ typenums->SetItem (Reco_AnnotationPlane, 704);
// SHORT NAMES
// NB : la liste est celle de AP203
typeshor->SetItem ("TLZNFR",684);
typeshor->SetItem ("INRPIT",700);
typeshor->SetItem ("VLRPIT",701);
+ typeshor->SetItem ("DMIA", 703);
+ typeshor->SetItem ("ANNPLN", 704);
}
case 690: return Reco_GeneralDatumReference;
case 700: return Reco_IntegerRepresentationItem;
case 701: return Reco_ValueRepresentationItem;
+ case 702: return Reco_FeatureForDatumTargetRelationship;
+ case 703: return Reco_DraughtingModelItemAssociation;
+ case 704: return Reco_AnnotationPlane;
default : return PasReco;
}
tool.ReadStep (data,num,ach,anent);
}
break;
-
+ case 4 :
+ {
+ DeclareAndCast(StepVisual_AnnotationCurveOccurrence, anent, ent);
+ RWStepVisual_RWAnnotationCurveOccurrence tool;
+ tool.ReadStep (data,num,ach,anent);
+ }
+ break;
case 7 :
{
- DeclareAndCast(StepVisual_StyledItem, anent, ent);
- RWStepVisual_RWStyledItem tool;
+ DeclareAndCast(StepVisual_AnnotationOccurrence, anent, ent);
+ RWStepVisual_RWAnnotationOccurrence tool;
tool.ReadStep (data,num,ach,anent);
}
tool.ReadStep (data,num,ach,anent);
}
+ break;
+ case 107 :
+ {
+ DeclareAndCast(StepVisual_DraughtingCallout, anent, ent);
+ RWStepVisual_RWDraughtingCallout tool;
+ tool.ReadStep (data,num,ach,anent);
+ }
break;
case 108 :
{
tool.ReadStep (data,num,ach,anent);
}
break;
+ case 703:
+ {
+ DeclareAndCast(StepAP242_DraughtingModelItemAssociation,anent,ent);
+ RWStepAP242_RWDraughtingModelItemAssociation tool;
+ tool.ReadStep (data,num,ach,anent);
+ }
+ break;
+ case 704:
+ {
+ DeclareAndCast(StepVisual_AnnotationPlane,anent,ent);
+ RWStepVisual_RWAnnotationPlane tool;
+ tool.ReadStep (data,num,ach,anent);
+ }
+ break;
default:
ach->AddFail("Type Mismatch when reading - Entity");
tool.WriteStep (SW,anent);
}
+ break;
+ case 4 :
+ {
+ DeclareAndCast(StepVisual_AnnotationCurveOccurrence, anent, ent);
+ RWStepVisual_RWAnnotationCurveOccurrence tool;
+ tool.WriteStep (SW,anent);
+ }
break;
case 7 :
{
- DeclareAndCast(StepVisual_StyledItem, anent, ent);
- RWStepVisual_RWStyledItem tool;
-// if (anent.IsNull()) return;
+ DeclareAndCast(StepVisual_AnnotationOccurrence, anent, ent);
+ RWStepVisual_RWAnnotationOccurrence tool;
tool.WriteStep (SW,anent);
}
tool.WriteStep (SW,anent);
}
+ break;
+ case 107 :
+ {
+ DeclareAndCast(StepVisual_DraughtingCallout, anent, ent);
+ RWStepVisual_RWDraughtingCallout tool;
+ tool.WriteStep (SW,anent);
+ }
break;
case 108 :
{
tool.WriteStep (SW,anent);
}
break;
+ case 703:
+ {
+ DeclareAndCast(StepAP242_DraughtingModelItemAssociation,anent,ent);
+ RWStepAP242_RWDraughtingModelItemAssociation tool;
+ tool.WriteStep (SW,anent);
+ }
+ break;
+ case 704:
+ {
+ DeclareAndCast(StepVisual_AnnotationPlane,anent,ent);
+ RWStepVisual_RWAnnotationPlane tool;
+ tool.WriteStep (SW,anent);
+ }
+ break;
default:
return;
+RWStepAP242_RWDraughtingModelItemAssociation.cxx
+RWStepAP242_RWDraughtingModelItemAssociation.hxx
RWStepAP242_RWGeometricItemSpecificUsage.cxx
RWStepAP242_RWGeometricItemSpecificUsage.hxx
RWStepAP242_RWIdAttribute.cxx
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <RWStepAP242_RWDraughtingModelItemAssociation.hxx>
+#include <Interface_EntityIterator.hxx>
+#include <StepData_StepReaderData.hxx>
+#include <StepData_StepWriter.hxx>
+#include <StepAP242_DraughtingModelItemAssociation.hxx>
+#include <StepRepr_HArray1OfRepresentationItem.hxx>
+#include <StepRepr_Representation.hxx>
+
+RWStepAP242_RWDraughtingModelItemAssociation::RWStepAP242_RWDraughtingModelItemAssociation () {}
+
+void RWStepAP242_RWDraughtingModelItemAssociation::ReadStep
+ (const Handle(StepData_StepReaderData)& data,
+ const Standard_Integer num,
+ Handle(Interface_Check)& ach,
+ const Handle(StepAP242_DraughtingModelItemAssociation)& ent) const
+{
+ // Number of Parameter Control
+ if (!data->CheckNbParams(num,5,ach,"geometric_item_specific_usage")) return;
+
+ // Inherited fields of ItemIdentifiedRepresentationUsage
+ Handle(TCollection_HAsciiString) aName;
+ data->ReadString (num,1,"item_identified_representation_usage.name",ach,aName);
+
+ Handle(TCollection_HAsciiString) aDescription;
+ if (data->IsParamDefined (num,2)) {
+ data->ReadString (num,2,"item_identified_representation_usage.description",ach,aDescription);
+ }
+
+ StepAP242_ItemIdentifiedRepresentationUsageDefinition aDefinition;
+ data->ReadEntity(num,3,"item_identified_representation_usage.definition",ach,aDefinition);
+
+ Handle(StepRepr_Representation) aRepresentation;
+ data->ReadEntity (num,4,"item_identified_representation_usage.used_representation",ach,STANDARD_TYPE(StepRepr_Representation), aRepresentation);
+
+ Handle(StepRepr_HArray1OfRepresentationItem) anItems;
+ Handle(StepRepr_RepresentationItem) anEnt;
+ Standard_Integer nbSub;
+ Interface_ParamType aType = data->ParamType(num, 5);
+ if (aType == Interface_ParamIdent) {
+ data->ReadEntity(num, 5,"item_identified_representation_usage.identified_item", ach, STANDARD_TYPE(StepRepr_RepresentationItem), anEnt);
+ anItems = new StepRepr_HArray1OfRepresentationItem (1, 1);
+ anItems->SetValue(1, anEnt);
+ }
+ else if (data->ReadSubList (num,5,"item_identified_representation_usage.identified_item",ach,nbSub)) {
+ Standard_Integer nbElements = data->NbParams(nbSub);
+ anItems = new StepRepr_HArray1OfRepresentationItem (1, nbElements);
+ for (Standard_Integer i = 1; i <= nbElements; i++) {
+ if (data->ReadEntity(nbSub, i,"representation_item", ach,
+ STANDARD_TYPE(StepRepr_RepresentationItem), anEnt))
+ anItems->SetValue(i, anEnt);
+ }
+ }
+
+ // Initialisation of the read entity
+ ent->Init(aName, aDescription, aDefinition, aRepresentation, anItems);
+}
+
+void RWStepAP242_RWDraughtingModelItemAssociation::WriteStep
+ (StepData_StepWriter& SW,
+ const Handle(StepAP242_DraughtingModelItemAssociation)& ent) const
+{
+ // Inherited fields of ItemIdentifiedRepresentationUsage
+ SW.Send(ent->Name());
+
+ SW.Send(ent->Description());
+
+ SW.Send(ent->Definition().Value());
+
+ SW.Send(ent->UsedRepresentation());
+
+ if (ent->NbIdentifiedItem() == 1)
+ SW.Send(ent->IdentifiedItemValue(1));
+ else {
+ SW.OpenSub();
+ for (Standard_Integer i = 1; i <= ent->NbIdentifiedItem(); i++) {
+ SW.Send(ent->IdentifiedItemValue(i));
+ }
+ SW.CloseSub();
+ }
+}
+
+void RWStepAP242_RWDraughtingModelItemAssociation::Share(
+ const Handle(StepAP242_DraughtingModelItemAssociation)& ent,
+ Interface_EntityIterator& iter) const
+{
+ // Inherited fields of ItemIdentifiedRepresentationUsage
+
+ iter.AddItem(ent->Definition().Value());
+ Standard_Integer i, nb = ent->NbIdentifiedItem();
+ for (i = 1; i <= nb; i++)
+ iter.AddItem (ent->IdentifiedItemValue(i));
+}
+
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _RWStepAP242_RWDraughtingModelItemAssociation_HeaderFile
+#define _RWStepAP242_RWDraughtingModelItemAssociation_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <Standard_Integer.hxx>
+
+class StepData_StepReaderData;
+class Interface_Check;
+class StepAP242_DraughtingModelItemAssociation;
+class StepData_StepWriter;
+class Interface_EntityIterator;
+
+//! Read & Write Module for DraughtingModelItemAssociation
+class RWStepAP242_RWDraughtingModelItemAssociation
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ Standard_EXPORT RWStepAP242_RWDraughtingModelItemAssociation();
+
+ Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepAP242_DraughtingModelItemAssociation)& ent) const;
+
+ Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepAP242_DraughtingModelItemAssociation)& ent) const;
+
+ Standard_EXPORT void Share (const Handle(StepAP242_DraughtingModelItemAssociation)& ent, Interface_EntityIterator& iter) const;
+};
+#endif // _RWStepAP242_RWDraughtingModelItemAssociation_HeaderFile
+RWStepVisual_RWAnnotationCurveOccurrence.cxx
+RWStepVisual_RWAnnotationCurveOccurrence.hxx
+RWStepVisual_RWAnnotationOccurrence.cxx
+RWStepVisual_RWAnnotationOccurrence.hxx
+RWStepVisual_RWAnnotationPlane.cxx
+RWStepVisual_RWAnnotationPlane.hxx
RWStepVisual_RWAreaInSet.cxx
RWStepVisual_RWAreaInSet.hxx
RWStepVisual_RWBackgroundColour.cxx
RWStepVisual_RWCurveStyleFont.hxx
RWStepVisual_RWCurveStyleFontPattern.cxx
RWStepVisual_RWCurveStyleFontPattern.hxx
+RWStepVisual_RWDraughtingCallout.cxx
+RWStepVisual_RWDraughtingCallout.hxx
RWStepVisual_RWDraughtingModel.cxx
RWStepVisual_RWDraughtingModel.hxx
RWStepVisual_RWDraughtingPreDefinedColour.cxx
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <Interface_Check.hxx>
+#include <Interface_EntityIterator.hxx>
+#include <RWStepVisual_RWAnnotationCurveOccurrence.hxx>
+#include <StepData_StepReaderData.hxx>
+#include <StepData_StepWriter.hxx>
+#include <StepRepr_RepresentationItem.hxx>
+#include <StepVisual_HArray1OfPresentationStyleAssignment.hxx>
+#include <StepVisual_PresentationStyleAssignment.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+
+RWStepVisual_RWAnnotationCurveOccurrence::RWStepVisual_RWAnnotationCurveOccurrence () {}
+
+void RWStepVisual_RWAnnotationCurveOccurrence::ReadStep
+ (const Handle(StepData_StepReaderData)& data,
+ const Standard_Integer num,
+ Handle(Interface_Check)& ach,
+ const Handle(StepVisual_AnnotationCurveOccurrence)& ent) const
+{
+
+ // Number of Parameter Control
+ if (!data->CheckNbParams(num, 3, ach, "styled_item")) return;
+
+ // Inherited field : name
+ Handle(TCollection_HAsciiString) aName;
+ data->ReadString (num, 1, "name", ach, aName);
+
+ // Inherited field : styles
+ Handle(StepVisual_HArray1OfPresentationStyleAssignment) aStyles;
+ Handle(StepVisual_PresentationStyleAssignment) anent2;
+ Standard_Integer nsub2;
+ if (data->ReadSubList (num,2,"styles",ach,nsub2)) {
+ Standard_Integer nb2 = data->NbParams(nsub2);
+ aStyles = new StepVisual_HArray1OfPresentationStyleAssignment (1, nb2);
+ for (Standard_Integer i2 = 1; i2 <= nb2; i2 ++) {
+ if (data->ReadEntity (nsub2, i2,"presentation_style_assignment", ach,
+ STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anent2))
+ aStyles->SetValue(i2, anent2);
+ }
+ }
+
+ // Inherited field : item
+ Handle(StepRepr_RepresentationItem) aItem;
+ data->ReadEntity(num, 3,"item", ach, STANDARD_TYPE(StepRepr_RepresentationItem), aItem);
+
+ // Initialisation of the read entity
+ ent->Init(aName, aStyles, aItem);
+}
+
+void RWStepVisual_RWAnnotationCurveOccurrence::WriteStep
+ (StepData_StepWriter& SW,
+ const Handle(StepVisual_AnnotationCurveOccurrence)& ent) const
+{
+ //Inherited field : name
+ SW.Send(ent->Name());
+
+ // Inherited field : styles
+ SW.OpenSub();
+ for (Standard_Integer i2 = 1; i2 <= ent->NbStyles(); i2 ++) {
+ SW.Send(ent->StylesValue(i2));
+ }
+ SW.CloseSub();
+
+ // Inherited field : item
+
+ SW.Send(ent->Item());
+}
+
+void RWStepVisual_RWAnnotationCurveOccurrence::Share(const Handle(StepVisual_AnnotationCurveOccurrence)& ent, Interface_EntityIterator& iter) const
+{
+
+ Standard_Integer nbElem1 = ent->NbStyles();
+ for (Standard_Integer is1=1; is1<=nbElem1; is1 ++) {
+ iter.GetOneItem(ent->StylesValue(is1));
+ }
+
+ iter.GetOneItem(ent->Item());
+}
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _RWStepVisual_RWAnnotationCurveOccurrence_HeaderFile
+#define _RWStepVisual_RWAnnotationCurveOccurrence_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <Standard_Integer.hxx>
+class StepData_StepReaderData;
+class Interface_Check;
+class StepVisual_AnnotationCurveOccurrence;
+class StepData_StepWriter;
+class Interface_EntityIterator;
+
+//! Read & Write Module for AnnotationCurveOccurrence
+class RWStepVisual_RWAnnotationCurveOccurrence
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ Standard_EXPORT RWStepVisual_RWAnnotationCurveOccurrence();
+
+ Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationCurveOccurrence)& ent) const;
+
+ Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationCurveOccurrence)& ent) const;
+
+ Standard_EXPORT void Share (const Handle(StepVisual_AnnotationCurveOccurrence)& ent, Interface_EntityIterator& iter) const;
+};
+#endif // _RWStepVisual_RWAnnotationCurveOccurrence_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+
+#include <Interface_Check.hxx>
+#include <Interface_EntityIterator.hxx>
+#include <RWStepVisual_RWAnnotationOccurrence.hxx>
+#include <StepData_StepReaderData.hxx>
+#include <StepData_StepWriter.hxx>
+#include <StepRepr_RepresentationItem.hxx>
+#include <StepVisual_HArray1OfPresentationStyleAssignment.hxx>
+#include <StepVisual_PresentationStyleAssignment.hxx>
+#include <StepVisual_AnnotationOccurrence.hxx>
+
+//=======================================================================
+//function : RWStepVisual_RWAnnotationOccurrence
+//purpose :
+//=======================================================================
+RWStepVisual_RWAnnotationOccurrence::RWStepVisual_RWAnnotationOccurrence () {}
+
+//=======================================================================
+//function : ReadStep
+//purpose :
+//=======================================================================
+void RWStepVisual_RWAnnotationOccurrence::ReadStep
+ (const Handle(StepData_StepReaderData)& data,
+ const Standard_Integer num,
+ Handle(Interface_Check)& ach,
+ const Handle(StepVisual_AnnotationOccurrence)& ent) const
+{
+ // Number of Parameter Control
+ if (!data->CheckNbParams(num, 3, ach, "annotation_occurrence")) return;
+
+ // Inherited field : name
+ Handle(TCollection_HAsciiString) aName;
+ data->ReadString (num, 1, "name", ach, aName);
+
+ // Inherited field : styles
+ Handle(StepVisual_HArray1OfPresentationStyleAssignment) aStyles;
+ Handle(StepVisual_PresentationStyleAssignment) anent2;
+ Standard_Integer nsub2;
+ if (data->ReadSubList (num,2,"styles",ach,nsub2)) {
+ Standard_Integer nb2 = data->NbParams(nsub2);
+ aStyles = new StepVisual_HArray1OfPresentationStyleAssignment (1, nb2);
+ for (Standard_Integer i2 = 1; i2 <= nb2; i2 ++) {
+ if (data->ReadEntity (nsub2, i2,"presentation_style_assignment", ach,
+ STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anent2))
+ aStyles->SetValue(i2, anent2);
+ }
+ }
+
+ // Inherited field : item
+ Handle(StepRepr_RepresentationItem) aItem;
+ data->ReadEntity(num, 3, "item", ach, STANDARD_TYPE(StepRepr_RepresentationItem), aItem);
+
+ // Initialisation of the read entity
+ ent->Init(aName, aStyles, aItem);
+}
+
+//=======================================================================
+//function : WriteStep
+//purpose :
+//=======================================================================
+void RWStepVisual_RWAnnotationOccurrence::WriteStep
+ (StepData_StepWriter& SW,
+ const Handle(StepVisual_AnnotationOccurrence)& ent) const
+{
+ // Inherited field : name
+ SW.Send(ent->Name());
+
+ // Inherited field : styles
+
+ SW.OpenSub();
+ for (Standard_Integer i2 = 1; i2 <= ent->NbStyles(); i2 ++) {
+ SW.Send(ent->StylesValue(i2));
+ }
+ SW.CloseSub();
+
+ // Inherited field : item
+
+ SW.Send(ent->Item());
+}
+
+//=======================================================================
+//function : Share
+//purpose :
+//=======================================================================
+void RWStepVisual_RWAnnotationOccurrence::Share(const Handle(StepVisual_AnnotationOccurrence)& ent, Interface_EntityIterator& iter) const
+{
+ Standard_Integer nbElem1 = ent->NbStyles();
+ for (Standard_Integer is1=1; is1<=nbElem1; is1 ++) {
+ iter.GetOneItem(ent->StylesValue(is1));
+ }
+ iter.GetOneItem(ent->Item());
+}
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _RWStepVisual_RWAnnotationOccurrence_HeaderFile
+#define _RWStepVisual_RWAnnotationOccurrence_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <Standard_Integer.hxx>
+class StepData_StepReaderData;
+class Interface_Check;
+class StepVisual_AnnotationOccurrence;
+class StepData_StepWriter;
+class Interface_EntityIterator;
+
+//! Read & Write Module for AnnotationOccurrence
+class RWStepVisual_RWAnnotationOccurrence
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ Standard_EXPORT RWStepVisual_RWAnnotationOccurrence();
+
+ Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationOccurrence)& ent) const;
+
+ Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationOccurrence)& ent) const;
+
+ Standard_EXPORT void Share (const Handle(StepVisual_AnnotationOccurrence)& ent, Interface_EntityIterator& iter) const;
+};
+#endif // _RWStepVisual_RWAnnotationOccurrence_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+
+#include <Interface_Check.hxx>
+#include <Interface_EntityIterator.hxx>
+#include <RWStepVisual_RWAnnotationPlane.hxx>
+#include <StepData_StepReaderData.hxx>
+#include <StepData_StepWriter.hxx>
+#include <StepRepr_RepresentationItem.hxx>
+#include <StepVisual_HArray1OfPresentationStyleAssignment.hxx>
+#include <StepVisual_PresentationStyleAssignment.hxx>
+#include <StepVisual_AnnotationPlane.hxx>
+
+//=======================================================================
+//function : WriteStep
+//purpose :
+//=======================================================================
+RWStepVisual_RWAnnotationPlane::RWStepVisual_RWAnnotationPlane () {}
+
+//=======================================================================
+//function : WriteStep
+//purpose :
+//=======================================================================
+void RWStepVisual_RWAnnotationPlane::ReadStep
+ (const Handle(StepData_StepReaderData)& data,
+ const Standard_Integer num,
+ Handle(Interface_Check)& ach,
+ const Handle(StepVisual_AnnotationPlane)& ent) const
+{
+ // Number of Parameter Control
+ if (!data->CheckNbParams(num, 4, ach, "annotation_plane")) return;
+
+ // Inherited field : name
+ Handle(TCollection_HAsciiString) aName;
+ data->ReadString (num, 1, "name", ach, aName);
+
+ // Inherited field : styles
+ Handle(StepVisual_HArray1OfPresentationStyleAssignment) aStyles;
+ Handle(StepVisual_PresentationStyleAssignment) anent2;
+ Standard_Integer nsub2;
+ if (data->ReadSubList (num,2,"styles",ach,nsub2)) {
+ Standard_Integer nb2 = data->NbParams(nsub2);
+ aStyles = new StepVisual_HArray1OfPresentationStyleAssignment (1, nb2);
+ for (Standard_Integer i2 = 1; i2 <= nb2; i2 ++) {
+ if (data->ReadEntity (nsub2, i2,"presentation_style_assignment", ach,
+ STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anent2))
+ aStyles->SetValue(i2, anent2);
+ }
+ }
+
+ // Inherited field : item
+ Handle(StepRepr_RepresentationItem) aItem;
+ data->ReadEntity(num, 3, "item", ach, STANDARD_TYPE(StepRepr_RepresentationItem), aItem);
+
+ // Own field: elements
+ Handle(StepVisual_HArray1OfAnnotationPlaneElement) anElements;
+ StepVisual_AnnotationPlaneElement anEnt;
+ Standard_Integer nbSub;
+ if (data->ReadSubList (num, 4, "elements", ach, nbSub)) {
+ Standard_Integer nbElements = data->NbParams(nbSub);
+ anElements = new StepVisual_HArray1OfAnnotationPlaneElement (1, nbElements);
+ for (Standard_Integer i = 1; i <= nbElements; i++) {
+ if (data->ReadEntity(nbSub, i,"content", ach, anEnt))
+ anElements->SetValue(i, anEnt);
+ }
+ }
+
+ // Initialisation of the read entity
+ ent->Init(aName, aStyles, aItem, anElements);
+}
+
+//=======================================================================
+//function : WriteStep
+//purpose :
+//=======================================================================
+void RWStepVisual_RWAnnotationPlane::WriteStep
+ (StepData_StepWriter& SW,
+ const Handle(StepVisual_AnnotationPlane)& ent) const
+{
+ // Inherited field : name
+
+ SW.Send(ent->Name());
+
+ // Inherited field : styles
+
+ SW.OpenSub();
+ for (Standard_Integer i2 = 1; i2 <= ent->NbStyles(); i2 ++) {
+ SW.Send(ent->StylesValue(i2));
+ }
+ SW.CloseSub();
+
+ // Inherited field : item
+ SW.Send(ent->Item());
+
+ // Own field: elements
+ SW.OpenSub();
+ for (Standard_Integer i = 1; i <= ent->NbElements(); i++) {
+ SW.Send(ent->ElementsValue(i).Value());
+ }
+ SW.CloseSub();
+}
+
+//=======================================================================
+//function : Share
+//purpose :
+//=======================================================================
+void RWStepVisual_RWAnnotationPlane::Share(const Handle(StepVisual_AnnotationPlane)& ent, Interface_EntityIterator& iter) const
+{
+ Standard_Integer nbElem1 = ent->NbStyles();
+ for (Standard_Integer is1=1; is1<=nbElem1; is1 ++) {
+ iter.GetOneItem(ent->StylesValue(is1));
+ }
+ iter.GetOneItem(ent->Item());
+
+ // Own field: contents
+ Standard_Integer i, nb = ent->NbElements();
+ for (i = 1; i <= nb; i++)
+ iter.AddItem (ent->ElementsValue(i).Value());
+}
+
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _RWStepVisual_RWAnnotationPlane_HeaderFile
+#define _RWStepVisual_RWAnnotationPlane_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <Standard_Integer.hxx>
+class StepData_StepReaderData;
+class Interface_Check;
+class StepVisual_AnnotationPlane;
+class StepData_StepWriter;
+class Interface_EntityIterator;
+
+//! Read & Write Module for AnnotationPlane
+class RWStepVisual_RWAnnotationPlane
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ Standard_EXPORT RWStepVisual_RWAnnotationPlane();
+
+ Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationPlane)& ent) const;
+
+ Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationPlane)& ent) const;
+
+ Standard_EXPORT void Share (const Handle(StepVisual_AnnotationPlane)& ent, Interface_EntityIterator& iter) const;
+};
+#endif // _RWStepVisual_RWAnnotationPlane_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <Interface_Check.hxx>
+#include <Interface_EntityIterator.hxx>
+#include <RWStepVisual_RWDraughtingCallout.hxx>
+#include <StepData_StepReaderData.hxx>
+#include <StepData_StepWriter.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
+
+//=======================================================================
+//function : RWStepVisual_RWDraughtingCallout
+//purpose :
+//=======================================================================
+RWStepVisual_RWDraughtingCallout::RWStepVisual_RWDraughtingCallout () {}
+
+//=======================================================================
+//function : Read
+//purpose :
+//=======================================================================
+void RWStepVisual_RWDraughtingCallout::ReadStep(const Handle(StepData_StepReaderData)& data,
+ const Standard_Integer num,
+ Handle(Interface_Check)& ach,
+ const Handle(StepVisual_DraughtingCallout)& ent) const
+{
+ if (!data->CheckNbParams(num, 2, ach, "draughting_callout")) return;
+
+ // Inherited field : name
+ Handle(TCollection_HAsciiString) aName;
+ data->ReadString (num, 1, "name" ,ach, aName);
+
+ // Own field: contents
+ Handle(StepVisual_HArray1OfDraughtingCalloutElement) aContents;
+ StepVisual_DraughtingCalloutElement anEnt;
+ Standard_Integer nbSub;
+ if (data->ReadSubList (num, 2, "contents", ach, nbSub)) {
+ Standard_Integer nbElements = data->NbParams(nbSub);
+ aContents = new StepVisual_HArray1OfDraughtingCalloutElement (1, nbElements);
+ for (Standard_Integer i = 1; i <= nbElements; i++) {
+ if (data->ReadEntity(nbSub, i,"content", ach, anEnt))
+ aContents->SetValue(i, anEnt);
+ }
+ }
+
+ // Initialisation of the read entity
+ ent->Init(aName, aContents);
+}
+
+//=======================================================================
+//function : Write
+//purpose :
+//=======================================================================
+void RWStepVisual_RWDraughtingCallout::WriteStep
+ (StepData_StepWriter& SW,
+ const Handle(StepVisual_DraughtingCallout)& ent) const
+{
+ // Inherited field: name
+ SW.Send(ent->Name());
+
+ // Own field: contents
+ SW.OpenSub();
+ for (Standard_Integer i = 1; i <= ent->NbContents(); i++) {
+ SW.Send(ent->ContentsValue(i).Value());
+ }
+ SW.CloseSub();
+}
+
+//=======================================================================
+//function : Share
+//purpose :
+//=======================================================================
+
+void RWStepVisual_RWDraughtingCallout::Share (const Handle(StepVisual_DraughtingCallout) &ent,
+ Interface_EntityIterator& iter) const
+{
+ // Own field: contents
+ Standard_Integer i, nb = ent->NbContents();
+ for (i = 1; i <= nb; i++)
+ iter.AddItem (ent->ContentsValue(i).Value());
+}
+
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _RWStepVisual_RWDraughtingCallout_HeaderFile
+#define _RWStepVisual_RWDraughtingCallout_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <Standard_Integer.hxx>
+class Interface_EntityIterator;
+class StepData_StepReaderData;
+class Interface_Check;
+class StepVisual_DraughtingCallout;
+class StepData_StepWriter;
+
+//! Read & Write Module for DraughtingCallout
+class RWStepVisual_RWDraughtingCallout
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ Standard_EXPORT RWStepVisual_RWDraughtingCallout();
+
+ Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_DraughtingCallout)& ent) const;
+
+ Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_DraughtingCallout)& ent) const;
+
+ Standard_EXPORT void Share (const Handle(StepVisual_DraughtingCallout)& ent, Interface_EntityIterator& iter) const;
+};
+#endif // _RWStepVisual_RWDraughtingCallout_HeaderFile
#include <StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod.hxx>
#include <StepDimTol_GeoTolAndGeoTolWthMod.hxx>
#include <StepDimTol_GeometricToleranceWithMaximumTolerance.hxx>
+#include <StepGeom_Axis2Placement3d.hxx>
+#include <StepGeom_Plane.hxx>
+#include <StepGeom_Polyline.hxx>
#include <StepDimTol_PlacedDatumTargetFeature.hxx>
#include <StepRepr_AssemblyComponentUsage.hxx>
#include <StepRepr_CharacterizedDefinition.hxx>
#include <StepShape_DimensionalLocation.hxx>
#include <StepShape_EdgeCurve.hxx>
#include <StepShape_EdgeLoop.hxx>
+#include <StepShape_GeometricCurveSet.hxx>
#include <StepShape_GeometricSet.hxx>
#include <StepShape_HArray1OfFace.hxx>
#include <StepShape_HArray1OfFaceBound.hxx>
#include <StepShape_ToleranceValue.hxx>
#include <StepShape_ValueFormatTypeQualifier.hxx>
#include <StepShape_Vertex.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+#include <StepVisual_AnnotationPlane.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
+#include <StepVisual_DraughtingCalloutElement.hxx>
#include <StepVisual_Invisibility.hxx>
#include <StepVisual_LayeredItem.hxx>
+#include <StepVisual_PlanarBox.hxx>
#include <StepVisual_PresentationLayerAssignment.hxx>
#include <StepVisual_PresentationStyleByContext.hxx>
#include <StepVisual_StyleContextSelect.hxx>
#include <XCAFDimTolObjects_DatumObject.hxx>
#include <XSControl_TransferReader.hxx>
#include <XSControl_WorkSession.hxx>
+#include <StepAP242_DraughtingModelItemAssociation.hxx>
#include <StepAP242_GeometricItemSpecificUsage.hxx>
#include <StepGeom_CartesianPoint.hxx>
#include <STEPConstruct_GDTProperty.hxx>
return Standard_True;
}
+//=======================================================================
+//function : ReadGDTPosition
+//purpose : return annotation plane and position for given GDT
+// (Dimension, Geometric_Tolerance, Datum_Feature or Placed_Datum_Target_Feature)
+//=======================================================================
+static void ReadGDTPosition(const Interface_Graph &theGraph,
+ const Handle(Standard_Transient) theGDT,
+ Handle(Standard_Transient)& theDimObject)
+{
+ // find the proper DraughtingModelItemAssociation
+ Interface_EntityIterator subs = theGraph.Sharings(theGDT);
+ Handle(StepAP242_DraughtingModelItemAssociation) aDMIA;
+ for (subs.Start(); subs.More() && aDMIA.IsNull(); subs.Next()) {
+ if (!subs.Value()->IsKind(STANDARD_TYPE(StepAP242_DraughtingModelItemAssociation)))
+ continue;
+ aDMIA = Handle(StepAP242_DraughtingModelItemAssociation)::DownCast(subs.Value());
+ Handle(TCollection_HAsciiString) aName = aDMIA->Name();
+ aName->LowerCase();
+ if (!aName->Search(new TCollection_HAsciiString("pmi representation to presentation link"))) {
+ aDMIA = NULL;
+ }
+ }
+ if (aDMIA.IsNull() || aDMIA->NbIdentifiedItem() == 0)
+ return;
+
+ // retrieve AnnotationPlane
+ Standard_Boolean isHasPlane = Standard_False;
+ gp_Ax2 aPlaneAxes;
+ Handle(StepRepr_RepresentationItem) aDMIAE = aDMIA->IdentifiedItemValue(1);
+ if (aDMIAE.IsNull())
+ return;
+ subs = theGraph.Sharings(aDMIAE);
+ Handle(StepVisual_AnnotationPlane) anAnPlane;
+ for (subs.Start(); subs.More() && anAnPlane.IsNull(); subs.Next()) {
+ anAnPlane = Handle(StepVisual_AnnotationPlane)::DownCast(subs.Value());
+ }
+ if (!anAnPlane.IsNull()) {
+ Handle(StepRepr_RepresentationItem) aPlaneItem = anAnPlane->Item();
+ Handle(StepGeom_Axis2Placement3d) aA2P3D;
+ //retrieve axes from AnnotationPlane
+ if (aPlaneItem->IsKind(STANDARD_TYPE(StepGeom_Plane))) {
+ Handle(StepGeom_Plane) aPlane = Handle(StepGeom_Plane)::DownCast(aPlaneItem);
+ aA2P3D = aPlane->Position();
+ }
+ else if (aPlaneItem->IsKind(STANDARD_TYPE(StepVisual_PlanarBox))) {
+ Handle(StepVisual_PlanarBox) aBox = Handle(StepVisual_PlanarBox)::DownCast(aPlaneItem);
+ aA2P3D = aBox->Placement().Axis2Placement3d();
+ }
+ // build gp_Ax2 from axes
+ if (!aA2P3D.IsNull())
+ {
+ Handle(StepGeom_Direction) anAxis = aA2P3D->Axis(),
+ aRefDir = aA2P3D->RefDirection();
+ if (!anAxis.IsNull() && !aRefDir.IsNull()) {
+ Handle(TColStd_HArray1OfReal) aCoords;
+ aCoords = anAxis->DirectionRatios();
+ gp_Dir aXDir(aCoords->Value(1), aCoords->Value(2), aCoords->Value(3));
+ aCoords = aRefDir->DirectionRatios();
+ gp_Dir aYDir(aCoords->Value(1), aCoords->Value(2), aCoords->Value(3));
+ aPlaneAxes.SetDirection(aXDir.Crossed(aYDir));
+ aPlaneAxes.SetYDirection(aYDir);
+ isHasPlane = Standard_True;
+ }
+ }
+ }
+
+ // set plane axes to XCAF
+ if (isHasPlane) {
+ if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DimensionObject))) {
+ Handle(XCAFDimTolObjects_DimensionObject) anObj =
+ Handle(XCAFDimTolObjects_DimensionObject)::DownCast(theDimObject);
+ anObj->SetPlane(aPlaneAxes);
+ }
+ else if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DatumObject))) {
+ Handle(XCAFDimTolObjects_DatumObject) anObj =
+ Handle(XCAFDimTolObjects_DatumObject)::DownCast(theDimObject);
+ anObj->SetPlane(aPlaneAxes);
+ }
+ else if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_GeomToleranceObject))) {
+ Handle(XCAFDimTolObjects_GeomToleranceObject) anObj =
+ Handle(XCAFDimTolObjects_GeomToleranceObject)::DownCast(theDimObject);
+ anObj->SetPlane(aPlaneAxes);
+ }
+ }
+
+ // Retrieve connecton point
+ // Take AnnotationCurveOccurence (other types are not processed now)
+ Handle(StepVisual_AnnotationCurveOccurrence) anACO;
+ if (aDMIAE->IsKind(STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence))) {
+ anACO = Handle(StepVisual_AnnotationCurveOccurrence)::DownCast(aDMIAE);
+ }
+ else if (aDMIAE->IsKind(STANDARD_TYPE(StepVisual_DraughtingCallout))) {
+ Handle(StepVisual_DraughtingCallout) aDCallout =
+ Handle(StepVisual_DraughtingCallout)::DownCast(aDMIAE);
+ for (Standard_Integer i = 1; i <= aDCallout->NbContents() && anACO.IsNull(); i++) {
+ anACO = aDCallout->ContentsValue(i).AnnotationCurveOccurrence();
+ }
+ }
+ if (anACO.IsNull())
+ return;
+
+ // Take the first polyline (it is not a rule, but temporary solution)
+ Handle(StepRepr_RepresentationItem) aCurveItem = anACO->Item();
+ Handle(StepGeom_Polyline) aCurve;
+ // for Dimensional_Location (and its subtypes)
+ Standard_Boolean isDimLoc = theGDT->IsKind(STANDARD_TYPE(StepShape_DimensionalLocation));
+ Handle(StepGeom_Polyline) aCurve2;
+ if (aCurveItem->IsKind(STANDARD_TYPE(StepShape_GeometricCurveSet))) {
+ Handle(StepShape_GeometricCurveSet) aCurveSet =
+ Handle(StepShape_GeometricCurveSet)::DownCast(aCurveItem);
+ Standard_Integer i = 1;
+ for ( ; i <= aCurveSet->NbElements() && aCurve.IsNull(); i++) {
+ aCurve = Handle(StepGeom_Polyline)::DownCast(aCurveSet->ElementsValue(i).Curve());
+ }
+ if (isDimLoc) {
+ for ( ; i <= aCurveSet->NbElements() && aCurve2.IsNull(); i++) {
+ aCurve2 = Handle(StepGeom_Polyline)::DownCast(aCurveSet->ElementsValue(i).Curve());
+ }
+ }
+ }
+ else {
+ aCurve = Handle(StepGeom_Polyline)::DownCast(aCurveItem);
+ }
+ if (aCurve.IsNull() || aCurve->NbPoints() < 1)
+ return;
+
+ isDimLoc = isDimLoc && !aCurve2.IsNull() && aCurve2->NbPoints() > 0;
+
+ // Take the first point of polyline (it is not a rule, but temporary solution)
+ Handle(StepGeom_CartesianPoint) aPnt = aCurve->PointsValue(1);
+ Handle(TColStd_HArray1OfReal) aCoords = aPnt->Coordinates();
+ gp_Pnt aPoint(aCoords->Value(1), aCoords->Value(2), aCoords->Value(3));
+
+ gp_Pnt aPoint2;
+ if (isDimLoc) {
+ Handle(StepGeom_CartesianPoint) aPnt = aCurve2->PointsValue(1);
+ Handle(TColStd_HArray1OfReal) aCoords = aPnt->Coordinates();
+ aPoint2.SetCoord(aCoords->Value(1), aCoords->Value(2), aCoords->Value(3));
+ }
+
+ // set point to XCAF
+ if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DimensionObject))) {
+ Handle(XCAFDimTolObjects_DimensionObject) anObj =
+ Handle(XCAFDimTolObjects_DimensionObject)::DownCast(theDimObject);
+ Handle(TColgp_HArray1OfPnt) aPnts;
+ if (isDimLoc)
+ aPnts = new TColgp_HArray1OfPnt(1, 2);
+ else
+ aPnts = new TColgp_HArray1OfPnt(1, 1);
+ aPnts->SetValue(1, aPoint);
+ if (isDimLoc)
+ aPnts->SetValue(2, aPoint2);
+ anObj->SetPoints(aPnts);
+ }
+ else if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DatumObject))) {
+ Handle(XCAFDimTolObjects_DatumObject) anObj =
+ Handle(XCAFDimTolObjects_DatumObject)::DownCast(theDimObject);
+ anObj->SetPoint(aPoint);
+ }
+ else if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_GeomToleranceObject))) {
+ Handle(XCAFDimTolObjects_GeomToleranceObject) anObj =
+ Handle(XCAFDimTolObjects_GeomToleranceObject)::DownCast(theDimObject);
+ anObj->SetPoint(aPoint);
+ }
+}
//=======================================================================
//function : ReadDatums
static Standard_Boolean ReadDatums(const Handle(XCAFDoc_ShapeTool) &STool,
const Handle(XCAFDoc_DimTolTool) &DGTTool,
const Interface_Graph &graph,
- Handle(Transfer_TransientProcess) &TP,
+ const Handle(Transfer_TransientProcess) &TP,
const TDF_Label TolerL,
const Handle(StepDimTol_GeometricToleranceWithDatumReference) GTWDR)
{
aDatObj->SetModifierWithValue(aXCAFModifWithVal, aModifValue);
aDGTTool->SetDatumToGeomTol(aDatL, theGDTL);
}
- if(!aDatObj.IsNull())
+ if(!aDatObj.IsNull()) {
+ ReadGDTPosition(aGraph, aSAR->RelatingShapeAspect(), aDatObj);
aDat->SetObject(aDatObj);
+ }
}
return !aDat.IsNull();
}
}
aDimObj->SetType(aType);
+ ReadGDTPosition(aGraph, theEnt, aDimObj);
+
if(!aDimObj.IsNull())
{
Handle(XCAFDoc_Dimension) aDim;
aTolObj->SetMaxValueModifier(aVal);
}
+ ReadGDTPosition(aGraph, theEnt, aTolObj);
aGTol->SetObject(aTolObj);
}
#include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
#include <StepRepr_IntegerRepresentationItem.hxx>
#include <StepRepr_ValueRepresentationItem.hxx>
+#include <StepAP242_DraughtingModelItemAssociation.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+#include <StepVisual_AnnotationPlane.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
static int init = 0;
types.Bind (STANDARD_TYPE(StepBasic_Address), 1);
types.Bind (STANDARD_TYPE(StepShape_AdvancedBrepShapeRepresentation), 2);
types.Bind (STANDARD_TYPE(StepShape_AdvancedFace), 3);
-// types.Bind (STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence), 4);
+ types.Bind (STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence), 4);
// types.Bind (STANDARD_TYPE(StepVisual_AnnotationFillArea), 5);
// types.Bind (STANDARD_TYPE(StepVisual_AnnotationFillAreaOccurrence), 6);
types.Bind (STANDARD_TYPE(StepVisual_AnnotationOccurrence), 7);
types.Bind (STANDARD_TYPE(StepBasic_DimensionalExponents), 104);
types.Bind (STANDARD_TYPE(StepGeom_Direction), 105);
types.Bind (STANDARD_TYPE(StepVisual_DraughtingAnnotationOccurrence), 106);
-// types.Bind (STANDARD_TYPE(StepVisual_DraughtingCallout), 107);
+ types.Bind (STANDARD_TYPE(StepVisual_DraughtingCallout), 107);
types.Bind (STANDARD_TYPE(StepVisual_DraughtingPreDefinedColour), 108);
types.Bind (STANDARD_TYPE(StepVisual_DraughtingPreDefinedCurveFont), 109);
// types.Bind (STANDARD_TYPE(StepVisual_DraughtingSubfigureRepresentation), 110);
types.Bind (STANDARD_TYPE(StepRepr_IntegerRepresentationItem), 700);
types.Bind (STANDARD_TYPE(StepRepr_ValueRepresentationItem), 701);
types.Bind (STANDARD_TYPE(StepRepr_FeatureForDatumTargetRelationship), 702);
+ types.Bind (STANDARD_TYPE(StepAP242_DraughtingModelItemAssociation), 703);
+ types.Bind (STANDARD_TYPE(StepVisual_AnnotationPlane), 704);
}
//=======================================================================
+StepAP242_DraughtingModelItemAssociation.cxx
+StepAP242_DraughtingModelItemAssociation.hxx
StepAP242_GeometricItemSpecificUsage.cxx
StepAP242_GeometricItemSpecificUsage.hxx
StepAP242_IdAttribute.cxx
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <StepAP242_DraughtingModelItemAssociation.hxx>
+
+StepAP242_DraughtingModelItemAssociation::StepAP242_DraughtingModelItemAssociation () { }
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepAP242_DraughtingModelItemAssociation_HeaderFile
+#define _StepAP242_DraughtingModelItemAssociation_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_Type.hxx>
+
+#include <StepAP242_ItemIdentifiedRepresentationUsage.hxx>
+
+class StepAP242_DraughtingModelItemAssociation;
+DEFINE_STANDARD_HANDLE(StepAP242_DraughtingModelItemAssociation, StepAP242_ItemIdentifiedRepresentationUsage)
+//! Added for Dimensional Tolerances
+class StepAP242_DraughtingModelItemAssociation : public StepAP242_ItemIdentifiedRepresentationUsage
+{
+
+public:
+
+ Standard_EXPORT StepAP242_DraughtingModelItemAssociation();
+
+ DEFINE_STANDARD_RTTI(StepAP242_DraughtingModelItemAssociation, StepAP242_ItemIdentifiedRepresentationUsage)
+
+};
+#endif // _StepAP242_DraughtingModelItemAssociation_HeaderFile
}
//! Set field DefiningTolerance
- inline void SetModifiers (const Handle(StepDimTol_HArray1OfToleranceZoneTarget) &theDefiningTolerance)
+ inline void SetDefiningTolerance (const Handle(StepDimTol_HArray1OfToleranceZoneTarget) &theDefiningTolerance)
{
myDefiningTolerance = theDefiningTolerance;
}
+StepVisual_AnnotationCurveOccurrence.cxx
+StepVisual_AnnotationCurveOccurrence.hxx
StepVisual_AnnotationOccurrence.cxx
StepVisual_AnnotationOccurrence.hxx
+StepVisual_AnnotationPlane.cxx
+StepVisual_AnnotationPlane.hxx
+StepVisual_AnnotationPlaneElement.cxx
+StepVisual_AnnotationPlaneElement.hxx
StepVisual_AnnotationText.cxx
StepVisual_AnnotationText.hxx
StepVisual_AnnotationTextOccurrence.cxx
StepVisual_AreaInSet.hxx
StepVisual_AreaOrView.cxx
StepVisual_AreaOrView.hxx
+StepVisual_Array1OfAnnotationPlaneElement.hxx
StepVisual_Array1OfBoxCharacteristicSelect.hxx
StepVisual_Array1OfCurveStyleFontPattern.hxx
StepVisual_Array1OfDirectionCountSelect.hxx
+StepVisual_Array1OfDraughtingCalloutElement.hxx
StepVisual_Array1OfFillStyleSelect.hxx
StepVisual_Array1OfInvisibleItem.hxx
StepVisual_Array1OfLayeredItem.hxx
StepVisual_DirectionCountSelect.hxx
StepVisual_DraughtingAnnotationOccurrence.cxx
StepVisual_DraughtingAnnotationOccurrence.hxx
+StepVisual_DraughtingCallout.cxx
+StepVisual_DraughtingCallout.hxx
+StepVisual_DraughtingCalloutElement.cxx
+StepVisual_DraughtingCalloutElement.hxx
StepVisual_DraughtingModel.cxx
StepVisual_DraughtingModel.hxx
StepVisual_DraughtingPreDefinedColour.cxx
StepVisual_FillStyleSelect.hxx
StepVisual_FontSelect.cxx
StepVisual_FontSelect.hxx
+StepVisual_HArray1OfAnnotationPlaneElement.hxx
StepVisual_HArray1OfBoxCharacteristicSelect.hxx
StepVisual_HArray1OfCurveStyleFontPattern.hxx
StepVisual_HArray1OfDirectionCountSelect.hxx
+StepVisual_HArray1OfDraughtingCalloutElement.hxx
StepVisual_HArray1OfFillStyleSelect.hxx
StepVisual_HArray1OfInvisibleItem.hxx
StepVisual_HArray1OfLayeredItem.hxx
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <Standard_Type.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+
+StepVisual_AnnotationCurveOccurrence::StepVisual_AnnotationCurveOccurrence () {}
+
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_AnnotationCurveOccurrence_HeaderFile
+#define _StepVisual_AnnotationCurveOccurrence_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_Type.hxx>
+
+#include <StepVisual_StyledItem.hxx>
+
+class StepVisual_AnnotationCurveOccurrence;
+DEFINE_STANDARD_HANDLE(StepVisual_AnnotationCurveOccurrence, StepVisual_StyledItem)
+
+class StepVisual_AnnotationCurveOccurrence : public StepVisual_StyledItem
+{
+public:
+
+ //! Returns a AnnotationCurveOccurrence
+ Standard_EXPORT StepVisual_AnnotationCurveOccurrence();
+
+ DEFINE_STANDARD_RTTI(StepVisual_AnnotationCurveOccurrence,StepVisual_StyledItem)
+};
+#endif // _StepVisual_AnnotationCurveOccurrence_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <Standard_Type.hxx>
+#include <StepVisual_AnnotationPlane.hxx>
+
+//=======================================================================
+//function : StepVisual_AnnotationPlane
+//purpose :
+//=======================================================================
+StepVisual_AnnotationPlane::StepVisual_AnnotationPlane () {}
+
+//=======================================================================
+//function : Init
+//purpose :
+//=======================================================================
+void StepVisual_AnnotationPlane::Init (const Handle(TCollection_HAsciiString)& theName,
+ const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles,
+ const Handle(StepRepr_RepresentationItem)& theItem,
+ const Handle(StepVisual_HArray1OfAnnotationPlaneElement)& theElements)
+{
+ StepVisual_AnnotationOccurrence::Init(theName, theStyles, theItem);
+ myElements = theElements;
+}
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_AnnotationPlane_HeaderFile
+#define _StepVisual_AnnotationPlane_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_Type.hxx>
+
+#include <StepVisual_AnnotationOccurrence.hxx>
+#include <StepVisual_HArray1OfAnnotationPlaneElement.hxx>
+
+class StepVisual_AnnotationPlane;
+DEFINE_STANDARD_HANDLE(StepVisual_AnnotationPlane, StepVisual_AnnotationOccurrence)
+
+class StepVisual_AnnotationPlane : public StepVisual_AnnotationOccurrence
+{
+public:
+
+ //! Returns a AnnotationPlane
+ Standard_EXPORT StepVisual_AnnotationPlane();
+
+ Standard_EXPORT void Init (const Handle(TCollection_HAsciiString)& theName,
+ const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles,
+ const Handle(StepRepr_RepresentationItem)& theItem,
+ const Handle(StepVisual_HArray1OfAnnotationPlaneElement)& theElements);
+
+ //! Returns field Elements
+ inline Handle(StepVisual_HArray1OfAnnotationPlaneElement) Elements () const
+ {
+ return myElements;
+ }
+
+ //! Set field Elements
+ inline void SetElements (const Handle(StepVisual_HArray1OfAnnotationPlaneElement) &theElements)
+ {
+ myElements = theElements;
+ }
+
+ //! Returns number of Elements
+ inline Standard_Integer NbElements () const
+ {
+ return (myElements.IsNull() ? 0 : myElements->Length());
+ }
+
+ //! Returns Elements with the given number
+ inline StepVisual_AnnotationPlaneElement ElementsValue(const Standard_Integer theNum) const
+ {
+ return myElements->Value(theNum);
+ }
+
+ //! Sets Elements with given number
+ inline void SetElementsValue(const Standard_Integer theNum, const StepVisual_AnnotationPlaneElement& theItem)
+ {
+ myElements->SetValue (theNum, theItem);
+ }
+
+ DEFINE_STANDARD_RTTI(StepVisual_AnnotationPlane,StepVisual_AnnotationOccurrence)
+
+private:
+
+ Handle(StepVisual_HArray1OfAnnotationPlaneElement) myElements;
+};
+#endif // _StepVisual_AnnotationPlane_HeaderFile
--- /dev/null
+// Created on: 2015-07-10
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <StepVisual_AnnotationPlaneElement.hxx>
+#include <Interface_Macros.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
+#include <StepVisual_StyledItem.hxx>
+
+//=======================================================================
+//function : StepVisual_AnnotationPlaneElement
+//purpose :
+//=======================================================================
+
+StepVisual_AnnotationPlaneElement::StepVisual_AnnotationPlaneElement () { }
+
+//=======================================================================
+//function : CaseNum
+//purpose :
+//=======================================================================
+
+Standard_Integer StepVisual_AnnotationPlaneElement::CaseNum(const Handle(Standard_Transient)& ent) const
+{
+ if (ent.IsNull()) return 0;
+ if (ent->IsKind(STANDARD_TYPE(StepVisual_DraughtingCallout))) return 1;
+ if (ent->IsKind(STANDARD_TYPE(StepVisual_StyledItem))) return 2;
+ return 0;
+}
+
+Handle(StepVisual_DraughtingCallout) StepVisual_AnnotationPlaneElement::DraughtingCallout() const
+{ return GetCasted(StepVisual_DraughtingCallout,Value()); }
+
+Handle(StepVisual_StyledItem) StepVisual_AnnotationPlaneElement::StyledItem() const
+{ return GetCasted(StepVisual_StyledItem,Value()); }
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_AnnotationPlaneElement_HeaderFile
+#define _StepVisual_AnnotationPlaneElement_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <StepData_SelectType.hxx>
+#include <Standard_Integer.hxx>
+class Standard_Transient;
+class StepVisual_DraughtingCallout;
+class StepVisual_StyledItem;
+
+class StepVisual_AnnotationPlaneElement : public StepData_SelectType
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ //! Returns a AnnotationPlaneElement select type
+ Standard_EXPORT StepVisual_AnnotationPlaneElement();
+
+ //! Recognizes a IdAttributeSelect Kind Entity that is :
+ //! 1 -> DraughtingCallout
+ //! 2 -> StyledItem
+ //! 0 else
+ Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const;
+
+ //! returns Value as a DraughtingCallout (Null if another type)
+ Standard_EXPORT Handle(StepVisual_DraughtingCallout) DraughtingCallout() const;
+
+ //! returns Value as a StyledItem (Null if another type)
+ Standard_EXPORT Handle(StepVisual_StyledItem) StyledItem() const;
+};
+#endif // StepVisual_AnnotationPlaneElement
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_Array1OfAnnotationPlaneElement_HeaderFile
+#define _StepVisual_Array1OfAnnotationPlaneElement_HeaderFile
+
+#include <StepVisual_AnnotationPlaneElement.hxx>
+#include <NCollection_Array1.hxx>
+
+typedef NCollection_Array1<StepVisual_AnnotationPlaneElement> StepVisual_Array1OfAnnotationPlaneElement;
+#endif // _StepVisual_Array1OfAnnotationPlaneElement_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_Array1OfDraughtingCalloutElement_HeaderFile
+#define _StepVisual_Array1OfDraughtingCalloutElement_HeaderFile
+
+#include <StepVisual_DraughtingCalloutElement.hxx>
+#include <NCollection_Array1.hxx>
+
+typedef NCollection_Array1<StepVisual_DraughtingCalloutElement> StepVisual_Array1OfDraughtingCalloutElement;
+#endif // _StepVisual_Array1OfDraughtingCalloutElement_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+
+#include <Standard_Type.hxx>
+#include <StepVisual_DraughtingCallout.hxx>
+
+//=======================================================================
+//function : StepVisual_DraughtingCallout
+//purpose :
+//=======================================================================
+StepVisual_DraughtingCallout::StepVisual_DraughtingCallout () {}
+
+//=======================================================================
+//function : Init
+//purpose :
+//=======================================================================
+void StepVisual_DraughtingCallout::Init (const Handle(TCollection_HAsciiString)& theName,
+ const Handle(StepVisual_HArray1OfDraughtingCalloutElement)& theContents)
+{
+ StepGeom_GeometricRepresentationItem::Init(theName);
+ myContents = theContents;
+}
+
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_DraughtingCallout_HeaderFile
+#define _StepVisual_DraughtingCallout_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_Type.hxx>
+
+#include <StepGeom_GeometricRepresentationItem.hxx>
+#include <StepVisual_HArray1OfDraughtingCalloutElement.hxx>
+
+
+class StepVisual_DraughtingCallout;
+DEFINE_STANDARD_HANDLE(StepVisual_DraughtingCallout, StepGeom_GeometricRepresentationItem)
+
+
+class StepVisual_DraughtingCallout : public StepGeom_GeometricRepresentationItem
+{
+public:
+
+ //! Returns a DraughtingCallout
+ Standard_EXPORT StepVisual_DraughtingCallout();
+
+ //! Init
+ Standard_EXPORT void StepVisual_DraughtingCallout::Init (const Handle(TCollection_HAsciiString)& theName,
+ const Handle(StepVisual_HArray1OfDraughtingCalloutElement)& theContents);
+
+ //! Returns field Contents
+ inline Handle(StepVisual_HArray1OfDraughtingCalloutElement) Contents () const
+ {
+ return myContents;
+ }
+
+ //! Set field Contents
+ inline void SetContents (const Handle(StepVisual_HArray1OfDraughtingCalloutElement) &theContents)
+ {
+ myContents = theContents;
+ }
+
+ //! Returns number of Contents
+ inline Standard_Integer NbContents () const
+ {
+ return (myContents.IsNull() ? 0 : myContents->Length());
+ }
+
+ //! Returns Contents with the given number
+ inline StepVisual_DraughtingCalloutElement ContentsValue(const Standard_Integer theNum) const
+ {
+ return myContents->Value(theNum);
+ }
+
+ //! Sets Contents with given number
+ inline void SetContentsValue(const Standard_Integer theNum, const StepVisual_DraughtingCalloutElement& theItem)
+ {
+ myContents->SetValue (theNum, theItem);
+ }
+
+
+ DEFINE_STANDARD_RTTI(StepVisual_DraughtingCallout,StepGeom_GeometricRepresentationItem)
+
+private:
+ Handle(StepVisual_HArray1OfDraughtingCalloutElement) myContents;
+};
+#endif // _StepVisual_DraughtingCallout_HeaderFile
--- /dev/null
+// Created on: 2015-07-10
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <StepVisual_DraughtingCalloutElement.hxx>
+#include <Interface_Macros.hxx>
+#include <StepVisual_AnnotationCurveOccurrence.hxx>
+
+//=======================================================================
+//function : StepVisual_DraughtingCalloutElement
+//purpose :
+//=======================================================================
+
+StepVisual_DraughtingCalloutElement::StepVisual_DraughtingCalloutElement () { }
+
+//=======================================================================
+//function : CaseNum
+//purpose :
+//=======================================================================
+
+Standard_Integer StepVisual_DraughtingCalloutElement::CaseNum(const Handle(Standard_Transient)& ent) const
+{
+ if (ent.IsNull()) return 0;
+ if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence))) return 1;
+ return 0;
+}
+
+Handle(StepVisual_AnnotationCurveOccurrence) StepVisual_DraughtingCalloutElement::AnnotationCurveOccurrence() const
+{ return GetCasted(StepVisual_AnnotationCurveOccurrence,Value()); }
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_DraughtingCalloutElement_HeaderFile
+#define _StepVisual_DraughtingCalloutElement_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <StepData_SelectType.hxx>
+#include <Standard_Integer.hxx>
+class Standard_Transient;
+class StepVisual_AnnotationCurveOccurrence;
+
+class StepVisual_DraughtingCalloutElement : public StepData_SelectType
+{
+public:
+
+ DEFINE_STANDARD_ALLOC
+
+ //! Returns a DraughtingCalloutElement select type
+ Standard_EXPORT StepVisual_DraughtingCalloutElement();
+
+ //! Recognizes a IdAttributeSelect Kind Entity that is :
+ //! 1 -> AnnotationCurveOccurrence
+ //! 0 else
+ Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const;
+
+ //! returns Value as a AnnotationCurveOccurrence (Null if another type)
+ Standard_EXPORT Handle(StepVisual_AnnotationCurveOccurrence) AnnotationCurveOccurrence() const;
+};
+#endif // StepVisual_DraughtingCalloutElement
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_HArray1OfAnnotationPlaneElement_HeaderFile
+#define _StepVisual_HArray1OfAnnotationPlaneElement_HeaderFile
+
+#include <StepVisual_AnnotationPlaneElement.hxx>
+#include <StepVisual_Array1OfAnnotationPlaneElement.hxx>
+#include <NCollection_DefineHArray1.hxx>
+
+DEFINE_HARRAY1(StepVisual_HArray1OfAnnotationPlaneElement, StepVisual_Array1OfAnnotationPlaneElement)
+#endif // _StepVisual_HArray1OfAnnotationPlaneElement_HeaderFile
--- /dev/null
+// Created on: 2015-10-29
+// Created by: Irina KRYLOVA
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _StepVisual_HArray1OfDraughtingCalloutElement_HeaderFile
+#define _StepVisual_HArray1OfDraughtingCalloutElement_HeaderFile
+
+#include <StepVisual_DraughtingCalloutElement.hxx>
+#include <StepVisual_Array1OfDraughtingCalloutElement.hxx>
+#include <NCollection_DefineHArray1.hxx>
+
+DEFINE_HARRAY1(StepVisual_HArray1OfDraughtingCalloutElement, StepVisual_Array1OfDraughtingCalloutElement)
+#endif // _StepVisual_HArray1OfDraughtingCalloutElement_HeaderFile
XCAFDimTolObjects_DatumObject::XCAFDimTolObjects_DatumObject()
{
myIsDTarget = Standard_False;
+ myHasPlane = Standard_False;
+ myHasPnt = Standard_False;
}
//=======================================================================
myIsDTarget = theObj->myIsDTarget;
myAxis = theObj->myAxis;
myDTargetType = theObj->myDTargetType;
+ myPlane = theObj->myPlane;
+ myPnt= theObj->myPnt;
+ myHasPlane = theObj->myHasPlane;
+ myHasPnt = theObj->myHasPnt;
}
//=======================================================================
void XCAFDimTolObjects_DatumObject::SetDatumTargetWidth(const Standard_Real theWidth)
{
myWidth = theWidth;
+}
+
+//=======================================================================
+//function : GetPlane
+//purpose :
+//=======================================================================
+
+gp_Ax2 XCAFDimTolObjects_DatumObject::GetPlane() const
+{
+ return myPlane;
+}
+
+//=======================================================================
+//function : SetPlane
+//purpose :
+//=======================================================================
+
+void XCAFDimTolObjects_DatumObject::SetPlane(const gp_Ax2& thePlane)
+{
+ myPlane = thePlane;
+}
+
+//=======================================================================
+//function : GetPoint
+//purpose :
+//=======================================================================
+
+gp_Pnt XCAFDimTolObjects_DatumObject::GetPoint() const
+{
+ return myPnt;
+}
+
+//=======================================================================
+//function : SetPoint
+//purpose :
+//=======================================================================
+
+void XCAFDimTolObjects_DatumObject::SetPoint(const gp_Pnt& thePnt)
+{
+ myPnt = thePnt;
+}
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+
+Standard_Boolean XCAFDimTolObjects_DatumObject::HasPlane () const
+{
+ return myHasPlane;
+}
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+
+Standard_Boolean XCAFDimTolObjects_DatumObject::HasPoint () const
+{
+ return myHasPnt;
}
\ No newline at end of file
Standard_EXPORT void SetDatumTargetWidth (const Standard_Real theWidth);
+ Standard_EXPORT void SetPlane (const gp_Ax2& thePlane);
+ Standard_EXPORT gp_Ax2 GetPlane () const;
+
+ Standard_EXPORT void SetPoint (const gp_Pnt& thePnt);
+
+ Standard_EXPORT gp_Pnt GetPoint () const;
+
+ Standard_EXPORT Standard_Boolean HasPlane () const;
+
+ Standard_EXPORT Standard_Boolean HasPoint () const;
+
DEFINE_STANDARD_RTTI(XCAFDimTolObjects_DatumObject,Standard_Transient)
private:
gp_Ax2 myAxis;
Standard_Real myLength;
Standard_Real myWidth;
-
+ gp_Ax2 myPlane;
+ gp_Pnt myPnt;
+ Standard_Boolean myHasPlane;
+ Standard_Boolean myHasPnt;
};
XCAFDimTolObjects_DimensionObject::XCAFDimTolObjects_DimensionObject()
{
+ myHasPlane = Standard_False;
}
//=======================================================================
myPath = theObj->myPath;
myDir = theObj->myDir;
myPnts = theObj->myPnts;
+ myHasPlane = theObj->myHasPlane;
+ myPlane = theObj->myPlane;
}
//=======================================================================
{
myPnts = thePnts;
}
+
+//=======================================================================
+//function : GetPlane
+//purpose :
+//=======================================================================
+
+gp_Ax2 XCAFDimTolObjects_DimensionObject::GetPlane() const
+{
+ return myPlane;
+}
+
+//=======================================================================
+//function : SetPlane
+//purpose :
+//=======================================================================
+
+void XCAFDimTolObjects_DimensionObject::SetPlane(const gp_Ax2& thePlane)
+{
+ myPlane = thePlane;
+ myHasPlane = Standard_True;
+}
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+
+Standard_Boolean XCAFDimTolObjects_DimensionObject::HasPlane () const
+{
+ return myHasPlane;
+}
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+
+Standard_Boolean XCAFDimTolObjects_DimensionObject::HasPoints () const
+{
+ return myPnts->Length() > 0;
+}
#include <XCAFDimTolObjects_DimensionModifiersSequence.hxx>
#include <TopoDS_Edge.hxx>
#include <gp_Dir.hxx>
+#include <gp_Ax2.hxx>
#include <TColgp_HArray1OfPnt.hxx>
#include <Standard_Transient.hxx>
#include <Standard_Real.hxx>
Standard_EXPORT void SetPoints (const Handle(TColgp_HArray1OfPnt)& thePnts);
+ Standard_EXPORT void SetPlane (const gp_Ax2& thePlane);
+
+ Standard_EXPORT gp_Ax2 GetPlane () const;
+
+ Standard_EXPORT Standard_Boolean HasPlane () const;
+
+ Standard_EXPORT Standard_Boolean HasPoints () const;
DEFINE_STANDARD_RTTI(XCAFDimTolObjects_DimensionObject,Standard_Transient)
TopoDS_Edge myPath;
gp_Dir myDir;
Handle(TColgp_HArray1OfPnt) myPnts;
+ gp_Ax2 myPlane;
+ Standard_Boolean myHasPlane;
};
XCAFDimTolObjects_GeomToleranceObject::XCAFDimTolObjects_GeomToleranceObject()
{
myHasAxis = Standard_False;
+ myHasPlane = Standard_False;
+ myHasPnt = Standard_False;
}
//=======================================================================
myValueOfZoneModif = theObj->myValueOfZoneModif;
myModifiers = theObj->myModifiers;
myMaxValueModif = theObj->myMaxValueModif;
- myAxis = theObj->GetAxis();
- myHasAxis = Standard_False;
+ myAxis = theObj->myAxis;
+ myPlane = theObj->myPlane;
+ myPnt= theObj->myPnt;
+ myHasAxis = theObj->myHasAxis;
+ myHasPlane = theObj->myHasPlane;
+ myHasPnt = theObj->myHasPnt;
}
//=======================================================================
Standard_Boolean XCAFDimTolObjects_GeomToleranceObject::HasAxis () const
{
return myHasAxis;
+}
+
+//=======================================================================
+//function : GetPlane
+//purpose :
+//=======================================================================
+
+gp_Ax2 XCAFDimTolObjects_GeomToleranceObject::GetPlane() const
+{
+ return myPlane;
+}
+
+//=======================================================================
+//function : SetPlane
+//purpose :
+//=======================================================================
+
+void XCAFDimTolObjects_GeomToleranceObject::SetPlane(const gp_Ax2& thePlane)
+{
+ myPlane = thePlane;
+ myHasPlane = Standard_True;
+}
+
+//=======================================================================
+//function : GetPoint
+//purpose :
+//=======================================================================
+
+gp_Pnt XCAFDimTolObjects_GeomToleranceObject::GetPoint() const
+{
+ return myPnt;
+}
+
+//=======================================================================
+//function : SetPoint
+//purpose :
+//=======================================================================
+
+void XCAFDimTolObjects_GeomToleranceObject::SetPoint(const gp_Pnt& thePnt)
+{
+ myPnt = thePnt;
+ myHasPlane = Standard_True;
+}
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+
+Standard_Boolean XCAFDimTolObjects_GeomToleranceObject::HasPlane () const
+{
+ return myHasPlane;
+}
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+
+Standard_Boolean XCAFDimTolObjects_GeomToleranceObject::HasPoint () const
+{
+ return myHasPnt;
}
\ No newline at end of file
Standard_EXPORT void SetAxis (const gp_Ax2 theAxis);
Standard_EXPORT gp_Ax2 GetAxis() const;
+
+ Standard_EXPORT void SetPlane(const gp_Ax2& thePlane);
+
+ Standard_EXPORT gp_Ax2 GetPlane() const;
+
+ Standard_EXPORT void SetPoint (const gp_Pnt& thePnt);
+
+ Standard_EXPORT gp_Pnt GetPoint () const;
Standard_EXPORT Standard_Boolean HasAxis () const;
+ Standard_EXPORT Standard_Boolean HasPlane () const;
+
+ Standard_EXPORT Standard_Boolean HasPoint () const;
+
DEFINE_STANDARD_RTTI(XCAFDimTolObjects_GeomToleranceObject,Standard_Transient)
private:
Standard_Real myMaxValueModif;
gp_Ax2 myAxis;
Standard_Boolean myHasAxis;
+ gp_Ax2 myPlane;
+ gp_Pnt myPnt;
+ Standard_Boolean myHasPlane;
+ Standard_Boolean myHasPnt;
+
};
ChildLab_DTargetLength,
ChildLab_DTargetWidth,
ChildLab_DatumTarget,
+ ChildLab_PlaneLoc,
+ ChildLab_PlaneN,
+ ChildLab_PlaneRef,
+ ChildLab_Pnt,
};
//=======================================================================
aLoc->SetValue(aLoc->Upper()+2,anAx.Location().Z());
aN->SetValue(aN->Upper(),anAx.Axis().Direction().X());
- aN->SetValue(aN->Upper(),anAx.Axis().Direction().X());
- aN->SetValue(aN->Upper(),anAx.Axis().Direction().X());
+ aN->SetValue(aN->Upper()+1,anAx.Axis().Direction().Y());
+ aN->SetValue(aN->Upper()+2,anAx.Axis().Direction().Z());
aR->SetValue(aR->Upper(),anAx.Direction().X());
- aR->SetValue(aR->Upper(),anAx.Direction().X());
- aR->SetValue(aR->Upper(),anAx.Direction().X());
+ aR->SetValue(aR->Upper()+1,anAx.Direction().Y());
+ aR->SetValue(aR->Upper()+2,anAx.Direction().Z());
Label().FindChild(ChildLab_AxisLoc).AddAttribute(aLoc);
Label().FindChild(ChildLab_AxisN).AddAttribute(aN);
}
}
}
+
+ if (theObject->HasPlane())
+ {
+ Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
+ Handle(TDataStd_RealArray) aN = new TDataStd_RealArray();
+ Handle(TDataStd_RealArray) aR = new TDataStd_RealArray();
+ gp_Ax2 anPln = theObject->GetPlane();
+ aLoc->SetValue(aLoc->Upper(),anPln.Location().X());
+ aLoc->SetValue(aLoc->Upper()+1,anPln.Location().Y());
+ aLoc->SetValue(aLoc->Upper()+2,anPln.Location().Z());
+
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+
+ Label().FindChild(ChildLab_PlaneLoc).AddAttribute(aLoc);
+ Label().FindChild(ChildLab_PlaneN).AddAttribute(aN);
+ Label().FindChild(ChildLab_PlaneRef).AddAttribute(aR);
+ }
+
+ if (theObject->HasPoint())
+ {
+ Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
+ gp_Pnt aPnt = theObject->GetPoint();
+ aLoc->SetValue(aLoc->Upper(),aPnt.X());
+ aLoc->SetValue(aLoc->Upper()+1,aPnt.Y());
+ aLoc->SetValue(aLoc->Upper()+2,aPnt.Z());
+ Label().FindChild(ChildLab_Pnt).AddAttribute(aLoc);
+ }
}
//=======================================================================
}
}
+ Handle(TDataStd_RealArray) aLoc;
+ Handle(TDataStd_RealArray) aN;
+ Handle(TDataStd_RealArray) aR;
+ if(Label().FindChild(ChildLab_PlaneLoc).FindAttribute(TDataStd_RealArray::GetID(), aLoc) && aLoc->Length() == 3 &&
+ Label().FindChild(ChildLab_PlaneN).FindAttribute(TDataStd_RealArray::GetID(), aN) && aN->Length() == 3 &&
+ Label().FindChild(ChildLab_PlaneRef).FindAttribute(TDataStd_RealArray::GetID(), aR) && aR->Length() == 3 )
+ {
+ gp_Pnt aL(aLoc->Value(aLoc->Upper()), aLoc->Value(aLoc->Upper()+1), aLoc->Value(aLoc->Upper()+2));
+ gp_Dir aD(aN->Value(aN->Upper()), aN->Value(aN->Upper()+1), aN->Value(aN->Upper()+2));
+ gp_Dir aDR(aR->Value(aR->Upper()), aR->Value(aR->Upper()+1), aR->Value(aR->Upper()+2));
+ gp_Ax2 anAx(aL, aD, aDR);
+ anObj->SetPlane(anAx);
+ }
+
+ Handle(TDataStd_RealArray) aPnt;
+ if(Label().FindChild(ChildLab_Pnt).FindAttribute(TDataStd_RealArray::GetID(), aPnt) && aPnt->Length() == 3 )
+ {
+ gp_Pnt aP(aLoc->Value(aPnt->Upper()), aPnt->Value(aPnt->Upper()+1), aPnt->Value(aPnt->Upper()+2));
+ anObj->SetPoint(aP);
+ }
+
Handle(TDataStd_Integer) aIsDTarget;
if(Label().FindChild(ChildLab_IsDTarget).FindAttribute(TDataStd_Integer::GetID(), aIsDTarget))
{
}
}
}
-
return anObj;
}
ChildLab_Modifiers,
ChildLab_Path,
ChildLab_Dir,
- ChildLab_Pnts
+ ChildLab_Pnts,
+ ChildLab_PlaneLoc,
+ ChildLab_PlaneN,
+ ChildLab_PlaneRef,
};
//=======================================================================
Handle(TColgp_HArray1OfPnt) aP = theObject->GetPoints();
if(!aP.IsNull() && aP->Length() > 0)
{
- anArrR = new TColStd_HArray1OfReal(1,6);
+ anArrR = new TColStd_HArray1OfReal(1,aP->Length() * 3);
Handle(TDataStd_RealArray) aPnts;
anArrR->SetValue(1,aP->Value(1).X());
anArrR->SetValue(2,aP->Value(1).Y());
anArrR->SetValue(3,aP->Value(1).Z());
- anArrR->SetValue(4,aP->Value(2).X());
- anArrR->SetValue(5,aP->Value(2).Y());
- anArrR->SetValue(6,aP->Value(2).Z());
+ if (aP->Length() == 2) {
+ anArrR->SetValue(4,aP->Value(2).X());
+ anArrR->SetValue(5,aP->Value(2).Y());
+ anArrR->SetValue(6,aP->Value(2).Z());
+ }
aPnts = new TDataStd_RealArray();
Label().FindChild(ChildLab_Pnts).AddAttribute(aPnts);
aPnts->ChangeArray(anArrR);
}
+
+ if (theObject->HasPlane())
+ {
+ Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
+ Handle(TDataStd_RealArray) aN = new TDataStd_RealArray();
+ Handle(TDataStd_RealArray) aR = new TDataStd_RealArray();
+ gp_Ax2 anPln = theObject->GetPlane();
+ aLoc->SetValue(aLoc->Upper(),anPln.Location().X());
+ aLoc->SetValue(aLoc->Upper()+1,anPln.Location().Y());
+ aLoc->SetValue(aLoc->Upper()+2,anPln.Location().Z());
+
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+ aN->SetValue(aN->Upper()+1,anPln.Axis().Direction().Y());
+ aN->SetValue(aN->Upper()+2,anPln.Axis().Direction().Z());
+
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+ aR->SetValue(aR->Upper()+1,anPln.Direction().Y());
+ aR->SetValue(aR->Upper()+2,anPln.Direction().Z());
+
+ Label().FindChild(ChildLab_PlaneLoc).AddAttribute(aLoc);
+ Label().FindChild(ChildLab_PlaneN).AddAttribute(aN);
+ Label().FindChild(ChildLab_PlaneRef).AddAttribute(aR);
+ }
}
//=======================================================================
anObj->SetPoints(aP);
}
+ Handle(TDataStd_RealArray) aLoc;
+ Handle(TDataStd_RealArray) aN;
+ Handle(TDataStd_RealArray) aR;
+ if(Label().FindChild(ChildLab_PlaneLoc).FindAttribute(TDataStd_RealArray::GetID(), aLoc) && aLoc->Length() == 3 &&
+ Label().FindChild(ChildLab_PlaneN).FindAttribute(TDataStd_RealArray::GetID(), aN) && aN->Length() == 3 &&
+ Label().FindChild(ChildLab_PlaneRef).FindAttribute(TDataStd_RealArray::GetID(), aR) && aR->Length() == 3 )
+ {
+ gp_Pnt aL(aLoc->Value(aLoc->Upper()), aLoc->Value(aLoc->Upper()+1), aLoc->Value(aLoc->Upper()+2));
+ gp_Dir aD(aN->Value(aN->Upper()), aN->Value(aN->Upper()+1), aN->Value(aN->Upper()+2));
+ gp_Dir aDR(aR->Value(aR->Upper()), aR->Value(aR->Upper()+1), aR->Value(aR->Upper()+2));
+ gp_Ax2 anAx(aL, aD, aDR);
+ anObj->SetPlane(anAx);
+ }
+
return anObj;
}
ChildLab_aMaxValueModif,
ChildLab_AxisLoc,
ChildLab_AxisN,
- ChildLab_AxisRef
+ ChildLab_AxisRef,
+ ChildLab_PlaneLoc,
+ ChildLab_PlaneN,
+ ChildLab_PlaneRef,
+ ChildLab_Pnt,
};
//=======================================================================
aLoc->SetValue(aLoc->Upper()+2,anAx.Location().Z());
aN->SetValue(aN->Upper(),anAx.Axis().Direction().X());
- aN->SetValue(aN->Upper(),anAx.Axis().Direction().X());
- aN->SetValue(aN->Upper(),anAx.Axis().Direction().X());
+ aN->SetValue(aN->Upper()+1,anAx.Axis().Direction().Y());
+ aN->SetValue(aN->Upper()+2,anAx.Axis().Direction().Z());
aR->SetValue(aR->Upper(),anAx.Direction().X());
- aR->SetValue(aR->Upper(),anAx.Direction().X());
- aR->SetValue(aR->Upper(),anAx.Direction().X());
+ aR->SetValue(aR->Upper()+1,anAx.Direction().Y());
+ aR->SetValue(aR->Upper()+2,anAx.Direction().Z());
Label().FindChild(ChildLab_AxisLoc).AddAttribute(aLoc);
Label().FindChild(ChildLab_AxisN).AddAttribute(aN);
Label().FindChild(ChildLab_AxisRef).AddAttribute(aR);
}
+
+ if (theObject->HasPlane())
+ {
+ Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
+ Handle(TDataStd_RealArray) aN = new TDataStd_RealArray();
+ Handle(TDataStd_RealArray) aR = new TDataStd_RealArray();
+ gp_Ax2 anPln = theObject->GetPlane();
+ aLoc->SetValue(aLoc->Upper(),anPln.Location().X());
+ aLoc->SetValue(aLoc->Upper()+1,anPln.Location().Y());
+ aLoc->SetValue(aLoc->Upper()+2,anPln.Location().Z());
+
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+ aN->SetValue(aN->Upper(),anPln.Axis().Direction().X());
+
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+ aR->SetValue(aR->Upper(),anPln.Direction().X());
+
+ Label().FindChild(ChildLab_PlaneLoc).AddAttribute(aLoc);
+ Label().FindChild(ChildLab_PlaneN).AddAttribute(aN);
+ Label().FindChild(ChildLab_PlaneRef).AddAttribute(aR);
+ }
+
+ if (theObject->HasPoint())
+ {
+ Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
+ gp_Pnt aPnt = theObject->GetPoint();
+ aLoc->SetValue(aLoc->Upper(),aPnt.X());
+ aLoc->SetValue(aLoc->Upper()+1,aPnt.Y());
+ aLoc->SetValue(aLoc->Upper()+2,aPnt.Z());
+ Label().FindChild(ChildLab_Pnt).AddAttribute(aLoc);
+ }
}
//=======================================================================
gp_Ax2 anAx(aL, aD, aDR);
anObj->SetAxis(anAx);
}
+
+ if(Label().FindChild(ChildLab_PlaneLoc).FindAttribute(TDataStd_RealArray::GetID(), aLoc) && aLoc->Length() == 3 &&
+ Label().FindChild(ChildLab_PlaneN).FindAttribute(TDataStd_RealArray::GetID(), aN) && aN->Length() == 3 &&
+ Label().FindChild(ChildLab_PlaneRef).FindAttribute(TDataStd_RealArray::GetID(), aR) && aR->Length() == 3 )
+ {
+ gp_Pnt aL(aLoc->Value(aLoc->Upper()), aLoc->Value(aLoc->Upper()+1), aLoc->Value(aLoc->Upper()+2));
+ gp_Dir aD(aN->Value(aN->Upper()), aN->Value(aN->Upper()+1), aN->Value(aN->Upper()+2));
+ gp_Dir aDR(aR->Value(aR->Upper()), aR->Value(aR->Upper()+1), aR->Value(aR->Upper()+2));
+ gp_Ax2 anAx(aL, aD, aDR);
+ anObj->SetPlane(anAx);
+ }
+
+ Handle(TDataStd_RealArray) aPnt;
+ if(Label().FindChild(ChildLab_PlaneLoc).FindAttribute(TDataStd_RealArray::GetID(), aPnt) && aPnt->Length() == 3 )
+ {
+ gp_Pnt aP(aLoc->Value(aPnt->Upper()), aPnt->Value(aPnt->Upper()+1), aPnt->Value(aPnt->Upper()+2));
+ anObj->SetPoint(aP);
+ }
return anObj;
}