1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0026689: Necessary to improve STEPCAFControl_Reader to read GD&T data from STEP model(AP242).

Small corrections
added tests, corrected remarks
corrected remarks
Fix compilation errors.
Update test case (direction can be exist only for Oriented dimension).
fix compilation warning
This commit is contained in:
ink
2015-09-15 14:58:17 +03:00
committed by bugmaster
parent 82f443b628
commit 1c9d32256d
43 changed files with 4211 additions and 456 deletions

View File

@@ -38,6 +38,8 @@ RWStepRepr_RWDescriptiveRepresentationItem.cxx
RWStepRepr_RWDescriptiveRepresentationItem.hxx
RWStepRepr_RWExtension.cxx
RWStepRepr_RWExtension.hxx
RWStepRepr_RWFeatureForDatumTargetRelationship.cxx
RWStepRepr_RWFeatureForDatumTargetRelationship.hxx
RWStepRepr_RWFunctionallyDefinedTransformation.cxx
RWStepRepr_RWFunctionallyDefinedTransformation.hxx
RWStepRepr_RWGeometricAlignment.cxx

View File

@@ -0,0 +1,112 @@
// Created on: 2000-04-18
// Created by: Andrey BETENEV
// Copyright (c) 2000-2014 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.
// Generator: ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.0
#include <Interface_Check.hxx>
#include <Interface_EntityIterator.hxx>
#include <RWStepRepr_RWFeatureForDatumTargetRelationship.hxx>
#include <StepData_StepReaderData.hxx>
#include <StepData_StepWriter.hxx>
#include <StepRepr_ShapeAspect.hxx>
#include <StepRepr_FeatureForDatumTargetRelationship.hxx>
//=======================================================================
//function : RWStepRepr_RWFeatureForDatumTargetRelationship
//purpose :
//=======================================================================
RWStepRepr_RWFeatureForDatumTargetRelationship::RWStepRepr_RWFeatureForDatumTargetRelationship ()
{
}
//=======================================================================
//function : ReadStep
//purpose :
//=======================================================================
void RWStepRepr_RWFeatureForDatumTargetRelationship::ReadStep (const Handle(StepData_StepReaderData)& data,
const Standard_Integer num,
Handle(Interface_Check)& ach,
const Handle(StepRepr_FeatureForDatumTargetRelationship) &ent) const
{
// Check number of parameters
if ( ! data->CheckNbParams(num,4,ach,"feature_for_datum_target-relationship") ) return;
// Own fields of ShapeAspectRelationship
Handle(TCollection_HAsciiString) aName;
data->ReadString (num, 1, "name", ach, aName);
Handle(TCollection_HAsciiString) aDescription;
Standard_Boolean hasDescription = Standard_True;
if ( data->IsParamDefined (num,2) ) {
data->ReadString (num, 2, "description", ach, aDescription);
}
else {
hasDescription = Standard_False;
}
Handle(StepRepr_ShapeAspect) aRelatingShapeAspect;
data->ReadEntity (num, 3, "relating_shape_aspect", ach, STANDARD_TYPE(StepRepr_ShapeAspect), aRelatingShapeAspect);
Handle(StepRepr_ShapeAspect) aRelatedShapeAspect;
data->ReadEntity (num, 4, "related_shape_aspect", ach, STANDARD_TYPE(StepRepr_ShapeAspect), aRelatedShapeAspect);
// Initialize entity
ent->Init(aName,
hasDescription,
aDescription,
aRelatingShapeAspect,
aRelatedShapeAspect);
}
//=======================================================================
//function : WriteStep
//purpose :
//=======================================================================
void RWStepRepr_RWFeatureForDatumTargetRelationship::WriteStep (StepData_StepWriter& SW,
const Handle(StepRepr_FeatureForDatumTargetRelationship) &ent) const
{
// Own fields of ShapeAspectRelationship
SW.Send (ent->Name());
if ( ent->HasDescription() ) {
SW.Send (ent->Description());
}
else SW.SendUndef();
SW.Send (ent->RelatingShapeAspect());
SW.Send (ent->RelatedShapeAspect());
}
//=======================================================================
//function : Share
//purpose :
//=======================================================================
void RWStepRepr_RWFeatureForDatumTargetRelationship::Share (const Handle(StepRepr_FeatureForDatumTargetRelationship) &ent,
Interface_EntityIterator& iter) const
{
// Own fields of ShapeAspectRelationship
iter.AddItem (ent->RelatingShapeAspect());
iter.AddItem (ent->RelatedShapeAspect());
}

View File

@@ -0,0 +1,74 @@
// Created on: 2000-04-18
// Created by: Andrey BETENEV
// Copyright (c) 2000-2014 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 _RWStepRepr_RWFeatureForDatumTargetRelationship_HeaderFile
#define _RWStepRepr_RWFeatureForDatumTargetRelationship_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Integer.hxx>
class StepData_StepReaderData;
class Interface_Check;
class StepRepr_FeatureForDatumTargetRelationship;
class StepData_StepWriter;
class Interface_EntityIterator;
//! Read & Write tool for FeatureForDatumTargetRelationship
class RWStepRepr_RWFeatureForDatumTargetRelationship
{
public:
DEFINE_STANDARD_ALLOC
//! Empty constructor
Standard_EXPORT RWStepRepr_RWFeatureForDatumTargetRelationship();
//! Reads ShapeAspectRelationship
Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepRepr_FeatureForDatumTargetRelationship)& ent) const;
//! Writes ShapeAspectRelationship
Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepRepr_FeatureForDatumTargetRelationship)& ent) const;
//! Fills data for graph (shared items)
Standard_EXPORT void Share (const Handle(StepRepr_FeatureForDatumTargetRelationship)& ent, Interface_EntityIterator& iter) const;
protected:
private:
};
#endif // _RWStepRepr_RWFeatureForDatumTargetRelationship_HeaderFile