mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-03 14:10:33 +03:00
0026827: Position and orientation for GD&T frames
Add STEP entities: - StepAP242_DraughtingModelItemAssociation - StepVisual_AnnotationOccurrence - StepVisual_AnnotationCurveOccurrence - StepVisual_AnnotationPlane - StepVisual_DraughtingCallout - StepVisual_AnnotationPlaneElement - StepVisual_DraughtingCalloutElement Changed the structure of XCAF to save the position of PMI data. Add function to read orientation of GDT frame and connection point and set them to XCAF.
This commit is contained in:
@@ -1270,8 +1270,13 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_GeneralModule,StepData_GeneralModule)
|
||||
#include <RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.hxx>
|
||||
#include <RWStepRepr_RWIntegerRepresentationItem.hxx>
|
||||
#include <RWStepRepr_RWValueRepresentationItem.hxx>
|
||||
#include <RWStepAP242_RWDraughtingModelItemAssociation.hxx>
|
||||
#include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
|
||||
#include <RWStepDimTol_RWGeoTolAndGeoTolWthMaxTol.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>
|
||||
@@ -1315,8 +1320,12 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_GeneralModule,StepData_GeneralModule)
|
||||
#include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
|
||||
#include <StepRepr_IntegerRepresentationItem.hxx>
|
||||
#include <StepRepr_ValueRepresentationItem.hxx>
|
||||
#include <StepAP242_DraughtingModelItemAssociation.hxx>
|
||||
#include <StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
|
||||
#include <StepDimTol_GeoTolAndGeoTolWthMaxTol.hxx>
|
||||
#include <StepVisual_AnnotationCurveOccurrence.hxx>
|
||||
#include <StepVisual_AnnotationPlane.hxx>
|
||||
#include <StepVisual_DraughtingCallout.hxx>
|
||||
|
||||
static Standard_Integer catsh,catdr,catstr,catdsc,cataux;
|
||||
|
||||
@@ -1393,10 +1402,17 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN,
|
||||
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;
|
||||
@@ -1865,6 +1881,13 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN,
|
||||
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);
|
||||
@@ -4985,6 +5008,20 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN,
|
||||
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;
|
||||
case 705:
|
||||
{
|
||||
DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol,anent,ent);
|
||||
@@ -5153,6 +5190,9 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid
|
||||
case 3 :
|
||||
ent = new StepShape_AdvancedFace;
|
||||
break;
|
||||
case 4 :
|
||||
ent = new StepVisual_AnnotationCurveOccurrence;
|
||||
break;
|
||||
case 7 :
|
||||
ent = new StepVisual_AnnotationOccurrence;
|
||||
break;
|
||||
@@ -5414,6 +5454,9 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid
|
||||
case 106 :
|
||||
ent = new StepVisual_AnnotationOccurrence;
|
||||
break;
|
||||
case 107 :
|
||||
ent = new StepVisual_DraughtingCallout;
|
||||
break;
|
||||
case 108 :
|
||||
ent = new StepVisual_DraughtingPreDefinedColour;
|
||||
break;
|
||||
@@ -6949,10 +6992,16 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid
|
||||
case 702:
|
||||
ent = new StepRepr_FeatureForDatumTargetRelationship;
|
||||
break;
|
||||
case 705 :
|
||||
case 703:
|
||||
ent = new StepAP242_DraughtingModelItemAssociation;
|
||||
break;
|
||||
case 704:
|
||||
ent = new StepVisual_AnnotationPlane;
|
||||
break;
|
||||
case 705:
|
||||
ent = new StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol;
|
||||
break;
|
||||
case 706 :
|
||||
case 706:
|
||||
ent = new StepDimTol_GeoTolAndGeoTolWthMaxTol;
|
||||
break;
|
||||
|
||||
@@ -7536,7 +7585,9 @@ Standard_Integer RWStepAP214_GeneralModule::CategoryNumber
|
||||
case 699:
|
||||
case 700:
|
||||
case 701:
|
||||
case 702: return catdr;
|
||||
case 702:
|
||||
case 703:
|
||||
case 704: return catdr;
|
||||
case 705:
|
||||
case 706: return cataux;
|
||||
|
||||
|
@@ -1318,8 +1318,14 @@ Handle(atype) result = Handle(atype)::DownCast (start)
|
||||
#include <RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.hxx>
|
||||
#include <RWStepRepr_RWIntegerRepresentationItem.hxx>
|
||||
#include <RWStepRepr_RWValueRepresentationItem.hxx>
|
||||
#include <RWStepRepr_RWValueRepresentationItem.hxx>
|
||||
#include <RWStepAP242_RWDraughtingModelItemAssociation.hxx>
|
||||
#include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
|
||||
#include <RWStepDimTol_RWGeoTolAndGeoTolWthMaxTol.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>
|
||||
@@ -1363,8 +1369,12 @@ Handle(atype) result = Handle(atype)::DownCast (start)
|
||||
#include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
|
||||
#include <StepRepr_IntegerRepresentationItem.hxx>
|
||||
#include <StepRepr_ValueRepresentationItem.hxx>
|
||||
#include <StepAP242_DraughtingModelItemAssociation.hxx>
|
||||
#include <StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
|
||||
#include <StepDimTol_GeoTolAndGeoTolWthMaxTol.hxx>
|
||||
#include <StepVisual_AnnotationCurveOccurrence.hxx>
|
||||
#include <StepVisual_AnnotationPlane.hxx>
|
||||
#include <StepVisual_DraughtingCallout.hxx>
|
||||
|
||||
|
||||
// -- General Declarations (Recognize, StepType) ---
|
||||
@@ -1994,6 +2004,8 @@ static TCollection_AsciiString Reco_GeneralDatumReference("GENERAL_DATUM_REFEREN
|
||||
static TCollection_AsciiString Reco_IntegerRepresentationItem("INTEGER_REPRESENTATION_ITEM");
|
||||
static TCollection_AsciiString Reco_ValueRepresentationItem("VALUE_REPRESENTATION_ITEM");
|
||||
static TCollection_AsciiString Reco_FeatureForDatumTargetRelationship("FEATURE_FOR_DATUM_TARGET_RELATIONSHIP");
|
||||
static TCollection_AsciiString Reco_DraughtingModelItemAssociation("DRAUGHTING_MODEL_ITEM_ASSOCIATION");
|
||||
static TCollection_AsciiString Reco_AnnotationPlane("ANNOTATION_PLANE");
|
||||
|
||||
// -- Definition of the libraries --
|
||||
|
||||
@@ -2638,6 +2650,8 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule ()
|
||||
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
|
||||
@@ -3176,6 +3190,8 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule ()
|
||||
typeshor->SetItem ("TLZNFR",684);
|
||||
typeshor->SetItem ("INRPIT",700);
|
||||
typeshor->SetItem ("VLRPIT",701);
|
||||
typeshor->SetItem ("DMIA", 703);
|
||||
typeshor->SetItem ("ANNPLN", 704);
|
||||
|
||||
}
|
||||
|
||||
@@ -4446,6 +4462,8 @@ const TCollection_AsciiString& RWStepAP214_ReadWriteModule::StepType
|
||||
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;
|
||||
}
|
||||
@@ -4799,11 +4817,17 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -5494,6 +5518,13 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
|
||||
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 :
|
||||
{
|
||||
@@ -9185,6 +9216,20 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
|
||||
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;
|
||||
case 705:
|
||||
{
|
||||
DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol,anent,ent);
|
||||
@@ -9244,12 +9289,18 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -10027,6 +10078,13 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
|
||||
tool.WriteStep (SW,anent);
|
||||
}
|
||||
|
||||
break;
|
||||
case 107 :
|
||||
{
|
||||
DeclareAndCast(StepVisual_DraughtingCallout, anent, ent);
|
||||
RWStepVisual_RWDraughtingCallout tool;
|
||||
tool.WriteStep (SW,anent);
|
||||
}
|
||||
break;
|
||||
case 108 :
|
||||
{
|
||||
@@ -13907,6 +13965,20 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
|
||||
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;
|
||||
case 705:
|
||||
{
|
||||
DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol,anent,ent);
|
||||
|
@@ -1,3 +1,5 @@
|
||||
RWStepAP242_RWDraughtingModelItemAssociation.cxx
|
||||
RWStepAP242_RWDraughtingModelItemAssociation.hxx
|
||||
RWStepAP242_RWGeometricItemSpecificUsage.cxx
|
||||
RWStepAP242_RWGeometricItemSpecificUsage.hxx
|
||||
RWStepAP242_RWIdAttribute.cxx
|
||||
|
108
src/RWStepAP242/RWStepAP242_RWDraughtingModelItemAssociation.cxx
Normal file
108
src/RWStepAP242/RWStepAP242_RWDraughtingModelItemAssociation.cxx
Normal file
@@ -0,0 +1,108 @@
|
||||
// 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));
|
||||
}
|
||||
|
@@ -0,0 +1,46 @@
|
||||
// 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
|
@@ -1,3 +1,9 @@
|
||||
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
|
||||
@@ -32,6 +38,8 @@ RWStepVisual_RWCurveStyleFont.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
|
||||
|
@@ -0,0 +1,92 @@
|
||||
// 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());
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
// 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
|
107
src/RWStepVisual/RWStepVisual_RWAnnotationOccurrence.cxx
Normal file
107
src/RWStepVisual/RWStepVisual_RWAnnotationOccurrence.cxx
Normal file
@@ -0,0 +1,107 @@
|
||||
// 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());
|
||||
}
|
45
src/RWStepVisual/RWStepVisual_RWAnnotationOccurrence.hxx
Normal file
45
src/RWStepVisual/RWStepVisual_RWAnnotationOccurrence.hxx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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
|
133
src/RWStepVisual/RWStepVisual_RWAnnotationPlane.cxx
Normal file
133
src/RWStepVisual/RWStepVisual_RWAnnotationPlane.cxx
Normal file
@@ -0,0 +1,133 @@
|
||||
// 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());
|
||||
}
|
||||
|
45
src/RWStepVisual/RWStepVisual_RWAnnotationPlane.hxx
Normal file
45
src/RWStepVisual/RWStepVisual_RWAnnotationPlane.hxx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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
|
93
src/RWStepVisual/RWStepVisual_RWDraughtingCallout.cxx
Normal file
93
src/RWStepVisual/RWStepVisual_RWDraughtingCallout.cxx
Normal file
@@ -0,0 +1,93 @@
|
||||
// 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());
|
||||
}
|
||||
|
45
src/RWStepVisual/RWStepVisual_RWDraughtingCallout.hxx
Normal file
45
src/RWStepVisual/RWStepVisual_RWDraughtingCallout.hxx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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
|
@@ -96,6 +96,9 @@
|
||||
#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>
|
||||
@@ -144,6 +147,7 @@
|
||||
#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>
|
||||
@@ -164,8 +168,13 @@
|
||||
#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>
|
||||
@@ -219,6 +228,7 @@
|
||||
#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>
|
||||
@@ -1693,6 +1703,171 @@ static Standard_Boolean GetMassConversionFactor(Handle(StepBasic_NamedUnit)& NU,
|
||||
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
|
||||
@@ -1701,7 +1876,7 @@ static Standard_Boolean GetMassConversionFactor(Handle(StepBasic_NamedUnit)& NU,
|
||||
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)
|
||||
{
|
||||
@@ -1985,8 +2160,10 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat,
|
||||
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();
|
||||
}
|
||||
@@ -2949,6 +3126,8 @@ static void setDimObjectToXCAF(const Handle(Standard_Transient)& theEnt,
|
||||
}
|
||||
aDimObj->SetType(aType);
|
||||
|
||||
ReadGDTPosition(aGraph, theEnt, aDimObj);
|
||||
|
||||
if(!aDimObj.IsNull())
|
||||
{
|
||||
Handle(XCAFDoc_Dimension) aDim;
|
||||
@@ -3219,6 +3398,7 @@ static void setGeomTolObjectToXCAF(const Handle(Standard_Transient)& theEnt,
|
||||
aTolObj->SetMaxValueModifier(aVal);
|
||||
}
|
||||
|
||||
ReadGDTPosition(aGraph, theEnt, aTolObj);
|
||||
aGTol->SetObject(aTolObj);
|
||||
}
|
||||
|
||||
|
@@ -725,8 +725,12 @@ static Standard_CString schemaAP203 = "CONFIG_CONTROL_DESIGN";
|
||||
#include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
|
||||
#include <StepRepr_IntegerRepresentationItem.hxx>
|
||||
#include <StepRepr_ValueRepresentationItem.hxx>
|
||||
#include <StepAP242_DraughtingModelItemAssociation.hxx>
|
||||
#include <StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
|
||||
#include <StepDimTol_GeoTolAndGeoTolWthMaxTol.hxx>
|
||||
#include <StepVisual_AnnotationCurveOccurrence.hxx>
|
||||
#include <StepVisual_AnnotationPlane.hxx>
|
||||
#include <StepVisual_DraughtingCallout.hxx>
|
||||
|
||||
|
||||
static int init = 0;
|
||||
@@ -745,7 +749,7 @@ StepAP214_Protocol::StepAP214_Protocol ()
|
||||
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);
|
||||
@@ -845,7 +849,7 @@ StepAP214_Protocol::StepAP214_Protocol ()
|
||||
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);
|
||||
@@ -1417,6 +1421,8 @@ StepAP214_Protocol::StepAP214_Protocol ()
|
||||
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);
|
||||
types.Bind (STANDARD_TYPE(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol), 705);
|
||||
types.Bind (STANDARD_TYPE(StepDimTol_GeoTolAndGeoTolWthMaxTol), 706);
|
||||
}
|
||||
|
@@ -1,3 +1,5 @@
|
||||
StepAP242_DraughtingModelItemAssociation.cxx
|
||||
StepAP242_DraughtingModelItemAssociation.hxx
|
||||
StepAP242_GeometricItemSpecificUsage.cxx
|
||||
StepAP242_GeometricItemSpecificUsage.hxx
|
||||
StepAP242_IdAttribute.cxx
|
||||
|
20
src/StepAP242/StepAP242_DraughtingModelItemAssociation.cxx
Normal file
20
src/StepAP242/StepAP242_DraughtingModelItemAssociation.cxx
Normal file
@@ -0,0 +1,20 @@
|
||||
// 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>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(StepAP242_DraughtingModelItemAssociation,StepAP242_ItemIdentifiedRepresentationUsage)
|
||||
|
||||
StepAP242_DraughtingModelItemAssociation::StepAP242_DraughtingModelItemAssociation () { }
|
37
src/StepAP242/StepAP242_DraughtingModelItemAssociation.hxx
Normal file
37
src/StepAP242/StepAP242_DraughtingModelItemAssociation.hxx
Normal file
@@ -0,0 +1,37 @@
|
||||
// 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_RTTIEXT(StepAP242_DraughtingModelItemAssociation, StepAP242_ItemIdentifiedRepresentationUsage)
|
||||
|
||||
};
|
||||
#endif // _StepAP242_DraughtingModelItemAssociation_HeaderFile
|
@@ -55,7 +55,7 @@ public:
|
||||
}
|
||||
|
||||
//! Set field DefiningTolerance
|
||||
inline void SetModifiers (const Handle(StepDimTol_HArray1OfToleranceZoneTarget) &theDefiningTolerance)
|
||||
inline void SetDefiningTolerance (const Handle(StepDimTol_HArray1OfToleranceZoneTarget) &theDefiningTolerance)
|
||||
{
|
||||
myDefiningTolerance = theDefiningTolerance;
|
||||
}
|
||||
|
@@ -1,5 +1,11 @@
|
||||
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
|
||||
@@ -8,9 +14,11 @@ StepVisual_AreaInSet.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
|
||||
@@ -64,6 +72,10 @@ StepVisual_DirectionCountSelect.cxx
|
||||
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
|
||||
@@ -82,9 +94,11 @@ StepVisual_FillStyleSelect.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
|
||||
|
21
src/StepVisual/StepVisual_AnnotationCurveOccurrence.cxx
Normal file
21
src/StepVisual/StepVisual_AnnotationCurveOccurrence.cxx
Normal file
@@ -0,0 +1,21 @@
|
||||
// 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>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationCurveOccurrence,StepVisual_StyledItem)
|
||||
|
||||
StepVisual_AnnotationCurveOccurrence::StepVisual_AnnotationCurveOccurrence () {}
|
36
src/StepVisual/StepVisual_AnnotationCurveOccurrence.hxx
Normal file
36
src/StepVisual/StepVisual_AnnotationCurveOccurrence.hxx
Normal file
@@ -0,0 +1,36 @@
|
||||
// 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_RTTIEXT(StepVisual_AnnotationCurveOccurrence,StepVisual_StyledItem)
|
||||
};
|
||||
#endif // _StepVisual_AnnotationCurveOccurrence_HeaderFile
|
38
src/StepVisual/StepVisual_AnnotationPlane.cxx
Normal file
38
src/StepVisual/StepVisual_AnnotationPlane.cxx
Normal file
@@ -0,0 +1,38 @@
|
||||
// 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>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationPlane,StepVisual_AnnotationOccurrence)
|
||||
|
||||
//=======================================================================
|
||||
//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;
|
||||
}
|
76
src/StepVisual/StepVisual_AnnotationPlane.hxx
Normal file
76
src/StepVisual/StepVisual_AnnotationPlane.hxx
Normal file
@@ -0,0 +1,76 @@
|
||||
// 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_RTTIEXT(StepVisual_AnnotationPlane,StepVisual_AnnotationOccurrence)
|
||||
|
||||
private:
|
||||
|
||||
Handle(StepVisual_HArray1OfAnnotationPlaneElement) myElements;
|
||||
};
|
||||
#endif // _StepVisual_AnnotationPlane_HeaderFile
|
45
src/StepVisual/StepVisual_AnnotationPlaneElement.cxx
Normal file
45
src/StepVisual/StepVisual_AnnotationPlaneElement.cxx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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()); }
|
50
src/StepVisual/StepVisual_AnnotationPlaneElement.hxx
Normal file
50
src/StepVisual/StepVisual_AnnotationPlaneElement.hxx
Normal file
@@ -0,0 +1,50 @@
|
||||
// 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
|
23
src/StepVisual/StepVisual_Array1OfAnnotationPlaneElement.hxx
Normal file
23
src/StepVisual/StepVisual_Array1OfAnnotationPlaneElement.hxx
Normal file
@@ -0,0 +1,23 @@
|
||||
// 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
|
@@ -0,0 +1,23 @@
|
||||
// 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
|
36
src/StepVisual/StepVisual_DraughtingCallout.cxx
Normal file
36
src/StepVisual/StepVisual_DraughtingCallout.cxx
Normal file
@@ -0,0 +1,36 @@
|
||||
// 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>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_DraughtingCallout,StepGeom_GeometricRepresentationItem)
|
||||
|
||||
//=======================================================================
|
||||
//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;
|
||||
}
|
77
src/StepVisual/StepVisual_DraughtingCallout.hxx
Normal file
77
src/StepVisual/StepVisual_DraughtingCallout.hxx
Normal file
@@ -0,0 +1,77 @@
|
||||
// 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_RTTIEXT(StepVisual_DraughtingCallout,StepGeom_GeometricRepresentationItem)
|
||||
|
||||
private:
|
||||
Handle(StepVisual_HArray1OfDraughtingCalloutElement) myContents;
|
||||
};
|
||||
#endif // _StepVisual_DraughtingCallout_HeaderFile
|
40
src/StepVisual/StepVisual_DraughtingCalloutElement.cxx
Normal file
40
src/StepVisual/StepVisual_DraughtingCalloutElement.cxx
Normal file
@@ -0,0 +1,40 @@
|
||||
// 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()); }
|
45
src/StepVisual/StepVisual_DraughtingCalloutElement.hxx
Normal file
45
src/StepVisual/StepVisual_DraughtingCalloutElement.hxx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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
|
@@ -0,0 +1,24 @@
|
||||
// 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
|
@@ -0,0 +1,24 @@
|
||||
// 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
|
@@ -24,6 +24,8 @@ IMPLEMENT_STANDARD_RTTIEXT(XCAFDimTolObjects_DatumObject,Standard_Transient)
|
||||
XCAFDimTolObjects_DatumObject::XCAFDimTolObjects_DatumObject()
|
||||
{
|
||||
myIsDTarget = Standard_False;
|
||||
myHasPlane = Standard_False;
|
||||
myHasPnt = Standard_False;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -41,6 +43,10 @@ XCAFDimTolObjects_DatumObject::XCAFDimTolObjects_DatumObject(const Handle(XCAFDi
|
||||
myIsDTarget = theObj->myIsDTarget;
|
||||
myAxis = theObj->myAxis;
|
||||
myDTargetType = theObj->myDTargetType;
|
||||
myPlane = theObj->myPlane;
|
||||
myPnt= theObj->myPnt;
|
||||
myHasPlane = theObj->myHasPlane;
|
||||
myHasPnt = theObj->myHasPnt;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -91,6 +91,25 @@ public:
|
||||
|
||||
Standard_EXPORT void SetDatumTargetNumber (const Standard_Integer theNumber);
|
||||
|
||||
void SetPlane (const gp_Ax2& thePlane)
|
||||
{
|
||||
myPlane = thePlane;
|
||||
myHasPlane = Standard_True;
|
||||
}
|
||||
|
||||
const gp_Ax2& GetPlane() const { return myPlane; }
|
||||
|
||||
void SetPoint (const gp_Pnt& thePnt)
|
||||
{
|
||||
myPnt = thePnt;
|
||||
myHasPnt = Standard_True;
|
||||
}
|
||||
|
||||
const gp_Pnt& GetPoint() const { return myPnt; }
|
||||
|
||||
Standard_Boolean HasPlane() const { return myHasPlane; }
|
||||
|
||||
Standard_Boolean HasPoint() const { return myHasPnt; }
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_DatumObject,Standard_Transient)
|
||||
|
||||
@@ -108,6 +127,10 @@ private:
|
||||
Standard_Real myLength;
|
||||
Standard_Real myWidth;
|
||||
Standard_Integer myDatumTargetNumber;
|
||||
gp_Ax2 myPlane;
|
||||
gp_Pnt myPnt;
|
||||
Standard_Boolean myHasPlane;
|
||||
Standard_Boolean myHasPnt;
|
||||
|
||||
};
|
||||
|
||||
|
@@ -26,6 +26,7 @@ IMPLEMENT_STANDARD_RTTIEXT(XCAFDimTolObjects_DimensionObject,Standard_Transient)
|
||||
|
||||
XCAFDimTolObjects_DimensionObject::XCAFDimTolObjects_DimensionObject()
|
||||
{
|
||||
myHasPlane = Standard_False;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -47,6 +48,8 @@ XCAFDimTolObjects_DimensionObject::XCAFDimTolObjects_DimensionObject(const Handl
|
||||
myPath = theObj->myPath;
|
||||
myDir = theObj->myDir;
|
||||
myPnts = theObj->myPnts;
|
||||
myHasPlane = theObj->myHasPlane;
|
||||
myPlane = theObj->myPlane;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#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>
|
||||
@@ -116,6 +117,17 @@ public:
|
||||
|
||||
Standard_EXPORT void SetPoints (const Handle(TColgp_HArray1OfPnt)& thePnts);
|
||||
|
||||
void SetPlane (const gp_Ax2& thePlane)
|
||||
{
|
||||
myPlane = thePlane;
|
||||
myHasPlane = Standard_True;
|
||||
}
|
||||
|
||||
const gp_Ax2& GetPlane() const { return myPlane; }
|
||||
|
||||
Standard_Boolean HasPlane() const { return myHasPlane; }
|
||||
|
||||
Standard_Boolean HasPoints() const { !myPnts.IsNull() && myPnts->Length() > 0; }
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_DimensionObject,Standard_Transient)
|
||||
|
||||
@@ -133,6 +145,8 @@ private:
|
||||
TopoDS_Edge myPath;
|
||||
gp_Dir myDir;
|
||||
Handle(TColgp_HArray1OfPnt) myPnts;
|
||||
gp_Ax2 myPlane;
|
||||
Standard_Boolean myHasPlane;
|
||||
|
||||
};
|
||||
|
||||
|
@@ -23,6 +23,8 @@ IMPLEMENT_STANDARD_RTTIEXT(XCAFDimTolObjects_GeomToleranceObject,Standard_Transi
|
||||
XCAFDimTolObjects_GeomToleranceObject::XCAFDimTolObjects_GeomToleranceObject()
|
||||
{
|
||||
myHasAxis = Standard_False;
|
||||
myHasPlane = Standard_False;
|
||||
myHasPnt = Standard_False;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -40,8 +42,12 @@ XCAFDimTolObjects_GeomToleranceObject::XCAFDimTolObjects_GeomToleranceObject(con
|
||||
myValueOfZoneModif = theObj->myValueOfZoneModif;
|
||||
myModifiers = theObj->myModifiers;
|
||||
myMaxValueModif = theObj->myMaxValueModif;
|
||||
myAxis = theObj->GetAxis();
|
||||
myHasAxis = Standard_False;
|
||||
myAxis = theObj->myAxis;
|
||||
myHasAxis = theObj->myHasAxis;
|
||||
myPlane = theObj->myPlane;
|
||||
myPnt= theObj->myPnt;
|
||||
myHasPlane = theObj->myHasPlane;
|
||||
myHasPnt = theObj->myHasPnt;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -243,4 +249,4 @@ gp_Ax2 XCAFDimTolObjects_GeomToleranceObject::GetAxis() const
|
||||
Standard_Boolean XCAFDimTolObjects_GeomToleranceObject::HasAxis () const
|
||||
{
|
||||
return myHasAxis;
|
||||
}
|
||||
}
|
||||
|
@@ -84,6 +84,26 @@ public:
|
||||
|
||||
Standard_EXPORT Standard_Boolean HasAxis () const;
|
||||
|
||||
void SetPlane (const gp_Ax2& thePlane)
|
||||
{
|
||||
myPlane = thePlane;
|
||||
myHasPlane = Standard_True;
|
||||
}
|
||||
|
||||
const gp_Ax2& GetPlane() const { return myPlane; }
|
||||
|
||||
void SetPoint (const gp_Pnt& thePnt)
|
||||
{
|
||||
myPnt = thePnt;
|
||||
myHasPnt = Standard_True;
|
||||
}
|
||||
|
||||
const gp_Pnt& GetPoint() const { return myPnt; }
|
||||
|
||||
Standard_Boolean HasPlane() const { return myHasPlane; }
|
||||
|
||||
Standard_Boolean HasPoint() const { return myHasPnt; }
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_GeomToleranceObject,Standard_Transient)
|
||||
|
||||
private:
|
||||
@@ -98,6 +118,11 @@ private:
|
||||
Standard_Real myMaxValueModif;
|
||||
gp_Ax2 myAxis;
|
||||
Standard_Boolean myHasAxis;
|
||||
gp_Ax2 myPlane;
|
||||
gp_Pnt myPnt;
|
||||
Standard_Boolean myHasPlane;
|
||||
Standard_Boolean myHasPnt;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@@ -48,6 +48,10 @@ enum ChildLab
|
||||
ChildLab_DTargetWidth,
|
||||
ChildLab_DTargetNumber,
|
||||
ChildLab_DatumTarget,
|
||||
ChildLab_PlaneLoc,
|
||||
ChildLab_PlaneN,
|
||||
ChildLab_PlaneRef,
|
||||
ChildLab_Pnt,
|
||||
};
|
||||
|
||||
//=======================================================================
|
||||
@@ -281,6 +285,46 @@ void XCAFDoc_Datum::SetObject(const Handle(XCAFDimTolObjects_DatumObject)& theOb
|
||||
aNum->Set(theObject->GetDatumTargetNumber());
|
||||
Label().FindChild(ChildLab_DTargetNumber).AddAttribute(aNum);
|
||||
}
|
||||
|
||||
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 anAx = theObject->GetPlane();
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aLocArr->SetValue(i, anAx.Location().Coord(i));
|
||||
aLoc->ChangeArray(aLocArr);
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aNArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aNArr->SetValue(i, anAx.Direction().Coord(i));
|
||||
aN->ChangeArray(aNArr);
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aRArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aRArr->SetValue(i, anAx.XDirection().Coord(i));
|
||||
aR->ChangeArray(aRArr);
|
||||
|
||||
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();
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aLocArr->SetValue(i, aPnt.Coord(i));
|
||||
aLoc->ChangeArray(aLocArr);
|
||||
|
||||
Label().FindChild(ChildLab_Pnt).AddAttribute(aLoc);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -325,6 +369,25 @@ Handle(XCAFDimTolObjects_DatumObject) XCAFDoc_Datum::GetObject() const
|
||||
anObj->SetPosition(aPosition->Get());
|
||||
}
|
||||
|
||||
Handle(TDataStd_RealArray) aLoc, aN, 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->Lower()), aLoc->Value(aLoc->Lower()+1), aLoc->Value(aLoc->Lower()+2));
|
||||
gp_Dir aD(aN->Value(aN->Lower()), aN->Value(aN->Lower()+1), aN->Value(aN->Lower()+2));
|
||||
gp_Dir aDR(aR->Value(aR->Lower()), aR->Value(aR->Lower()+1), aR->Value(aR->Lower()+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->Lower()), aPnt->Value(aPnt->Lower()+1), aPnt->Value(aPnt->Lower()+2));
|
||||
anObj->SetPoint(aP);
|
||||
}
|
||||
|
||||
Handle(TDataStd_Integer) aIsDTarget;
|
||||
if(Label().FindChild(ChildLab_IsDTarget).FindAttribute(TDataStd_Integer::GetID(), aIsDTarget))
|
||||
{
|
||||
|
@@ -41,7 +41,10 @@ enum ChildLab
|
||||
ChildLab_Modifiers,
|
||||
ChildLab_Path,
|
||||
ChildLab_Dir,
|
||||
ChildLab_Pnts
|
||||
ChildLab_Pnts,
|
||||
ChildLab_PlaneLoc,
|
||||
ChildLab_PlaneN,
|
||||
ChildLab_PlaneRef,
|
||||
};
|
||||
|
||||
//=======================================================================
|
||||
@@ -171,18 +174,47 @@ void XCAFDoc_Dimension::SetObject (const Handle(XCAFDimTolObjects_DimensionObjec
|
||||
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 anAx = theObject->GetPlane();
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aLocArr->SetValue(i, anAx.Location().Coord(i));
|
||||
aLoc->ChangeArray(aLocArr);
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aNArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aNArr->SetValue(i, anAx.Direction().Coord(i));
|
||||
aN->ChangeArray(aNArr);
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aRArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aRArr->SetValue(i, anAx.XDirection().Coord(i));
|
||||
aR->ChangeArray(aRArr);
|
||||
|
||||
Label().FindChild(ChildLab_PlaneLoc).AddAttribute(aLoc);
|
||||
Label().FindChild(ChildLab_PlaneN).AddAttribute(aN);
|
||||
Label().FindChild(ChildLab_PlaneRef).AddAttribute(aR);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -256,12 +288,27 @@ Handle(XCAFDimTolObjects_DimensionObject) XCAFDoc_Dimension::GetObject() const
|
||||
if(Label().FindChild(ChildLab_Pnts).FindAttribute(TDataStd_RealArray::GetID(), aPnts)
|
||||
&& !aPnts->Array().IsNull() && aPnts->Array()->Length() > 0)
|
||||
{
|
||||
Handle(TColgp_HArray1OfPnt) aP = new TColgp_HArray1OfPnt(1,2);
|
||||
Handle(TColgp_HArray1OfPnt) aP = new TColgp_HArray1OfPnt(1,aPnts->Array()->Length());
|
||||
aP->SetValue(1, gp_Pnt(aPnts->Array()->Value(1), aPnts->Array()->Value(2), aPnts->Array()->Value(3)));
|
||||
aP->SetValue(2, gp_Pnt(aPnts->Array()->Value(4), aPnts->Array()->Value(5), aPnts->Array()->Value(6)));
|
||||
if (aPnts->Array()->Length() == 2)
|
||||
{
|
||||
aP->SetValue(2, gp_Pnt(aPnts->Array()->Value(4), aPnts->Array()->Value(5), aPnts->Array()->Value(6)));
|
||||
}
|
||||
anObj->SetPoints(aP);
|
||||
}
|
||||
|
||||
Handle(TDataStd_RealArray) aLoc, aN, 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->Lower()), aLoc->Value(aLoc->Lower()+1), aLoc->Value(aLoc->Lower()+2));
|
||||
gp_Dir aD(aN->Value(aN->Lower()), aN->Value(aN->Lower()+1), aN->Value(aN->Lower()+2));
|
||||
gp_Dir aDR(aR->Value(aR->Lower()), aR->Value(aR->Lower()+1), aR->Value(aR->Lower()+2));
|
||||
gp_Ax2 anAx(aL, aD, aDR);
|
||||
anObj->SetPlane(anAx);
|
||||
}
|
||||
|
||||
return anObj;
|
||||
}
|
||||
|
||||
|
@@ -37,7 +37,11 @@ enum ChildLab
|
||||
ChildLab_aMaxValueModif,
|
||||
ChildLab_AxisLoc,
|
||||
ChildLab_AxisN,
|
||||
ChildLab_AxisRef
|
||||
ChildLab_AxisRef,
|
||||
ChildLab_PlaneLoc,
|
||||
ChildLab_PlaneN,
|
||||
ChildLab_PlaneRef,
|
||||
ChildLab_Pnt,
|
||||
};
|
||||
|
||||
//=======================================================================
|
||||
@@ -175,6 +179,46 @@ void XCAFDoc_GeomTolerance::SetObject (const Handle(XCAFDimTolObjects_GeomTolera
|
||||
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 anAx = theObject->GetPlane();
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aLocArr->SetValue(i, anAx.Location().Coord(i));
|
||||
aLoc->ChangeArray(aLocArr);
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aNArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aNArr->SetValue(i, anAx.Direction().Coord(i));
|
||||
aN->ChangeArray(aNArr);
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aRArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aRArr->SetValue(i, anAx.XDirection().Coord(i));
|
||||
aR->ChangeArray(aRArr);
|
||||
|
||||
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();
|
||||
|
||||
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
|
||||
for (Standard_Integer i = 1; i <= 3; i++)
|
||||
aLocArr->SetValue(i, aPnt.Coord(i));
|
||||
aLoc->ChangeArray(aLocArr);
|
||||
|
||||
Label().FindChild(ChildLab_Pnt).AddAttribute(aLoc);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -251,6 +295,24 @@ Handle(XCAFDimTolObjects_GeomToleranceObject) XCAFDoc_GeomTolerance::GetObject()
|
||||
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->Lower()), aLoc->Value(aLoc->Lower()+1), aLoc->Value(aLoc->Lower()+2));
|
||||
gp_Dir aD(aN->Value(aN->Lower()), aN->Value(aN->Lower()+1), aN->Value(aN->Lower()+2));
|
||||
gp_Dir aDR(aR->Value(aR->Lower()), aR->Value(aR->Lower()+1), aR->Value(aR->Lower()+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->Lower()), aPnt->Value(aPnt->Lower()+1), aPnt->Value(aPnt->Lower()+2));
|
||||
anObj->SetPoint(aP);
|
||||
}
|
||||
return anObj;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user