mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0028315: Data Exchange - Import/Export GD&Ts without semantic
Implement import/export of Dimensions without semantic. Add new type of dimension for GDTs with presentation and connecting to shapes. Update test cases. Small corrections for issue CR28315
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
RWStepVisual_RWAnnotationCurveOccurrence.cxx
|
||||
RWStepVisual_RWAnnotationCurveOccurrence.hxx
|
||||
RWStepVisual_RWAnnotationFillArea.cxx
|
||||
RWStepVisual_RWAnnotationFillArea.hxx
|
||||
RWStepVisual_RWAnnotationFillAreaOccurrence.cxx
|
||||
RWStepVisual_RWAnnotationFillAreaOccurrence.hxx
|
||||
RWStepVisual_RWAnnotationOccurrence.cxx
|
||||
RWStepVisual_RWAnnotationOccurrence.hxx
|
||||
RWStepVisual_RWAnnotationPlane.cxx
|
||||
|
98
src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.cxx
Normal file
98
src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.cxx
Normal file
@@ -0,0 +1,98 @@
|
||||
// Created on: 2016-12-28
|
||||
// Created by: Irina KRYLOVA
|
||||
// Copyright (c) 2016 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_RWAnnotationFillArea.hxx>
|
||||
#include <StepData_StepReaderData.hxx>
|
||||
#include <StepData_StepWriter.hxx>
|
||||
#include <StepVisual_AnnotationFillArea.hxx>
|
||||
#include <StepShape_GeometricSetSelect.hxx>
|
||||
#include <StepShape_HArray1OfGeometricSetSelect.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : RWStepVisual_RWAnnotationFillArea
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
RWStepVisual_RWAnnotationFillArea::RWStepVisual_RWAnnotationFillArea () {}
|
||||
|
||||
//=======================================================================
|
||||
//function : ReadStep
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void RWStepVisual_RWAnnotationFillArea::ReadStep
|
||||
(const Handle(StepData_StepReaderData)& data,
|
||||
const Standard_Integer num,
|
||||
Handle(Interface_Check)& ach,
|
||||
const Handle(StepVisual_AnnotationFillArea)& ent) const
|
||||
{
|
||||
// Number of Parameter Control
|
||||
if (!data->CheckNbParams(num, 2, ach, "annotation_fill_area"))
|
||||
return;
|
||||
|
||||
// Inherited field : name
|
||||
|
||||
Handle(TCollection_HAsciiString) aName;
|
||||
data->ReadString(num, 1, "name", ach, aName);
|
||||
|
||||
// Own field : boundaries
|
||||
Handle(StepShape_HArray1OfGeometricSetSelect) aElements;
|
||||
StepShape_GeometricSetSelect aElementsItem;
|
||||
Standard_Integer nsub;
|
||||
if (data->ReadSubList(num, 2, "boundaries", ach, nsub)) {
|
||||
Standard_Integer nb = data->NbParams(nsub);
|
||||
aElements = new StepShape_HArray1OfGeometricSetSelect(1, nb);
|
||||
for (Standard_Integer i = 1; i <= nb; i++) {
|
||||
if (data->ReadEntity(nsub, i, "boundaries", ach, aElementsItem))
|
||||
aElements->SetValue(i, aElementsItem);
|
||||
}
|
||||
}
|
||||
|
||||
//Initialization of the read entity
|
||||
ent->Init(aName, aElements);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : WriteStep
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void RWStepVisual_RWAnnotationFillArea::WriteStep
|
||||
(StepData_StepWriter& SW,
|
||||
const Handle(StepVisual_AnnotationFillArea)& ent) const
|
||||
{
|
||||
// Inherited field : name
|
||||
SW.Send(ent->Name());
|
||||
|
||||
// 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_RWAnnotationFillArea::Share(const Handle(StepVisual_AnnotationFillArea)& ent, Interface_EntityIterator& iter) const
|
||||
{
|
||||
Standard_Integer nbBound = ent->NbElements();
|
||||
for (Standard_Integer i = 1; i <= nbBound; i++) {
|
||||
iter.GetOneItem(ent->ElementsValue(i).Value());
|
||||
}
|
||||
}
|
||||
|
49
src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.hxx
Normal file
49
src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.hxx
Normal file
@@ -0,0 +1,49 @@
|
||||
// Created on: 2016-12-28
|
||||
// Created by: Irina KRYLOVA
|
||||
// Copyright (c) 2016 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_RWAnnotationFillArea_HeaderFile
|
||||
#define _RWStepVisual_RWAnnotationFillArea_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
class StepData_StepReaderData;
|
||||
class Interface_Check;
|
||||
class StepVisual_AnnotationFillArea;
|
||||
class StepData_StepWriter;
|
||||
class Interface_EntityIterator;
|
||||
|
||||
|
||||
//! Read & Write Module for AnnotationFillArea
|
||||
class RWStepVisual_RWAnnotationFillArea
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT RWStepVisual_RWAnnotationFillArea();
|
||||
|
||||
Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationFillArea)& ent) const;
|
||||
|
||||
Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationFillArea)& ent) const;
|
||||
|
||||
Standard_EXPORT void Share (const Handle(StepVisual_AnnotationFillArea)& ent, Interface_EntityIterator& iter) const;
|
||||
|
||||
};
|
||||
|
||||
#endif // _RWStepVisual_RWAnnotationFillArea_HeaderFile
|
113
src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.cxx
Normal file
113
src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.cxx
Normal file
@@ -0,0 +1,113 @@
|
||||
// Created on: 2016-12-28
|
||||
// Created by: Irina KRYLOVA
|
||||
// Copyright (c) 2016 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_RWAnnotationFillAreaOccurrence.hxx>
|
||||
#include <StepData_StepReaderData.hxx>
|
||||
#include <StepData_StepWriter.hxx>
|
||||
#include <StepGeom_GeometricRepresentationItem.hxx>
|
||||
#include <StepVisual_HArray1OfPresentationStyleAssignment.hxx>
|
||||
#include <StepVisual_PresentationStyleAssignment.hxx>
|
||||
#include <StepVisual_AnnotationFillAreaOccurrence.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : RWStepVisual_RWAnnotationFillAreaOccurrence
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
RWStepVisual_RWAnnotationFillAreaOccurrence::RWStepVisual_RWAnnotationFillAreaOccurrence () {}
|
||||
|
||||
//=======================================================================
|
||||
//function : ReadStep
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void RWStepVisual_RWAnnotationFillAreaOccurrence::ReadStep
|
||||
(const Handle(StepData_StepReaderData)& data,
|
||||
const Standard_Integer num,
|
||||
Handle(Interface_Check)& ach,
|
||||
const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const
|
||||
{
|
||||
// Number of Parameter Control
|
||||
if (!data->CheckNbParams(num, 4, ach, "annotation_fill_area_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) anent;
|
||||
Standard_Integer nsub;
|
||||
if (data->ReadSubList(num, 2, "styles", ach, nsub)) {
|
||||
Standard_Integer nb = data->NbParams(nsub);
|
||||
aStyles = new StepVisual_HArray1OfPresentationStyleAssignment(1, nb);
|
||||
for (Standard_Integer i = 1; i <= nb; i++) {
|
||||
if (data->ReadEntity(nsub, i, "presentation_style_assignment", ach,
|
||||
STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anent))
|
||||
aStyles->SetValue(i, anent);
|
||||
}
|
||||
}
|
||||
|
||||
// Inherited field : item
|
||||
Handle(MMgt_TShared) aItem;
|
||||
data->ReadEntity(num, 3, "item", ach, STANDARD_TYPE(MMgt_TShared), aItem);
|
||||
|
||||
// Own field : fill_style_target
|
||||
Handle(StepGeom_GeometricRepresentationItem) aFillStyleTarget;
|
||||
data->ReadEntity(num, 4, "item", ach, STANDARD_TYPE(StepGeom_GeometricRepresentationItem), aFillStyleTarget);
|
||||
|
||||
// Initialisation of the read entity
|
||||
ent->Init(aName, aStyles, aItem, aFillStyleTarget);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : WriteStep
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void RWStepVisual_RWAnnotationFillAreaOccurrence::WriteStep
|
||||
(StepData_StepWriter& SW,
|
||||
const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const
|
||||
{
|
||||
// Inherited field : name
|
||||
SW.Send(ent->Name());
|
||||
|
||||
// Inherited field : styles
|
||||
SW.OpenSub();
|
||||
for (Standard_Integer i = 1; i <= ent->NbStyles(); i++) {
|
||||
SW.Send(ent->StylesValue(i));
|
||||
}
|
||||
SW.CloseSub();
|
||||
|
||||
// Inherited field : item
|
||||
SW.Send(ent->Item());
|
||||
|
||||
// Own field: fill_area_target
|
||||
SW.Send(ent->FillStyleTarget());
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Share
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void RWStepVisual_RWAnnotationFillAreaOccurrence::Share(const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent, Interface_EntityIterator& iter) const
|
||||
{
|
||||
Standard_Integer nbElem1 = ent->NbStyles();
|
||||
for (Standard_Integer i = 1; i <= nbElem1; i++) {
|
||||
iter.GetOneItem(ent->StylesValue(i));
|
||||
}
|
||||
iter.GetOneItem(ent->Item());
|
||||
iter.GetOneItem(ent->FillStyleTarget());
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
// Created on: 2016-12-28
|
||||
// Created by: Irina KRYLOVA
|
||||
// Copyright (c) 2016 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_RWAnnotationFillAreaOccurrence_HeaderFile
|
||||
#define _RWStepVisual_RWAnnotationFillAreaOccurrence_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
class StepData_StepReaderData;
|
||||
class Interface_Check;
|
||||
class StepVisual_AnnotationFillAreaOccurrence;
|
||||
class StepData_StepWriter;
|
||||
class Interface_EntityIterator;
|
||||
|
||||
//! Read & Write Module for AnnotationFillAreaOccurrence
|
||||
class RWStepVisual_RWAnnotationFillAreaOccurrence
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
Standard_EXPORT RWStepVisual_RWAnnotationFillAreaOccurrence();
|
||||
|
||||
Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const;
|
||||
|
||||
Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const;
|
||||
|
||||
Standard_EXPORT void Share (const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent, Interface_EntityIterator& iter) const;
|
||||
};
|
||||
#endif // _RWStepVisual_RWAnnotationFillAreaOccurrence_HeaderFile
|
Reference in New Issue
Block a user