mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-08 14:17:06 +03:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
11fb8e63f6 | ||
|
b63fe6e31f |
@@ -475,7 +475,7 @@ Modify this parameter with:
|
||||
if(!Interface_Static::SetIVal("read.step.tessellated",1))
|
||||
.. error ..
|
||||
~~~~
|
||||
Default value is 1 (On).
|
||||
Default value is 0 (On).
|
||||
|
||||
@subsubsection occt_step_2_3_4 Performing the STEP file translation
|
||||
|
||||
|
@@ -636,12 +636,22 @@ void AIS_ColoredShape::addShapesWithCustomProps (const Handle(Prs3d_Presentation
|
||||
{
|
||||
if (Handle(Graphic3d_ArrayOfSegments) aBndSegments = StdPrs_ShadedShape::FillFaceBoundaries (aShapeDraw, aDrawer->FaceBoundaryUpperContinuity()))
|
||||
{
|
||||
if (anEdgesGroup.IsNull())
|
||||
Handle(Graphic3d_AspectLine3d) aLineAspect = Handle(Graphic3d_AspectLine3d)(aDrawer->FaceBoundaryAspect()->Aspect());
|
||||
if (aDrawer->FaceBoundaryShadingOverride())
|
||||
{
|
||||
Quantity_Color aColor = aDrawer->Color();
|
||||
if (aDrawer->HasOwnShadingAspect())
|
||||
{
|
||||
aColor = aDrawer->ShadingAspect()->Color();
|
||||
}
|
||||
aLineAspect->SetColor (aColor);
|
||||
anEdgesGroup = thePrs->NewGroup();
|
||||
}
|
||||
else if (anEdgesGroup.IsNull())
|
||||
{
|
||||
anEdgesGroup = thePrs->NewGroup();
|
||||
}
|
||||
|
||||
anEdgesGroup->SetPrimitivesAspect (aDrawer->FaceBoundaryAspect()->Aspect());
|
||||
anEdgesGroup->SetGroupPrimitivesAspect (aLineAspect);
|
||||
anEdgesGroup->AddPrimitiveArray (aBndSegments);
|
||||
}
|
||||
}
|
||||
|
@@ -103,7 +103,7 @@ static Standard_Boolean ChangePCurve (TopoDS_Edge& E,
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
static bool ProjCurve3d (TopoDS_Edge& E,
|
||||
static void ProjCurve3d (TopoDS_Edge& E,
|
||||
const Handle(Geom_Surface)& S,
|
||||
TopLoc_Location& L)
|
||||
{
|
||||
@@ -111,10 +111,6 @@ static bool ProjCurve3d (TopoDS_Edge& E,
|
||||
TopLoc_Location LE;
|
||||
Standard_Real f,l;
|
||||
Handle(Geom_Curve) C = BRep_Tool::Curve(E,LE,f,l);
|
||||
if (C.IsNull())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Handle(Geom_TrimmedCurve) CT = new Geom_TrimmedCurve(C,f,l);
|
||||
|
||||
TopLoc_Location LL = L.Inverted().Multiplied(LE);
|
||||
@@ -122,7 +118,6 @@ static bool ProjCurve3d (TopoDS_Edge& E,
|
||||
|
||||
Handle(Geom2d_Curve) C2 = GeomProjLib::Curve2d (CT,S);
|
||||
BB.UpdateEdge(E,C2,S,L,Precision::Confusion());
|
||||
return true;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -170,19 +165,13 @@ void BRepAlgo_FaceRestrictor::Perform()
|
||||
// no pcurve on the reference surface.
|
||||
if (modeProj) {
|
||||
// Projection of the 3D curve on surface.
|
||||
if (!ProjCurve3d(E, S, L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
ProjCurve3d ( E, S, L);
|
||||
}
|
||||
else {
|
||||
// return the first pcurve glued on <S>
|
||||
Standard_Boolean YaPCurve = ChangePCurve (E, S, L);
|
||||
if (!YaPCurve) {
|
||||
if (!ProjCurve3d(E, S, L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
ProjCurve3d (E, S, L);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -333,7 +333,7 @@ void BRepAlgo_NormalProjection::SetDefaultParams()
|
||||
Only2d = Standard_True;
|
||||
|
||||
if(Only2d && Only3d) {
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(*hcur),
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(hcur->Curve()),
|
||||
Udeb, Ufin);
|
||||
prj = MKed.Edge();
|
||||
BB.UpdateEdge(TopoDS::Edge(prj),
|
||||
@@ -369,7 +369,7 @@ void BRepAlgo_NormalProjection::SetDefaultParams()
|
||||
|
||||
if(!Only3d) PCur2d = appr.Curve2d();
|
||||
if(Only2d) {
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(*hcur),
|
||||
BRepLib_MakeEdge MKed(GeomAdaptor::MakeCurve(hcur->Curve()),
|
||||
Udeb, Ufin);
|
||||
prj = MKed.Edge();
|
||||
}
|
||||
|
@@ -1292,10 +1292,11 @@ void BRepOffset_Inter3d::ContextIntByArc(const TopTools_IndexedMapOfShape& Conte
|
||||
for ( ;exp2.More(); exp2.Next()) {
|
||||
LOE.Append(exp2.Current());
|
||||
}
|
||||
BRepOffset_Tool::TryProject(CF,OF1,LOE,LInt1,LInt2,mySide,myTol);
|
||||
//-------------------------------------------------------
|
||||
// If no trace try intersection.
|
||||
//-------------------------------------------------------
|
||||
if (!BRepOffset_Tool::TryProject(CF, OF1, LOE, LInt1, LInt2, mySide, myTol) || LInt1.IsEmpty()) {
|
||||
if (LInt1.IsEmpty()) {
|
||||
BRepOffset_Tool::Inter3D (CF,OF1,LInt1,LInt2,mySide,NullEdge,NullFace,NullFace);
|
||||
}
|
||||
Store (CF,OF1,LInt1,LInt2);
|
||||
|
@@ -1175,16 +1175,12 @@ void BRepOffset_MakeOffset::MakeThickSolid(const Message_ProgressRange& theRange
|
||||
{
|
||||
NbOF++;
|
||||
}
|
||||
if (NbOF < NbF)
|
||||
if (NbOF <= NbF)
|
||||
{
|
||||
myDone = Standard_False;
|
||||
myError = BRepOffset_UnknownError;
|
||||
return;
|
||||
}
|
||||
if (NbOF == NbF)
|
||||
{
|
||||
myOffset = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (myOffset > 0 ) myOffsetShape.Reverse();
|
||||
|
@@ -1881,10 +1881,6 @@ Standard_Boolean BRepOffset_Tool::TryProject
|
||||
if (C.IsNull()) {
|
||||
BRepLib::BuildCurve3d(CurE,BRep_Tool::Tolerance(CurE));
|
||||
C = BRep_Tool::Curve(CurE,L,f,l);
|
||||
if (C.IsNull())
|
||||
{
|
||||
return Standard_False;
|
||||
}
|
||||
}
|
||||
C = new Geom_TrimmedCurve(C,f,l);
|
||||
if ( !L.IsIdentity()) C->Transform(L);
|
||||
@@ -3523,8 +3519,9 @@ void BRepOffset_Tool::ExtentFace (const TopoDS_Face& F,
|
||||
if (ToBuild.IsBound(E)) {
|
||||
TopTools_ListOfShape LOE;
|
||||
LOE.Append(E);
|
||||
if (BRepOffset_Tool::TryProject(TopoDS::Face(ToBuild(E)), EF, LOE, LInt2, LInt1, Side, TolConf)
|
||||
&& !LInt1.IsEmpty())
|
||||
BRepOffset_Tool::TryProject (TopoDS::Face(ToBuild(E)),
|
||||
EF,LOE,LInt2,LInt1,Side,TolConf);
|
||||
if (!LInt1.IsEmpty())
|
||||
ToBuild.UnBind(E);
|
||||
}
|
||||
}
|
||||
|
@@ -54,11 +54,16 @@ public:
|
||||
//! @param theMaxVertexs defines the maximum allowed vertex number in the array
|
||||
//! @param theMaxEdges defines the maximum allowed edge number in the array
|
||||
//! @param theHasVColors when TRUE, AddVertex(Point,Color) should be used for specifying vertex color
|
||||
//! @param theHasVNormals when TRUE, AddVertex(Point,Normal) or AddVertex(Point,Normal,Color) should be used to specify vertex normal;
|
||||
//! vertex normals should be specified coherent to the edge's neighbour triangle face's orientation
|
||||
//! (defined by order of vertexes within triangle) for proper rendering
|
||||
Graphic3d_ArrayOfSegments (Standard_Integer theMaxVertexs,
|
||||
Standard_Integer theMaxEdges = 0,
|
||||
Standard_Boolean theHasVColors = Standard_False)
|
||||
: Graphic3d_ArrayOfPrimitives (Graphic3d_TOPA_SEGMENTS, theMaxVertexs, 0, theMaxEdges, theHasVColors ? Graphic3d_ArrayFlags_VertexColor : Graphic3d_ArrayFlags_None) {}
|
||||
|
||||
Standard_Integer theMaxEdges = 0,
|
||||
Standard_Boolean theHasVColors = Standard_False,
|
||||
Standard_Boolean theHasVNormals = Standard_False)
|
||||
: Graphic3d_ArrayOfPrimitives (Graphic3d_TOPA_SEGMENTS, theMaxVertexs, 0, theMaxEdges,
|
||||
(theHasVNormals ? Graphic3d_ArrayFlags_VertexNormal : Graphic3d_ArrayFlags_None)
|
||||
| (theHasVColors ? Graphic3d_ArrayFlags_VertexColor : Graphic3d_ArrayFlags_None)) {}
|
||||
|
||||
};
|
||||
|
||||
|
@@ -772,6 +772,17 @@ public:
|
||||
myFaceBoundaryDraw = false;
|
||||
}
|
||||
|
||||
//! Return flag value for boundary shading edge color override
|
||||
Standard_Boolean FaceBoundaryShadingOverride() const
|
||||
{
|
||||
return myHasOwnFaceBoundaryDraw || myLink.IsNull()
|
||||
? myFaceBoundaryShadingOverride
|
||||
: myLink->FaceBoundaryShadingOverride();
|
||||
}
|
||||
|
||||
//! Return flag value for boundary shading edge color override
|
||||
void SetFaceBoundaryShadingOverride (Standard_Boolean theFlag) { myFaceBoundaryShadingOverride = theFlag; }
|
||||
|
||||
//! Returns true if the drawer has its own attribute for face boundaries upper edge continuity class that overrides the one in the link.
|
||||
Standard_Boolean HasOwnFaceBoundaryUpperContinuity() const { return myFaceBoundaryUpperContinuity != -1; }
|
||||
|
||||
@@ -1008,6 +1019,7 @@ protected:
|
||||
Standard_Integer myFaceBoundaryUpperContinuity; //!< the most edge continuity class (GeomAbs_Shape) to be included to face boundaries presentation, or -1 if undefined
|
||||
Standard_Boolean myFaceBoundaryDraw;
|
||||
Standard_Boolean myHasOwnFaceBoundaryDraw;
|
||||
Standard_Boolean myFaceBoundaryShadingOverride;
|
||||
|
||||
Handle(Prs3d_DimensionAspect) myDimensionAspect;
|
||||
Prs3d_DimensionUnits myDimensionModelUnits;
|
||||
|
@@ -327,7 +327,6 @@
|
||||
#include <RWStepRepr_RWMaterialDesignation.hxx>
|
||||
#include <RWStepRepr_RWMaterialProperty.hxx>
|
||||
#include <RWStepRepr_RWMaterialPropertyRepresentation.hxx>
|
||||
#include <RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.hxx>
|
||||
#include <RWStepRepr_RWMeasureRepresentationItem.hxx>
|
||||
#include <RWStepRepr_RWProductConcept.hxx>
|
||||
#include <RWStepRepr_RWProductDefinitionShape.hxx>
|
||||
@@ -790,7 +789,6 @@
|
||||
#include <StepRepr_ConfigurationEffectivity.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentation.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentationRelationship.hxx>
|
||||
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
|
||||
#include <StepRepr_DataEnvironment.hxx>
|
||||
#include <StepRepr_DescriptiveRepresentationItem.hxx>
|
||||
#include <StepRepr_Extension.hxx>
|
||||
@@ -5898,13 +5896,6 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN,
|
||||
aTool.Share(anEnt, iter);
|
||||
}
|
||||
break;
|
||||
case 824:
|
||||
{
|
||||
DeclareAndCast(StepRepr_MechanicalDesignAndDraughtingRelationship, anEnt, ent);
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship aTool;
|
||||
aTool.Share(anEnt, iter);
|
||||
}
|
||||
break;
|
||||
default : break;
|
||||
}
|
||||
}
|
||||
@@ -8226,9 +8217,6 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid
|
||||
case 823:
|
||||
ent = new StepRepr_RealRepresentationItem;
|
||||
break;
|
||||
case 824:
|
||||
ent = new StepRepr_MechanicalDesignAndDraughtingRelationship;
|
||||
break;
|
||||
|
||||
default:
|
||||
return Standard_False;
|
||||
|
@@ -641,7 +641,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
|
||||
#include <RWStepShape_RWManifoldSurfaceShapeRepresentation.hxx>
|
||||
#include <RWStepRepr_RWMappedItem.hxx>
|
||||
#include <RWStepBasic_RWMeasureWithUnit.hxx>
|
||||
#include <RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.hxx>
|
||||
#include <RWStepVisual_RWMechanicalDesignGeometricPresentationArea.hxx>
|
||||
#include <RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation.hxx>
|
||||
// Removed from Rev2 to Rev4 : <RWStepVisual_RWMechanicalDesignPresentationArea.hxx>
|
||||
@@ -1432,7 +1431,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
|
||||
#include <StepRepr_CharacterizedRepresentation.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentation.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentationRelationship.hxx>
|
||||
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
|
||||
|
||||
#include <RWStepVisual_RWTessellatedAnnotationOccurrence.hxx>
|
||||
#include <RWStepVisual_RWTessellatedItem.hxx>
|
||||
@@ -2366,7 +2364,6 @@ static TCollection_AsciiString Reco_GeneralPropertyAssociation("GENERAL_PROPERTY
|
||||
static TCollection_AsciiString Reco_GeneralPropertyRelationship("GENERAL_PROPERTY_RELATIONSHIP");
|
||||
static TCollection_AsciiString Reco_BooleanRepresentationItem("BOOLEAN_REPRESENTATION_ITEM");
|
||||
static TCollection_AsciiString Reco_RealRepresentationItem("REAL_REPRESENTATION_ITEM");
|
||||
static TCollection_AsciiString Reco_MechanicalDesignAndDraughtingRelationship("MECHANICAL_DESIGN_AND_DRAUGHTING_RELATIONSHIP");
|
||||
|
||||
// -- Definition of the libraries --
|
||||
|
||||
@@ -3128,7 +3125,6 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule ()
|
||||
typenums.Bind(Reco_GeneralPropertyRelationship, 821);
|
||||
typenums.Bind(Reco_BooleanRepresentationItem, 822);
|
||||
typenums.Bind(Reco_RealRepresentationItem, 823);
|
||||
typenums.Bind(Reco_MechanicalDesignAndDraughtingRelationship, 824);
|
||||
|
||||
|
||||
// SHORT NAMES
|
||||
@@ -5121,7 +5117,6 @@ const TCollection_AsciiString& RWStepAP214_ReadWriteModule::StepType
|
||||
case 821: return Reco_GeneralPropertyRelationship;
|
||||
case 822: return Reco_BooleanRepresentationItem;
|
||||
case 823: return Reco_RealRepresentationItem;
|
||||
case 824: return Reco_MechanicalDesignAndDraughtingRelationship;
|
||||
default : return PasReco;
|
||||
}
|
||||
}
|
||||
@@ -10759,13 +10754,6 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
|
||||
aTool.ReadStep(data, num, ach, anent);
|
||||
}
|
||||
break;
|
||||
case 824:
|
||||
{
|
||||
DeclareAndCast(StepRepr_MechanicalDesignAndDraughtingRelationship, anent, ent);
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship aTool;
|
||||
aTool.ReadStep(data, num, ach, anent);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ach->AddFail("Type Mismatch when reading - Entity");
|
||||
}
|
||||
@@ -16345,13 +16333,6 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
|
||||
aTool.WriteStep(SW, anent);
|
||||
}
|
||||
break;
|
||||
case 824:
|
||||
{
|
||||
DeclareAndCast(StepRepr_MechanicalDesignAndDraughtingRelationship, anent, ent);
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship aTool;
|
||||
aTool.WriteStep(SW, anent);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _RWStepBasic_RWGeneralPropertyRelationship_HeaderFile
|
||||
#define _RWStepBasic_RWGeneralPropertyRelationship_HeaderFile
|
||||
#define _RWStepBasic_RWGeneralPropertyAssociation_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
|
@@ -72,8 +72,6 @@ RWStepRepr_RWMaterialPropertyRepresentation.cxx
|
||||
RWStepRepr_RWMaterialPropertyRepresentation.hxx
|
||||
RWStepRepr_RWMeasureRepresentationItem.cxx
|
||||
RWStepRepr_RWMeasureRepresentationItem.hxx
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.cxx
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.hxx
|
||||
RWStepRepr_RWParallelOffset.cxx
|
||||
RWStepRepr_RWParallelOffset.hxx
|
||||
RWStepRepr_RWParametricRepresentationContext.cxx
|
||||
|
@@ -1,78 +0,0 @@
|
||||
// Copyright (c) 2024 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 <Interface_EntityIterator.hxx>
|
||||
#include <RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.hxx>
|
||||
#include <StepData_StepReaderData.hxx>
|
||||
#include <StepData_StepWriter.hxx>
|
||||
#include <StepRepr_Representation.hxx>
|
||||
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
|
||||
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship::
|
||||
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship() {}
|
||||
|
||||
void RWStepRepr_RWMechanicalDesignAndDraughtingRelationship::ReadStep
|
||||
(const Handle(StepData_StepReaderData)& theData,
|
||||
const Standard_Integer theNum,
|
||||
Handle(Interface_Check)& theAch,
|
||||
const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theEnt) const
|
||||
{
|
||||
// Number of Parameter Control
|
||||
if (!theData->CheckNbParams(theNum, 4, theAch, "mechanical_design_and_draughting_relationship")) return;
|
||||
|
||||
// Inherited field : name
|
||||
Handle(TCollection_HAsciiString) aName;
|
||||
theData->ReadString (theNum, 1, "name", theAch, aName);
|
||||
|
||||
// Inherited field : description
|
||||
Handle(TCollection_HAsciiString) aDescription;
|
||||
if (theData->IsParamDefined (theNum, 2)) {
|
||||
theData->ReadString (theNum, 2, "description", theAch, aDescription);
|
||||
}
|
||||
// Inherited field : rep_1
|
||||
Handle(StepRepr_Representation) aRep1;
|
||||
theData->ReadEntity(theNum, 3, "rep_1", theAch, STANDARD_TYPE(StepRepr_Representation), aRep1);
|
||||
|
||||
// Inherited field : rep_2
|
||||
Handle(StepRepr_Representation) aRep2;
|
||||
theData->ReadEntity(theNum, 4, "rep_2", theAch, STANDARD_TYPE(StepRepr_Representation), aRep2);
|
||||
|
||||
// Initialisation of the read entity
|
||||
theEnt->Init(aName, aDescription, aRep1, aRep2);
|
||||
}
|
||||
|
||||
void RWStepRepr_RWMechanicalDesignAndDraughtingRelationship::WriteStep
|
||||
(StepData_StepWriter& theSW,
|
||||
const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theEnt) const
|
||||
{
|
||||
// Inherited field : name
|
||||
theSW.Send(theEnt->Name());
|
||||
|
||||
// Inherited field : description
|
||||
theSW.Send(theEnt->Description());
|
||||
|
||||
// Inherited field : rep_1
|
||||
theSW.Send(theEnt->Rep1());
|
||||
|
||||
// Inherited field : rep_2
|
||||
theSW.Send(theEnt->Rep2());
|
||||
}
|
||||
|
||||
void RWStepRepr_RWMechanicalDesignAndDraughtingRelationship::Share
|
||||
(const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theEnt,
|
||||
Interface_EntityIterator& theIter) const
|
||||
{
|
||||
theIter.GetOneItem(theEnt->Rep1());
|
||||
theIter.GetOneItem(theEnt->Rep2());
|
||||
}
|
@@ -1,50 +0,0 @@
|
||||
// Copyright (c) 2024 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_RWMechanicalDesignAndDraughtingRelationship_HeaderFile
|
||||
#define _RWStepRepr_RWMechanicalDesignAndDraughtingRelationship_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
class StepData_StepReaderData;
|
||||
class Interface_Check;
|
||||
class StepRepr_MechanicalDesignAndDraughtingRelationship;
|
||||
class StepData_StepWriter;
|
||||
class Interface_EntityIterator;
|
||||
|
||||
|
||||
//! Read & Write Module for MechanicalDesignAndDraughtingRelationship
|
||||
class RWStepRepr_RWMechanicalDesignAndDraughtingRelationship
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
Standard_EXPORT RWStepRepr_RWMechanicalDesignAndDraughtingRelationship();
|
||||
|
||||
Standard_EXPORT void ReadStep(const Handle(StepData_StepReaderData)& theData,
|
||||
const Standard_Integer theNum,
|
||||
Handle(Interface_Check)& theAch,
|
||||
const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theEnt) const;
|
||||
|
||||
Standard_EXPORT void WriteStep(StepData_StepWriter& theSW,
|
||||
const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theEnt) const;
|
||||
|
||||
Standard_EXPORT void Share(const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theEnt,
|
||||
Interface_EntityIterator& theIter) const;
|
||||
|
||||
};
|
||||
#endif // _RWStepRepr_RWMechanicalDesignAndDraughtingRelationship_HeaderFile
|
@@ -374,7 +374,7 @@ TCollection_AsciiString STEPCAFControl_ConfigurationNode::Save() const
|
||||
|
||||
aResult += "!\n";
|
||||
aResult += "!Setting up the read.metadata parameter which is used to indicate read Metadata or not\n";
|
||||
aResult += "!Default value: 1(\"ON\"). Available values: 0(\"OFF\"), 1(\"ON\")\n";
|
||||
aResult += "!Default value: 0(\"OFF\"). Available values: 0(\"OFF\"), 1(\"ON\")\n";
|
||||
aResult += aScope + "read.metadata :\t " + InternalParameters.ReadMetadata + "\n";
|
||||
aResult += "!\n";
|
||||
|
||||
|
@@ -291,7 +291,7 @@ STEPCAFControl_Reader::STEPCAFControl_Reader()
|
||||
myNameMode(Standard_True),
|
||||
myLayerMode(Standard_True),
|
||||
myPropsMode(Standard_True),
|
||||
myMetaMode(Standard_True),
|
||||
myMetaMode(Standard_False),
|
||||
mySHUOMode(Standard_False),
|
||||
myGDTMode(Standard_True),
|
||||
myMatMode(Standard_True),
|
||||
@@ -316,7 +316,7 @@ STEPCAFControl_Reader::STEPCAFControl_Reader(const Handle(XSControl_WorkSession)
|
||||
myNameMode(Standard_True),
|
||||
myLayerMode(Standard_True),
|
||||
myPropsMode(Standard_True),
|
||||
myMetaMode(Standard_True),
|
||||
myMetaMode(Standard_False),
|
||||
mySHUOMode(Standard_False),
|
||||
myGDTMode(Standard_True),
|
||||
myMatMode(Standard_True),
|
||||
@@ -2018,7 +2018,7 @@ Handle(Poly_Triangulation) createMesh(const Handle(StepVisual_ComplexTriangulate
|
||||
const Standard_Integer aNbNormals = theTriangulatedSufaceSet->NbNormals();
|
||||
// Number of pairs (Point, Normal). It is possible for one point to have multiple normals. This is
|
||||
// useful when the underlying surface is not C1 continuous.
|
||||
const Standard_Integer aNbPairs = aNbNormals > 1 ? theTriangulatedSufaceSet->Pnmax() : aNodes->Length();
|
||||
const Standard_Integer aNbPairs = aNbNormals > 1 ? theTriangulatedSufaceSet->NbPnindex() : aNodes->Length();
|
||||
const Standard_Boolean aHasNormals = aNbNormals > 0;
|
||||
|
||||
// Counting number of triangles in the triangle strips list.
|
||||
@@ -2043,7 +2043,7 @@ Handle(Poly_Triangulation) createMesh(const Handle(StepVisual_ComplexTriangulate
|
||||
|
||||
for (Standard_Integer j = 1; j <= aNbPairs; ++j)
|
||||
{
|
||||
const gp_XYZ& aPoint = aNodes->Value((aNbNormals > 1 && theTriangulatedSufaceSet->NbPnindex() > 0) ? theTriangulatedSufaceSet->PnindexValue(j) : j);
|
||||
const gp_XYZ& aPoint = aNodes->Value(aNbNormals > 1 ? theTriangulatedSufaceSet->PnindexValue(j) : j);
|
||||
aMesh->SetNode(j, theFact * aPoint);
|
||||
}
|
||||
|
||||
|
@@ -983,7 +983,7 @@ static Standard_Integer FindEntities(const Handle(Transfer_FinderProcess)& theFP
|
||||
//Handle(Transfer_TransientListBinder)::DownCast( bnd->Next(Standard_True) );
|
||||
Handle(Transfer_TransientListBinder)::DownCast(aBinder);
|
||||
Standard_Integer aResCount = 0;
|
||||
if (aTransientListBinder.IsNull())
|
||||
if (aTransientListBinder.IsNull() && theShape.ShapeType() == TopAbs_COMPOUND)
|
||||
{
|
||||
for (TopoDS_Iterator anIter(theShape); anIter.More(); anIter.Next())
|
||||
{
|
||||
|
@@ -122,7 +122,6 @@
|
||||
#include <XSAlgo_AlgoContainer.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentationRelationship.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentation.hxx>
|
||||
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(STEPControl_ActorRead,Transfer_ActorOfTransientProcess)
|
||||
@@ -1225,72 +1224,6 @@ Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity(
|
||||
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : TransferEntity
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity(
|
||||
const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theMDADR,
|
||||
const Handle(Transfer_TransientProcess)& theTP,
|
||||
const StepData_Factors& theLocalFactors,
|
||||
const Message_ProgressRange& theProgress)
|
||||
{
|
||||
Handle(TransferBRep_ShapeBinder) aShBinder;
|
||||
if (theMDADR.IsNull())
|
||||
return aShBinder;
|
||||
|
||||
Standard_Boolean aResetUnits = Standard_False;
|
||||
Handle(StepRepr_Representation) anOldSRContext = mySRContext;
|
||||
StepData_Factors aLocalFactors = theLocalFactors;
|
||||
TopoDS_Compound aComp;
|
||||
BRep_Builder aBuilder;
|
||||
aBuilder.MakeCompound(aComp);
|
||||
|
||||
Message_ProgressScope aPS(theProgress, NULL, 2);
|
||||
for (Standard_Integer anIndex = 1; anIndex <= 2; anIndex++)
|
||||
{
|
||||
Message_ProgressRange aRange = aPS.Next();
|
||||
Handle(StepRepr_Representation) aRepr = (anIndex == 1) ? theMDADR->Rep1() : theMDADR->Rep2();
|
||||
if (aRepr.IsNull())
|
||||
continue;
|
||||
if (mySRContext.IsNull() || aRepr->ContextOfItems() != mySRContext->ContextOfItems())
|
||||
{
|
||||
PrepareUnits(aRepr, theTP, aLocalFactors);
|
||||
aResetUnits = Standard_True;
|
||||
}
|
||||
Handle(Transfer_Binder) aBinder;
|
||||
if (aRepr->IsKind(STANDARD_TYPE(StepShape_ShapeRepresentation)))
|
||||
{
|
||||
Handle(StepShape_ShapeRepresentation) aShapeRepr = Handle(StepShape_ShapeRepresentation)::DownCast(aRepr);
|
||||
Standard_Boolean isBound = Standard_False;
|
||||
if (!theTP->IsBound(aShapeRepr))
|
||||
{
|
||||
aBinder = TransferEntity(aShapeRepr, theTP, theLocalFactors, isBound, false, aRange);
|
||||
}
|
||||
else
|
||||
{
|
||||
aBinder = theTP->Find(aShapeRepr);
|
||||
}
|
||||
}
|
||||
TopoDS_Shape aResult = TransferBRep::ShapeResult(aBinder);
|
||||
if (!aResult.IsNull())
|
||||
{
|
||||
aBuilder.Add(aComp, aResult);
|
||||
}
|
||||
}
|
||||
|
||||
aShBinder = new TransferBRep_ShapeBinder(aComp);
|
||||
mySRContext = anOldSRContext;
|
||||
if (anOldSRContext.IsNull() || aResetUnits)
|
||||
{
|
||||
PrepareUnits(anOldSRContext, theTP, aLocalFactors);
|
||||
}
|
||||
|
||||
theTP->Bind(theMDADR, aShBinder);
|
||||
|
||||
return aShBinder;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : IsNeedRepresentation
|
||||
//purpose :
|
||||
@@ -2189,12 +2122,6 @@ TopoDS_Shape STEPControl_ActorRead::TransferRelatedSRR(const Handle(Transfer_Tra
|
||||
Standard_Integer aNbRep = (theRep == aSRR->Rep1() ? 2 : 1);
|
||||
aBinder = TransferEntity(aSRR, theTP, theLocalFactors, aNbRep, theUseTrsf, thePS.Next());
|
||||
}
|
||||
else if (anItem->DynamicType() == STANDARD_TYPE(StepRepr_MechanicalDesignAndDraughtingRelationship))
|
||||
{
|
||||
Handle(StepRepr_MechanicalDesignAndDraughtingRelationship) aMDADR =
|
||||
Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)::DownCast(anItem);
|
||||
aBinder = TransferEntity(aMDADR, theTP, theLocalFactors, thePS.Next());
|
||||
}
|
||||
else if (theReadConstructiveGeomRR &&
|
||||
anItem->DynamicType() == STANDARD_TYPE(StepRepr_ConstructiveGeometryRepresentationRelationship))
|
||||
{
|
||||
|
@@ -48,7 +48,6 @@ class StepShape_FaceSurface;
|
||||
class TopoDS_Shell;
|
||||
class TopoDS_Compound;
|
||||
class StepRepr_ConstructiveGeometryRepresentationRelationship;
|
||||
class StepRepr_MechanicalDesignAndDraughtingRelationship;
|
||||
class StepData_StepModel;
|
||||
|
||||
|
||||
@@ -192,12 +191,6 @@ protected:
|
||||
const Handle(Transfer_TransientProcess)& theTP,
|
||||
const StepData_Factors& theLocalFactors = StepData_Factors());
|
||||
|
||||
//! Transfers MechanicalDesignAndDraughtingRelationship entity
|
||||
Handle(TransferBRep_ShapeBinder) TransferEntity(const Handle(StepRepr_MechanicalDesignAndDraughtingRelationship)& theMDADR,
|
||||
const Handle(Transfer_TransientProcess)& theTP,
|
||||
const StepData_Factors& theLocalFactors,
|
||||
const Message_ProgressRange& theProgress);
|
||||
|
||||
//! Translates file by old way when CDSR are roots . Acts only if "read.step.product_mode" is equal Off.
|
||||
Standard_EXPORT Handle(TransferBRep_ShapeBinder) OldWay
|
||||
(const Handle(Standard_Transient)& start,
|
||||
|
@@ -14,10 +14,8 @@
|
||||
|
||||
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Assert.hxx>
|
||||
#include <Standard_CStringHasher.hxx>
|
||||
#include <Standard_Mutex.hxx>
|
||||
#include <Standard_Assert.hxx>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
@@ -25,23 +23,12 @@ IMPLEMENT_STANDARD_RTTIEXT(Standard_Type,Standard_Transient)
|
||||
|
||||
//============================================================================
|
||||
|
||||
namespace
|
||||
{
|
||||
static Standard_CString copy_string (const char* theString)
|
||||
{
|
||||
size_t aLength = strlen (theString);
|
||||
char* aResult = static_cast<char*> (Standard::Allocate (aLength + 1));
|
||||
strncpy (aResult, theString, aLength + 1); //including null-character
|
||||
return aResult;
|
||||
}
|
||||
}
|
||||
|
||||
Standard_Type::Standard_Type (const std::type_info& theInfo,
|
||||
const char* theName,
|
||||
Standard_Size theSize,
|
||||
const Handle(Standard_Type)& theParent) :
|
||||
myInfo(theInfo),
|
||||
myName(copy_string (theName)),
|
||||
myName(theName),
|
||||
mySize(theSize),
|
||||
myParent(theParent)
|
||||
{
|
||||
@@ -75,7 +62,7 @@ void Standard_Type::Print (Standard_OStream& AStream) const
|
||||
|
||||
namespace {
|
||||
// Map of string to type
|
||||
typedef std::unordered_map<Standard_CString, Standard_Type*, Standard_CStringHasher, Standard_CStringHasher> registry_type;
|
||||
typedef std::unordered_map<std::type_index, Standard_Type*> registry_type;
|
||||
|
||||
// Registry is made static in the function to ensure that it gets
|
||||
// initialized by the time of first access
|
||||
@@ -100,7 +87,7 @@ Standard_Type* Standard_Type::Register (const std::type_info& theInfo, const cha
|
||||
// return existing descriptor if already in the registry
|
||||
registry_type& aRegistry = GetRegistry();
|
||||
Standard_Type* aType = 0;
|
||||
auto anIter = aRegistry.find(theName);
|
||||
auto anIter = aRegistry.find(theInfo);
|
||||
if (anIter != aRegistry.end())
|
||||
return anIter->second;
|
||||
|
||||
@@ -108,7 +95,7 @@ Standard_Type* Standard_Type::Register (const std::type_info& theInfo, const cha
|
||||
aType = new Standard_Type (theInfo, theName, theSize, theParent);
|
||||
|
||||
// then add it to registry and return (the reference to the handle stored in the registry)
|
||||
aRegistry.emplace(theName, aType);
|
||||
aRegistry.emplace(theInfo, aType);
|
||||
return aType;
|
||||
}
|
||||
|
||||
@@ -116,6 +103,5 @@ Standard_Type::~Standard_Type ()
|
||||
{
|
||||
// remove descriptor from the registry
|
||||
registry_type& aRegistry = GetRegistry();
|
||||
Standard_ASSERT(aRegistry.erase(myName) > 0, "Standard_Type::~Standard_Type() cannot find itself in registry",);
|
||||
Standard::Free (myName);
|
||||
Standard_ASSERT(aRegistry.erase(myInfo) > 0, "Standard_Type::~Standard_Type() cannot find itself in registry",);
|
||||
}
|
||||
|
@@ -299,9 +299,7 @@ namespace
|
||||
// for computing boundaries presentation
|
||||
Standard_Integer aNodeNumber = 0;
|
||||
Standard_Integer aNbPolylines = 0;
|
||||
|
||||
TopLoc_Location aTrsf;
|
||||
|
||||
TopLoc_Location aLoc;
|
||||
Handle(NCollection_Shared<TColgp_SequenceOfPnt>) aSeqPntsExtra;
|
||||
for (TopExp_Explorer aFaceIter (theShape, TopAbs_FACE); aFaceIter.More(); aFaceIter.Next())
|
||||
{
|
||||
@@ -331,7 +329,7 @@ namespace
|
||||
|
||||
// take one of the shared edges and get edge triangulation
|
||||
const TopoDS_Face& aFace = TopoDS::Face (anEdgeIter.Value().First());
|
||||
Handle(Poly_Triangulation) aTriangulation = BRep_Tool::Triangulation (aFace, aTrsf);
|
||||
Handle(Poly_Triangulation) aTriangulation = BRep_Tool::Triangulation (aFace, aLoc);
|
||||
if (aTriangulation.IsNull())
|
||||
{
|
||||
continue;
|
||||
@@ -345,7 +343,7 @@ namespace
|
||||
continue;
|
||||
}
|
||||
|
||||
Handle(Poly_PolygonOnTriangulation) anEdgePoly = BRep_Tool::PolygonOnTriangulation (anEdge, aTriangulation, aTrsf);
|
||||
Handle(Poly_PolygonOnTriangulation) anEdgePoly = BRep_Tool::PolygonOnTriangulation (anEdge, aTriangulation, aLoc);
|
||||
if (!anEdgePoly.IsNull()
|
||||
&& anEdgePoly->Nodes().Length() >= 2)
|
||||
{
|
||||
@@ -371,7 +369,8 @@ namespace
|
||||
|
||||
// create indexed segments array to pack polylines from different edges into single array
|
||||
const Standard_Integer aSegmentEdgeNb = (aNodeNumber - aNbPolylines) * 2;
|
||||
Handle(Graphic3d_ArrayOfSegments) aSegments = new Graphic3d_ArrayOfSegments (aNodeNumber + aNbExtra, aSegmentEdgeNb + aNbExtra);
|
||||
Handle(Graphic3d_ArrayOfSegments) aSegments = new Graphic3d_ArrayOfSegments (aNodeNumber + aNbExtra, aSegmentEdgeNb + aNbExtra,
|
||||
Standard_False, Standard_True);
|
||||
for (TopTools_IndexedDataMapOfShapeListOfShape::Iterator anEdgeIter (anEdgesMap); anEdgeIter.More(); anEdgeIter.Next())
|
||||
{
|
||||
if (anEdgeIter.Value().Extent() == 0)
|
||||
@@ -379,50 +378,77 @@ namespace
|
||||
continue;
|
||||
}
|
||||
|
||||
const TopoDS_Face& aFace = TopoDS::Face (anEdgeIter.Value().First());
|
||||
Handle(Poly_Triangulation) aTriangulation = BRep_Tool::Triangulation (aFace, aTrsf);
|
||||
if (aTriangulation.IsNull())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
const TopoDS_Edge& anEdge = TopoDS::Edge (anEdgeIter.Key());
|
||||
if (theUpperContinuity < GeomAbs_CN
|
||||
&& anEdgeIter.Value().Extent() >= 2
|
||||
&& BRep_Tool::MaxContinuity (anEdge) > theUpperContinuity)
|
||||
&& anEdgeIter.Value().Extent() >= 2
|
||||
&& BRep_Tool::MaxContinuity (anEdge) > theUpperContinuity)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Handle(Poly_PolygonOnTriangulation) anEdgePoly = BRep_Tool::PolygonOnTriangulation (anEdge, aTriangulation, aTrsf);
|
||||
if (anEdgePoly.IsNull()
|
||||
|| anEdgePoly->Nodes().Length () < 2)
|
||||
Standard_Integer aFaceIndex = 0;
|
||||
const Standard_Integer aFirstNodeInFace = aSegments->VertexNumber() + 1;
|
||||
for (TopTools_ListOfShape::Iterator aFaceIter (anEdgeIter.Value()); aFaceIter.More(); aFaceIter.Next())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// get edge nodes indexes from face triangulation
|
||||
const TColStd_Array1OfInteger& anEdgeNodes = anEdgePoly->Nodes();
|
||||
|
||||
// collect the edge nodes
|
||||
Standard_Integer aSegmentEdge = aSegments->VertexNumber() + 1;
|
||||
for (Standard_Integer aNodeIdx = anEdgeNodes.Lower(); aNodeIdx <= anEdgeNodes.Upper(); ++aNodeIdx)
|
||||
{
|
||||
// node index in face triangulation
|
||||
// get node and apply location transformation to the node
|
||||
const Standard_Integer aTriIndex = anEdgeNodes.Value (aNodeIdx);
|
||||
gp_Pnt aTriNode = aTriangulation->Node (aTriIndex);
|
||||
if (!aTrsf.IsIdentity())
|
||||
const TopoDS_Face& aFace = TopoDS::Face (aFaceIter.Value());
|
||||
Handle(Poly_Triangulation) aTriangulation = BRep_Tool::Triangulation (aFace, aLoc);
|
||||
if (aTriangulation.IsNull())
|
||||
{
|
||||
aTriNode.Transform (aTrsf);
|
||||
continue;
|
||||
}
|
||||
|
||||
aSegments->AddVertex (aTriNode);
|
||||
if (aNodeIdx != anEdgeNodes.Lower())
|
||||
Standard_Boolean aHasNormals = aTriangulation->HasNormals();
|
||||
Handle(Poly_PolygonOnTriangulation) anEdgePoly = BRep_Tool::PolygonOnTriangulation (anEdge, aTriangulation, aLoc);
|
||||
if (anEdgePoly.IsNull()
|
||||
|| anEdgePoly->Nodes().Length () < 2)
|
||||
{
|
||||
aSegments->AddEdge ( aSegmentEdge);
|
||||
aSegments->AddEdge (++aSegmentEdge);
|
||||
continue;
|
||||
}
|
||||
|
||||
// get edge nodes indexes from face triangulation
|
||||
const TColStd_Array1OfInteger& anEdgeNodes = anEdgePoly->Nodes();
|
||||
const gp_Trsf& aTrsf = aLoc.Transformation();
|
||||
|
||||
// collect the edge nodes
|
||||
Standard_Integer aSegmentEdge = aFirstNodeInFace;
|
||||
for (Standard_Integer aNodeIdx = anEdgeNodes.Lower(); aNodeIdx <= anEdgeNodes.Upper(); ++aNodeIdx)
|
||||
{
|
||||
// node index in face triangulation
|
||||
// get node and apply location transformation to the node
|
||||
const Standard_Integer aTriIndex = anEdgeNodes.Value (aNodeIdx);
|
||||
|
||||
gp_Pnt aTriNode = aTriangulation->Node (aTriIndex);
|
||||
gp_Dir aNorm = aHasNormals ? aTriangulation->Normal (aTriIndex) : gp_Dir();
|
||||
if (aFace.Orientation() == TopAbs_REVERSED)
|
||||
{
|
||||
aNorm.Reverse();
|
||||
}
|
||||
if (!aLoc.IsIdentity())
|
||||
{
|
||||
aTriNode.Transform (aTrsf);
|
||||
aNorm.Transform (aTrsf);
|
||||
}
|
||||
|
||||
if (aFaceIndex == 0)
|
||||
{
|
||||
aSegments->AddVertex (aTriNode, aNorm);
|
||||
if (aNodeIdx != anEdgeNodes.Lower())
|
||||
{
|
||||
aSegments->AddEdge (aSegmentEdge);
|
||||
aSegments->AddEdge (++aSegmentEdge);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gp_XYZ aNormSum;
|
||||
aSegments->VertexNormal (aSegmentEdge, aNormSum.ChangeCoord (1), aNormSum.ChangeCoord (2), aNormSum.ChangeCoord (3));
|
||||
aNormSum += aNorm.XYZ();
|
||||
aNormSum.Normalize();
|
||||
aSegments->SetVertexNormal (aSegmentEdge, aNormSum.ChangeCoord (1), aNormSum.ChangeCoord (2), aNormSum.ChangeCoord (3));
|
||||
++aSegmentEdge;
|
||||
}
|
||||
}
|
||||
++aFaceIndex;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -588,7 +614,13 @@ void StdPrs_ShadedShape::Add (const Handle (Prs3d_Presentation)& thePrs,
|
||||
if (Handle(Graphic3d_ArrayOfSegments) aBndSegments = fillFaceBoundaries (theShape, theDrawer->FaceBoundaryUpperContinuity()))
|
||||
{
|
||||
Handle(Graphic3d_Group) aPrsGrp = !theGroup.IsNull() ? theGroup : thePrs->NewGroup();
|
||||
aPrsGrp->SetGroupPrimitivesAspect (theDrawer->FaceBoundaryAspect()->Aspect());
|
||||
Handle(Graphic3d_AspectLine3d) aLineAspect = Handle(Graphic3d_AspectLine3d)(theDrawer->FaceBoundaryAspect()->Aspect());
|
||||
if (theDrawer->FaceBoundaryShadingOverride())
|
||||
{
|
||||
Quantity_Color aColor = theDrawer->ShadingAspect()->Color();
|
||||
aLineAspect->SetColor (aColor);
|
||||
}
|
||||
aPrsGrp->SetGroupPrimitivesAspect (aLineAspect);
|
||||
aPrsGrp->AddPrimitiveArray (aBndSegments);
|
||||
}
|
||||
}
|
||||
|
@@ -661,7 +661,6 @@ static Standard_CString schemaAP242DIS = "AP242_MANAGED_MODEL_BASED_3D_ENGINEERI
|
||||
#include <StepRepr_CharacterizedRepresentation.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentation.hxx>
|
||||
#include <StepRepr_ConstructiveGeometryRepresentationRelationship.hxx>
|
||||
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
|
||||
#include <StepVisual_CharacterizedObjAndRepresentationAndDraughtingModel.hxx>
|
||||
#include <StepVisual_AnnotationFillArea.hxx>
|
||||
#include <StepVisual_AnnotationFillAreaOccurrence.hxx>
|
||||
@@ -1569,7 +1568,6 @@ StepAP214_Protocol::StepAP214_Protocol ()
|
||||
types.Bind(STANDARD_TYPE(StepBasic_GeneralPropertyRelationship), 821);
|
||||
types.Bind(STANDARD_TYPE(StepRepr_BooleanRepresentationItem), 822);
|
||||
types.Bind(STANDARD_TYPE(StepRepr_RealRepresentationItem), 823);
|
||||
types.Bind(STANDARD_TYPE(StepRepr_MechanicalDesignAndDraughtingRelationship), 824);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -166,7 +166,7 @@ public:
|
||||
bool ReadName = true; //<! NameMode is used to indicate read Name or not
|
||||
bool ReadLayer = true; //<! LayerMode is used to indicate read Layers or not
|
||||
bool ReadProps = true; //<! PropsMode is used to indicate read Validation properties or not
|
||||
bool ReadMetadata = true; //! Parameter for metadata reading
|
||||
bool ReadMetadata = false; //! Parameter for metadata reading
|
||||
|
||||
// Write
|
||||
WriteMode_PrecisionMode WritePrecisionMode = WriteMode_PrecisionMode_Average; //<! Specifies the mode of writing the resolution value into the STEP file
|
||||
|
@@ -299,7 +299,7 @@ void StepData_StepReaderData::cleanText(const Handle(TCollection_HAsciiString)&
|
||||
}
|
||||
}
|
||||
}
|
||||
if (aChar == '\n' || aChar == '\r')
|
||||
if (aChar == '\n')
|
||||
{
|
||||
aResString.SetValue(aSetCharInd, aResString.ToExtString() + aStringInd);
|
||||
aResStringSize--;
|
||||
|
@@ -88,8 +88,6 @@ StepRepr_MaterialPropertyRepresentation.cxx
|
||||
StepRepr_MaterialPropertyRepresentation.hxx
|
||||
StepRepr_MeasureRepresentationItem.cxx
|
||||
StepRepr_MeasureRepresentationItem.hxx
|
||||
StepRepr_MechanicalDesignAndDraughtingRelationship.cxx
|
||||
StepRepr_MechanicalDesignAndDraughtingRelationship.hxx
|
||||
StepRepr_NextAssemblyUsageOccurrence.cxx
|
||||
StepRepr_NextAssemblyUsageOccurrence.hxx
|
||||
StepRepr_ParallelOffset.cxx
|
||||
|
@@ -1,20 +0,0 @@
|
||||
// Copyright (c) 2024 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 <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(StepRepr_MechanicalDesignAndDraughtingRelationship, StepRepr_RepresentationRelationship)
|
||||
|
||||
StepRepr_MechanicalDesignAndDraughtingRelationship::StepRepr_MechanicalDesignAndDraughtingRelationship() {}
|
@@ -1,37 +0,0 @@
|
||||
// Copyright (c) 2024 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 _StepRepr_MechanicalDesignAndDraughtingRelationship_HeaderFile
|
||||
#define _StepRepr_MechanicalDesignAndDraughtingRelationship_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <StepRepr_RepresentationRelationship.hxx>
|
||||
|
||||
|
||||
class StepRepr_MechanicalDesignAndDraughtingRelationship;
|
||||
DEFINE_STANDARD_HANDLE(StepRepr_MechanicalDesignAndDraughtingRelationship, StepRepr_RepresentationRelationship)
|
||||
|
||||
|
||||
class StepRepr_MechanicalDesignAndDraughtingRelationship : public StepRepr_RepresentationRelationship
|
||||
{
|
||||
public:
|
||||
|
||||
//! Returns a MechanicalDesignAndDraughtingRelationship
|
||||
Standard_EXPORT StepRepr_MechanicalDesignAndDraughtingRelationship();
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(StepRepr_MechanicalDesignAndDraughtingRelationship, StepRepr_RepresentationRelationship)
|
||||
};
|
||||
|
||||
#endif // _StepRepr_MechanicalDesignAndDraughtingRelationship_HeaderFile
|
@@ -1008,7 +1008,7 @@ Handle(Geom_BSplineSurface) StepToGeom::MakeBSplineSurface (const Handle(StepGeo
|
||||
Handle(Geom_CartesianPoint) StepToGeom::MakeCartesianPoint (const Handle(StepGeom_CartesianPoint)& SP,
|
||||
const StepData_Factors& theLocalFactors)
|
||||
{
|
||||
if (!SP.IsNull() && SP->NbCoordinates() == 3)
|
||||
if (SP->NbCoordinates() == 3)
|
||||
{
|
||||
const Standard_Real LF = theLocalFactors.LengthFactor();
|
||||
const Standard_Real X = SP->CoordinatesValue(1) * LF;
|
||||
|
@@ -408,24 +408,7 @@ void StepToTopoDS_TranslateEdge::MakeFromCurve3D
|
||||
temp1 = pU1.Distance ( pv1 );
|
||||
temp2 = pU2.Distance ( pv2 );
|
||||
if ( temp1 > preci || temp2 > preci ) {
|
||||
// #25415: handling of special case found on some STEP files produced by FPX Expert 2013 (PCB design system):
|
||||
// edge curve is line displaced from its true position but with correct direction;
|
||||
// we can shift the line in this case so that it passes through vertices correcty
|
||||
if (Abs (temp1 - temp2) < preci && Abs (U2 - U1 - pnt1.Distance(pnt2)) < Precision::Confusion() &&
|
||||
C1->IsKind(STANDARD_TYPE(Geom_Line)))
|
||||
{
|
||||
Handle(Geom_Line) aLine = Handle(Geom_Line)::DownCast (C1);
|
||||
gp_Lin aLin = aLine->Lin();
|
||||
gp_Pnt anOrigin = pnt1.XYZ() - aLin.Position().Direction().XYZ() * U1;
|
||||
aLin.SetLocation (anOrigin);
|
||||
C1 = new Geom_Line (aLin);
|
||||
|
||||
TP->AddWarning (C3D,"Poor result from projection vertex / line 3d, line shifted");
|
||||
}
|
||||
else
|
||||
{
|
||||
TP->AddWarning (C3D,"Poor result from projection vertex / curve 3d");
|
||||
}
|
||||
TP->AddWarning (C3D,"Poor result from projection vertex / curve 3d");
|
||||
}
|
||||
B.UpdateVertex ( V1, 1.000001*temp1 ); //:h6 abv 14 Jul 98: PRO8845 #2746: *=1.0001
|
||||
B.UpdateVertex ( V2, 1.000001*temp2 ); //:h6
|
||||
|
@@ -105,13 +105,12 @@ namespace {
|
||||
// ============================================================================
|
||||
static void SetNodes(const Handle(Poly_Triangulation)& theMesh,
|
||||
Handle(TColgp_HArray1OfXYZ)& theNodes,
|
||||
const Standard_Integer theNumPnindex,
|
||||
Handle(TColStd_HArray1OfInteger)& thePnindices,
|
||||
const Standard_Real theLengthFactor)
|
||||
{
|
||||
for (Standard_Integer aPnIndex = 1; aPnIndex <= theMesh->NbNodes(); ++aPnIndex)
|
||||
{
|
||||
const gp_XYZ& aPoint = theNodes->Value((theNumPnindex > 0) ? thePnindices->Value(aPnIndex) : aPnIndex);
|
||||
const gp_XYZ& aPoint = theNodes->Value(thePnindices->Value(aPnIndex));
|
||||
theMesh->SetNode(aPnIndex, theLengthFactor * aPoint);
|
||||
}
|
||||
}
|
||||
@@ -327,11 +326,10 @@ namespace {
|
||||
|
||||
const Standard_Boolean aHasUVNodes = Standard_False;
|
||||
const Standard_Boolean aHasNormals = (aNormNum > 0);
|
||||
const Standard_Integer aNbNodes = (aNumPnindex > 0) ? aNumPnindex : aNodes->Length();
|
||||
|
||||
if (aTrianStripsNum == 0 && aTrianFansNum == 0)
|
||||
{
|
||||
aMesh = new Poly_Triangulation(aNbNodes, aTrianNum, aHasUVNodes, aHasNormals);
|
||||
aMesh = new Poly_Triangulation(aNumPnindex, aTrianNum, aHasUVNodes, aHasNormals);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -361,14 +359,14 @@ namespace {
|
||||
aNbTriaFans += aTriangleFan->Length() - 2;
|
||||
}
|
||||
|
||||
aMesh = new Poly_Triangulation(aNbNodes, aNbTriaStrips + aNbTriaFans, aHasUVNodes, aHasNormals);
|
||||
aMesh = new Poly_Triangulation(aNumPnindex, aNbTriaStrips + aNbTriaFans, aHasUVNodes, aHasNormals);
|
||||
}
|
||||
|
||||
SetNodes(aMesh, aNodes, aNumPnindex, aPnindices, theLocalFactors.LengthFactor());
|
||||
SetNodes(aMesh, aNodes, aPnindices, theLocalFactors.LengthFactor());
|
||||
|
||||
if (aHasNormals)
|
||||
{
|
||||
SetNormals(aMesh, aNormals, aNormNum, aNbNodes);
|
||||
SetNormals(aMesh, aNormals, aNormNum, aNumPnindex);
|
||||
}
|
||||
|
||||
SetTriangles(aMesh, aTriangles, aTrianStripsNum, aTriaStrips, aTrianFansNum, aTriaFans);
|
||||
@@ -763,8 +761,6 @@ void StepToTopoDS_TranslateFace::Init(const Handle(StepVisual_TessellatedFace)&
|
||||
if (theNMTool.IsActive())
|
||||
theNMTool.Bind(theTF, aF);
|
||||
|
||||
aTP->Bind(theTF, new TransferBRep_ShapeBinder(aF));
|
||||
|
||||
myResult = aF;
|
||||
myError = StepToTopoDS_TranslateFaceDone;
|
||||
done = Standard_True;
|
||||
|
@@ -96,11 +96,6 @@ void StepToTopoDS_TranslateVertex::Init(const Handle(StepShape_Vertex)& aVertex,
|
||||
//:S4136 Standard_Real preci = BRepAPI::Precision();
|
||||
const Handle(StepShape_VertexPoint) VP = Handle(StepShape_VertexPoint)::DownCast(aVertex);
|
||||
const Handle(StepGeom_Point) P = VP->VertexGeometry();
|
||||
if (P.IsNull()) {
|
||||
myError = StepToTopoDS_TranslateVertexOther;
|
||||
done = Standard_False;
|
||||
return;
|
||||
}
|
||||
const Handle(StepGeom_CartesianPoint) P1 = Handle(StepGeom_CartesianPoint)::DownCast(P);
|
||||
Handle(Geom_CartesianPoint) P2 = StepToGeom::MakeCartesianPoint (P1, theLocalFactors);
|
||||
BRep_Builder B;
|
||||
|
@@ -1713,6 +1713,11 @@ struct ViewerTest_AspectsChangeSet
|
||||
Standard_Integer ToSetTypeOfFaceBoundaryLine;
|
||||
Aspect_TypeOfLine TypeOfFaceBoundaryLine;
|
||||
|
||||
Standard_Integer ToSetFaceBoundaryShading;
|
||||
Standard_Integer ToFaceBoundaryEdgeColorOverride;
|
||||
Graphic3d_TypeOfShadingModel FaceBoundaryShading;
|
||||
TCollection_AsciiString FaceBoundaryShadingModelName;
|
||||
|
||||
Standard_Integer ToSetMaxParamValue;
|
||||
Standard_Real MaxParamValue;
|
||||
|
||||
@@ -1787,6 +1792,9 @@ struct ViewerTest_AspectsChangeSet
|
||||
FaceBoundaryWidth (1.0f),
|
||||
ToSetTypeOfFaceBoundaryLine(0),
|
||||
TypeOfFaceBoundaryLine (Aspect_TOL_SOLID),
|
||||
ToSetFaceBoundaryShading (0),
|
||||
ToFaceBoundaryEdgeColorOverride (0),
|
||||
FaceBoundaryShading (Graphic3d_TypeOfShadingModel_DEFAULT),
|
||||
//
|
||||
ToSetMaxParamValue (0),
|
||||
MaxParamValue (500000),
|
||||
@@ -1828,6 +1836,7 @@ struct ViewerTest_AspectsChangeSet
|
||||
&& ToSetFaceBoundaryUpperContinuity == 0
|
||||
&& ToSetFaceBoundaryColor == 0
|
||||
&& ToSetFaceBoundaryWidth == 0
|
||||
&& ToSetFaceBoundaryShading == 0
|
||||
&& ToSetTypeOfFaceBoundaryLine == 0
|
||||
&& ToSetMaxParamValue == 0
|
||||
&& ToSetSensitivity == 0
|
||||
@@ -1875,6 +1884,12 @@ struct ViewerTest_AspectsChangeSet
|
||||
Message::SendFail() << "Error: the free boundary width should be within [1; 10] range (specified " << FreeBoundaryWidth << ")";
|
||||
isOk = Standard_False;
|
||||
}
|
||||
if (ToSetFaceBoundaryShading == 1
|
||||
&& (FaceBoundaryShading < Graphic3d_TypeOfShadingModel_DEFAULT || FaceBoundaryShading > Graphic3d_TypeOfShadingModel_PbrFacet))
|
||||
{
|
||||
Message::SendFail() << "Error: unknown face boundary shading model " << FaceBoundaryShadingModelName << ".";
|
||||
isOk = Standard_False;
|
||||
}
|
||||
if (MaxParamValue < 0.0)
|
||||
{
|
||||
Message::SendFail() << "Error: the max parameter value should be greater than zero (specified " << MaxParamValue << ")";
|
||||
@@ -2034,6 +2049,16 @@ struct ViewerTest_AspectsChangeSet
|
||||
theDrawer->FaceBoundaryAspect()->SetWidth (FaceBoundaryWidth);
|
||||
}
|
||||
}
|
||||
if (ToSetFaceBoundaryShading != 0)
|
||||
{
|
||||
if (ToSetFaceBoundaryShading != -1
|
||||
|| theDrawer->HasOwnFaceBoundaryAspect())
|
||||
{
|
||||
toRecompute = theDrawer->SetupOwnFaceBoundaryAspect (aDefDrawer) || toRecompute;
|
||||
theDrawer->FaceBoundaryAspect()->Aspect()->SetShadingModel (FaceBoundaryShading);
|
||||
theDrawer->SetFaceBoundaryShadingOverride (ToFaceBoundaryEdgeColorOverride);
|
||||
}
|
||||
}
|
||||
if (ToSetTypeOfFaceBoundaryLine != 0)
|
||||
{
|
||||
if (ToSetTypeOfFaceBoundaryLine != -1
|
||||
@@ -2389,6 +2414,17 @@ static Standard_Integer VAspects (Draw_Interpretor& theDI,
|
||||
if (aNames.Size() >= 2
|
||||
&& aNames.Value (2).IsIntegerValue())
|
||||
{
|
||||
if (aNames.Size() == 9 && aNames.Value (9).IsIntegerValue())
|
||||
{
|
||||
if (ViewerTest::ParseShadingModel (aNames.Value (8).ToCString(), aChangeSet->FaceBoundaryShading)
|
||||
&& (aNames.Value (9).IsIntegerValue() == 0 || aNames.Value (9).IsIntegerValue() == 1))
|
||||
{
|
||||
aChangeSet->ToSetFaceBoundaryShading = 1;
|
||||
aChangeSet->ToFaceBoundaryEdgeColorOverride = aNames.Value (9).IsIntegerValue();
|
||||
aNames.Remove (9);
|
||||
aNames.Remove (8);
|
||||
}
|
||||
}
|
||||
if (aNames.Size() == 7)
|
||||
{
|
||||
if (ViewerTest::ParseLineType (aNames.Value (7).ToCString(), aChangeSet->TypeOfFaceBoundaryLine))
|
||||
@@ -3148,6 +3184,29 @@ static Standard_Integer VAspects (Draw_Interpretor& theDI,
|
||||
aChangeSet->ToSetShadingModel = -1;
|
||||
aChangeSet->ShadingModel = Graphic3d_TypeOfShadingModel_DEFAULT;
|
||||
}
|
||||
else if (anArg == "-setboundaryshading")
|
||||
{
|
||||
aChangeSet->ToSetFaceBoundaryShading = 1;
|
||||
aChangeSet->FaceBoundaryShadingModelName = theArgVec[++anArgIter];
|
||||
if (!ViewerTest::ParseShadingModel (theArgVec[anArgIter], aChangeSet->FaceBoundaryShading))
|
||||
{
|
||||
Message::SendFail() << "Error: wrong syntax at " << anArg;
|
||||
return 1;
|
||||
}
|
||||
Standard_Integer anOverrideFlag = Draw::Atoi (theArgVec[++anArgIter]);
|
||||
if (!(anOverrideFlag == 0 || anOverrideFlag == 1))
|
||||
{
|
||||
Message::SendFail() << "Error: wrong syntax at " << anArg;
|
||||
return 1;
|
||||
}
|
||||
aChangeSet->ToFaceBoundaryEdgeColorOverride = anOverrideFlag;
|
||||
}
|
||||
else if (anArg == "-unsetboundaryshading")
|
||||
{
|
||||
aChangeSet->ToSetFaceBoundaryShading = -1;
|
||||
aChangeSet->ToFaceBoundaryEdgeColorOverride = 0;
|
||||
aChangeSet->FaceBoundaryShading = Graphic3d_TypeOfShadingModel_Unlit;
|
||||
}
|
||||
else if (anArg == "-setinterior"
|
||||
|| anArg == "-setinteriorstyle"
|
||||
|| anArg == "-interior"
|
||||
@@ -3272,6 +3331,8 @@ static Standard_Integer VAspects (Draw_Interpretor& theDI,
|
||||
aChangeSet->FaceBoundaryWidth = 1.0f;
|
||||
aChangeSet->ToSetTypeOfFaceBoundaryLine = -1;
|
||||
aChangeSet->TypeOfFaceBoundaryLine = Aspect_TOL_SOLID;
|
||||
aChangeSet->ToSetFaceBoundaryShading = -1;
|
||||
aChangeSet->FaceBoundaryShading = Graphic3d_TypeOfShadingModel_DEFAULT;
|
||||
//
|
||||
aChangeSet->ToSetHatch = -1;
|
||||
aChangeSet->StdHatchStyle = -1;
|
||||
@@ -6804,6 +6865,8 @@ vaspects [-noupdate|-update] [name1 [name2 [...]] | -defaults] [-subshapes subna
|
||||
[-sensitivity {selection_mode} {value}]
|
||||
[-shadingModel {unlit|flat|gouraud|phong|pbr|pbr_facet}]
|
||||
[-unsetShadingModel]
|
||||
[-setboundaryshading {unlit|flat|gouraud|phong|pbr|pbr_facet}]
|
||||
[-unsetboundaryshading]
|
||||
[-interior {solid|hatch|hidenline|point}] [-setHatch HatchStyle]
|
||||
[-unsetInterior]
|
||||
[-faceBoundaryDraw {0|1}] [-mostContinuity {c0|g1|c1|g2|c2|c3|cn}]
|
||||
|
@@ -1197,10 +1197,10 @@ static Standard_Integer XShowFaceBoundary (Draw_Interpretor& di,
|
||||
Standard_Integer argc,
|
||||
const char ** argv)
|
||||
{
|
||||
if (( argc != 4 && argc < 7 ) || argc > 9)
|
||||
if (( argc != 4 && argc < 7 ) || argc > 11)
|
||||
{
|
||||
di << "Usage :\n " << argv[0]
|
||||
<< " Doc Label IsOn [R G B [LineWidth [LineStyle]]]\n"
|
||||
<< " Doc Label IsOn [R G B [LineWidth [LineStyle]]] Model Shading\n"
|
||||
<< " Doc - is the document name. \n"
|
||||
<< " Label - is the shape label. \n"
|
||||
<< " IsOn - flag indicating whether the boundaries\n"
|
||||
@@ -1216,7 +1216,12 @@ static Standard_Integer XShowFaceBoundary (Draw_Interpretor& di,
|
||||
<< " 1 - dashed \n"
|
||||
<< " 2 - dot \n"
|
||||
<< " 3 - dashdot\n"
|
||||
<< " (default is solid)";
|
||||
<< " (default is solid)\n"
|
||||
<< " Model - shading model [unlit|phong|pbr|gouraud]\n"
|
||||
<< " Shading - flag indicating if the boundaries\n"
|
||||
<< " should be shaded:"
|
||||
<< " 0 - no override edge color"
|
||||
<< " 1 - override edge color";
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1310,6 +1315,17 @@ static Standard_Integer XShowFaceBoundary (Draw_Interpretor& di,
|
||||
|
||||
aDrawer->SetFaceBoundaryAspect (aBoundaryAspect);
|
||||
|
||||
// set shading properties for face boundaries
|
||||
if (argc == 11)
|
||||
{
|
||||
Graphic3d_TypeOfShadingModel aShadingModel;
|
||||
if (ViewerTest::ParseShadingModel (argv[9], aShadingModel))
|
||||
{
|
||||
aDrawer->FaceBoundaryAspect()->Aspect()->SetShadingModel (aShadingModel);
|
||||
aDrawer->SetFaceBoundaryShadingOverride (Draw::Atoi (argv[10]) == 1 ? Standard_True : Standard_False);
|
||||
}
|
||||
}
|
||||
|
||||
aContext->Redisplay (anInteractive, Standard_True);
|
||||
|
||||
return 0;
|
||||
|
@@ -1,3 +1,8 @@
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 ALL: result is not a topological shape!!!"
|
||||
puts "TODO OCC23068 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC23068 ALL: TEST INCOMPLETE"
|
||||
|
||||
puts "========================"
|
||||
puts " OCC427 "
|
||||
puts "(case 6)"
|
||||
|
@@ -1,4 +1,8 @@
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
@@ -48,6 +52,6 @@ if {$index == -1} {
|
||||
|
||||
}
|
||||
|
||||
checknbshapes result -t -wire 3 -face 3 -shell 1 -solid 1
|
||||
checknbshapes result -t -wire 5 -face 5 -shell 2 -solid 1
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@@ -1,4 +1,8 @@
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
@@ -49,6 +53,6 @@ if {$index == -1} {
|
||||
|
||||
}
|
||||
|
||||
checknbshapes result -vertex 1 -edge 2 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 11
|
||||
checknbshapes result -vertex 2 -edge 3 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 13
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@@ -1,4 +1,8 @@
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
@@ -49,6 +53,6 @@ if {$index == -1} {
|
||||
|
||||
}
|
||||
|
||||
checknbshapes result -vertex 1 -edge 2 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 11
|
||||
checknbshapes result -vertex 2 -edge 3 -wire 3 -face 3 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 13
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@@ -1,4 +1,6 @@
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
|
@@ -1,4 +1,7 @@
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: result is not a topological shape"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
|
@@ -1,4 +1,8 @@
|
||||
puts "TODO OCC25925 ALL: Error : The area of result shape is"
|
||||
puts "TODO OCC25925 ALL: Faulty OCC5805 : result is not Closed shape"
|
||||
puts "TODO OCC25925 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC25925 ALL: Tcl Exception: Error : command \\\"nbshapes result\\\" gives an empty result"
|
||||
puts "TODO OCC25925 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC25925 ALL: TEST INCOMPLETE"
|
||||
|
||||
puts "============"
|
||||
puts "OCC5805"
|
||||
|
@@ -1,3 +1,5 @@
|
||||
puts "TODO OCC25395 ALL: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "========"
|
||||
puts "OCC25395"
|
||||
puts "========"
|
||||
|
@@ -1,3 +1,5 @@
|
||||
puts "TODO OCC25939 ALL: An exception was caught"
|
||||
|
||||
puts "============"
|
||||
puts "0025939: S I G S E G V in MakeThickSolid"
|
||||
puts "============"
|
||||
|
@@ -1,3 +1,5 @@
|
||||
puts "TODO OCC31845 All: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "============================================"
|
||||
puts "OCC31845: BRepOffsetAPI_MakeThickSolid fails"
|
||||
puts "============================================"
|
||||
|
@@ -1,3 +1,5 @@
|
||||
puts "TODO OCC31845 All: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "============================================"
|
||||
puts "OCC31845: BRepOffsetAPI_MakeThickSolid fails"
|
||||
puts "============================================"
|
||||
|
@@ -1,15 +0,0 @@
|
||||
puts "================================================================="
|
||||
puts "0031601: Modeling Algorithms - BRepOffset_Tool Segmentation Fault"
|
||||
puts "================================================================="
|
||||
puts ""
|
||||
|
||||
pload MODELING
|
||||
box b 50 50 10
|
||||
explode b E
|
||||
compound b_1 b_2 b_3 b_4 b_5 b_6 b_7 b_8 b_9 b_10 b_11 b_12 c
|
||||
fillet s b 4 c
|
||||
explode s F
|
||||
offsetparameter 1.e-7 c a
|
||||
offsetload s 1 s_11
|
||||
offsetperform r
|
||||
checkview -display r -2d -path ${imagedir}/${test_image}.png
|
@@ -1,17 +0,0 @@
|
||||
puts "==============================================================="
|
||||
puts "0033367: Modeling Algorithms - Normal projection or BOP problem"
|
||||
puts "==============================================================="
|
||||
puts ""
|
||||
|
||||
pload MODELING
|
||||
restore [locate_data_file bug33367_1.brep] sou
|
||||
restore [locate_data_file bug33367_2.brep] des
|
||||
checkshape sou
|
||||
checkshape des
|
||||
nproject prj sou des
|
||||
checknbshapes prj -vertex 2 -edge 2 -compound 1 -shape 5
|
||||
baddobjects des
|
||||
baddtools prj
|
||||
bfillds
|
||||
bbuild res
|
||||
checkshape res
|
@@ -1,14 +0,0 @@
|
||||
puts "========================================================="
|
||||
puts "0033383: Modeling Algorithms - Wire/Face creation problem"
|
||||
puts "========================================================="
|
||||
puts ""
|
||||
|
||||
pload MODELING
|
||||
restore [locate_data_file bug33383.brep] a
|
||||
connectedges res a 1e-07 0
|
||||
explode res
|
||||
mkplane pln1 res_1 1
|
||||
|
||||
if ![catch { buildfaces rebf pln1 res_2 }] then {
|
||||
puts "Error: buildfaces command should be failed"
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
puts "========"
|
||||
puts "OCC25415"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################################################
|
||||
# Invalid result of loading a STEP file
|
||||
##########################################################################
|
||||
|
||||
stepread [locate_data_file bug25415_part_of_hdrv8w64p254_4x2_1016x502h838p.stp] a *
|
||||
|
||||
checkshape a_1
|
@@ -1,12 +0,0 @@
|
||||
puts "========================"
|
||||
puts "0033410: Data Exchange, Step Import - TRIANGULATED_FACE from STEP where there are no pnval entries"
|
||||
puts "========================"
|
||||
|
||||
pload OCAF
|
||||
|
||||
# Read file
|
||||
ReadStep D [locate_data_file bug33410.step]
|
||||
XGetOneShape sh D
|
||||
checktrinfo sh -face 1 -nod 81 -tri 128
|
||||
|
||||
Close D
|
@@ -1,17 +0,0 @@
|
||||
puts "===================================="
|
||||
puts "0033638: Data Exchange, Step Import - Style for tessellated object missed"
|
||||
puts "===================================="
|
||||
puts ""
|
||||
|
||||
pload OCAF
|
||||
|
||||
ReadStep D [locate_data_file bug33638.stp]
|
||||
|
||||
if { [ XFindColor D 0 0 1 ] == "" } {
|
||||
puts "Error: Color not found"
|
||||
}
|
||||
if { [ XFindColor D 1 0 0 ] == "" } {
|
||||
puts "Error: Color not found"
|
||||
}
|
||||
|
||||
Close D
|
@@ -1,22 +0,0 @@
|
||||
# !!!! This file is generated automatically, do not edit manually! See end script
|
||||
puts "TODO CR23096 ALL: TPSTAT : Faulty"
|
||||
puts "TODO CR23096 ALL: LABELS : Faulty"
|
||||
|
||||
|
||||
set filename bug29241.stp
|
||||
|
||||
set ref_data {
|
||||
DATA : Faulties = 0 ( 22 ) Warnings = 0 ( 22 ) Summary = 0 ( 44 )
|
||||
TPSTAT : Faulties = 0 ( 0 ) Warnings = 2 ( 1 ) Summary = 2 ( 1 )
|
||||
CHECKSHAPE : Wires = 0 ( 0 ) Faces = 0 ( 0 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
|
||||
NBSHAPES : Solid = 1 ( 1 ) Shell = 2 ( 2 ) Face = 205 ( 205 )
|
||||
STATSHAPE : Solid = 1 ( 1 ) Shell = 2 ( 2 ) Face = 205 ( 205 ) FreeWire = 0 ( 1 )
|
||||
TOLERANCE : MaxTol = 0.000584860357 ( 0.0009118447559 ) AvgTol = 2.354671626e-005 ( 3.258060117e-005 )
|
||||
LABELS : N0Labels = 1 ( 1 ) N1Labels = 3 ( 18 ) N2Labels = 0 ( 0 ) TotalLabels = 4 ( 19 ) NameLabels = 1 ( 1 ) ColorLabels = 3 ( 3 ) LayerLabels = 0 ( 0 )
|
||||
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
|
||||
NCOLORS : NColors = 3 ( 3 )
|
||||
COLORS : Colors = LIGHTSTEELBLUE1 PALEGOLDENROD WHITE ( LIGHTSTEELBLUE1 PALEGOLDENROD WHITE )
|
||||
NLAYERS : NLayers = 0 ( 0 )
|
||||
LAYERS : Layers = ( )
|
||||
|
||||
}
|
@@ -44,7 +44,7 @@ provider.STEP.OCC.read.color : 1
|
||||
provider.STEP.OCC.read.name : 1
|
||||
provider.STEP.OCC.read.layer : 1
|
||||
provider.STEP.OCC.read.props : 1
|
||||
provider.STEP.OCC.read.metadata : 1
|
||||
provider.STEP.OCC.read.metadata : 0
|
||||
provider.STEP.OCC.write.precision.mode : 0
|
||||
provider.STEP.OCC.write.precision.val : 0.0001
|
||||
provider.STEP.OCC.write.assembly : 0
|
||||
|
@@ -44,7 +44,7 @@ provider.STEP.OCC.read.color : 1
|
||||
provider.STEP.OCC.read.name : 1
|
||||
provider.STEP.OCC.read.layer : 1
|
||||
provider.STEP.OCC.read.props : 1
|
||||
provider.STEP.OCC.read.metadata : 1
|
||||
provider.STEP.OCC.read.metadata : 0
|
||||
provider.STEP.OCC.write.precision.mode : 0
|
||||
provider.STEP.OCC.write.precision.val : 0.0001
|
||||
provider.STEP.OCC.write.assembly : 0
|
||||
|
@@ -11,7 +11,7 @@ set end_line "\" \n"
|
||||
# Read original file
|
||||
if { [string length $filename] > 1} {
|
||||
set path_file [locate_data_file $filename]
|
||||
if { [catch { ReadFile D $path_file } catch_result] } {
|
||||
if { [catch { ReadFile D $path_file -conf $conf} catch_result] } {
|
||||
set err_msg "Error: file was not read - exception "
|
||||
puts $err_msg
|
||||
append todo_msg $todo_mask $err_msg $end_line
|
||||
|
2
tests/metadata/step/begin
Normal file
2
tests/metadata/step/begin
Normal file
@@ -0,0 +1,2 @@
|
||||
set conf "provider.STEP.OCC.read.metadata : 1"
|
||||
|
@@ -1,3 +1,6 @@
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 ALL: Error : The volume of result shape "
|
||||
|
||||
## ======================================
|
||||
## Grid : CCV002
|
||||
## Test : A1
|
||||
@@ -9,4 +12,4 @@ explode s F
|
||||
offsetcompshape result s -10 s_1
|
||||
|
||||
#real volume of result shape is unknown yet
|
||||
checkprops result -v 1.01e+06
|
||||
checkprops result -v 0
|
||||
|
@@ -4,6 +4,7 @@
|
||||
## Comment : From CV tests serie page 60
|
||||
## ======================================
|
||||
|
||||
puts "TODO OCC26556 ALL: ERROR. offsetperform operation not done."
|
||||
restore [locate_data_file CCV_2_d1_gsw.rle] s
|
||||
explode s F
|
||||
catch {offsetcompshape result s -2 s_17}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
pcone s 5 0 12 90
|
||||
trotate s 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 78.53988
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcone s 5 0 12 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 235.619
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcone s 5 0 12 270
|
||||
|
||||
OFFSETSHAPE 1 {s_3 s_4} $calcul $type
|
||||
|
||||
checkprops result -v 235.619
|
||||
checkprops result -v 0
|
||||
|
@@ -1,9 +1,10 @@
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 -90 60 90
|
||||
trotate s 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 3488.84
|
||||
checkprops result -v 0
|
||||
|
@@ -1,8 +1,9 @@
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 -90 60 270
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 10466.5
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 -90 60 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 10466.5
|
||||
checkprops result -v 0
|
||||
|
@@ -1,8 +1,10 @@
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO OCC23068 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 ALL: Error : The offset cannot be built."
|
||||
puts "TODO OCC23068 ALL: Error: The command cannot be built"
|
||||
|
||||
psphere s 15 90
|
||||
trotate s 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_3} $calcul $type
|
||||
|
||||
checkprops result -v 3534.29
|
||||
checkprops result -v 0
|
||||
|
@@ -1,4 +1,5 @@
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 270
|
||||
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
psphere s 15 270
|
||||
|
||||
OFFSETSHAPE -1 {s_2} $calcul $type
|
||||
|
||||
checkprops result -v 10602.9
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,8 @@
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
@@ -11,4 +14,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 4385.14
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,9 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@@ -8,4 +14,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 4385.14
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,9 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@@ -8,4 +14,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE 1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 4385.14
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,7 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@@ -8,4 +12,4 @@ revol s w 0 0 0 0 0 1 90
|
||||
|
||||
OFFSETSHAPE -1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 4385.14
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,8 @@
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
@@ -11,4 +14,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE 1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 13155.2
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,9 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
cpulimit 400
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
@@ -10,4 +16,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 13155.2
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,9 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ellipse w1 0 0 0 15 10
|
||||
mkedge w1 w1 0 pi/2
|
||||
trotate w1 0 0 0 1 0 0 90
|
||||
@@ -8,4 +14,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE 1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 13155.2
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,9 @@
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
# 17.01.2010
|
||||
cpulimit 600
|
||||
# 17.01.2010
|
||||
@@ -12,4 +18,4 @@ revol s w 0 0 0 0 0 1 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 13155.2
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcylinder s 5 10 270
|
||||
|
||||
OFFSETSHAPE -1 {s_5} $calcul $type
|
||||
|
||||
checkprops result -v 589.049
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
pcone s 9 4 15 270
|
||||
|
||||
OFFSETSHAPE -1 {s_5} $calcul $type
|
||||
|
||||
checkprops result -v 1566.87
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,9 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
ptorus s 10 10 0 45 270
|
||||
|
||||
OFFSETSHAPE -1 {s_4} $calcul $type
|
||||
|
||||
checkprops result -v 6083.13
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,7 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
circle w -20 0 0 20
|
||||
mkedge w w 0 pi*2/5
|
||||
wire w w
|
||||
@@ -7,4 +11,4 @@ pipe s w profile
|
||||
|
||||
OFFSETSHAPE 1 {s_2 s_3} $calcul $type
|
||||
|
||||
checkprops result -v 785.398
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,7 @@
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
circle w -20 0 0 20
|
||||
mkedge w w 0 pi*2/5
|
||||
wire w w
|
||||
@@ -7,4 +11,4 @@ pipe s w profile
|
||||
|
||||
OFFSETSHAPE 1 {s_4 s_5} $calcul $type
|
||||
|
||||
checkprops result -v 785.398
|
||||
checkprops result -v 0
|
||||
|
@@ -1,5 +1,8 @@
|
||||
puts "TODO CR23530 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
puts "TODO OCC23068 ALL: Error : The area of face "
|
||||
puts "TODO OCC24156 MacOS: An exception was caught"
|
||||
puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
|
||||
puts "TODO OCC23748 ALL: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23748 ALL: Error: The command cannot be built"
|
||||
puts "TODO OCC26556 ALL: Error : The offset cannot be built."
|
||||
|
||||
beziersurf c 3 2 \
|
||||
0 0 0 0 5 5 2 14 3 \
|
||||
@@ -9,4 +12,4 @@ prism s c 0 0 20
|
||||
|
||||
OFFSETSHAPE 1 {s_5 s_6} $calcul $type
|
||||
|
||||
checkprops result -v 3340
|
||||
checkprops result -v 0
|
||||
|
@@ -1,3 +1,5 @@
|
||||
puts "TODO OCC23068 All: ERROR. offsetperform operation not done."
|
||||
puts "TODO OCC23068 All: Error : The volume of result shape is"
|
||||
# Original bug : hkg60144
|
||||
# Date : 17Juillet98
|
||||
|
||||
@@ -7,5 +9,5 @@ explode s f
|
||||
offsetshape result s -5 s_1
|
||||
|
||||
|
||||
checkprops result -v 2.80312e+07
|
||||
checkprops result -v 2.12817e+006
|
||||
|
||||
|
40
tests/v3d/bugs/bug26072
Normal file
40
tests/v3d/bugs/bug26072
Normal file
@@ -0,0 +1,40 @@
|
||||
puts "========"
|
||||
puts "0026072: Visualization - more realistic display of face edges"
|
||||
puts "========"
|
||||
|
||||
pload MODELING VISUALIZATION XDE
|
||||
testreadstep [locate_data_file as1-oc-214-mat.stp] s
|
||||
vclear
|
||||
vinit
|
||||
vdisplay s -dispmode 1
|
||||
vfit
|
||||
vshowfaceboundary s -setboundaryshading phong 1 -boundarycolor 50 250 50
|
||||
vviewparams -scale 4.0 -proj 1.0 1.0 1.0 -up -1.0 -1.0 0.0 -at 20.0 0.0 -20.0
|
||||
vdump $::imagedir/${::casename}_shading_1.png
|
||||
vviewparams -scale 4.0 -proj 2.0 -1.5 3.0 -up 0.0 1.0 1.0 -at 20.0 130.0 -50.0
|
||||
vdump $::imagedir/${::casename}_shading_2.png
|
||||
|
||||
vshowfaceboundary s -setboundaryshading phong 0 -boundarycolor 50 250 50
|
||||
vviewparams -scale 4.0 -proj 1.0 1.0 1.0 -up -1.0 -1.0 0.0 -at 20.0 0.0 -20.0
|
||||
vdump $::imagedir/${::casename}_noshading_1.png
|
||||
vviewparams -scale 4.0 -proj 2.0 -1.5 3.0 -up 0.0 1.0 1.0 -at 20.0 130.0 -50.0
|
||||
vdump $::imagedir/${::casename}_noshading_2.png
|
||||
|
||||
vclear
|
||||
vclose
|
||||
ReadStep D [locate_data_file as1-oc-214-mat.stp]
|
||||
XShow D
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
XShowFaceBoundary D 0:1:1:1 1 156 156 156 1 0 phong 1
|
||||
vviewparams -scale 4.0 -proj 1.0 1.0 1.0 -up -1.0 -1.0 0.0 -at 20.0 0.0 -20.0
|
||||
vdump $::imagedir/${::casename}_xview_shading_1.png
|
||||
vviewparams -scale 4.0 -proj 2.0 -1.5 3.0 -up 0.0 1.0 1.0 -at 20.0 130.0 -50.0
|
||||
vdump $::imagedir/${::casename}_xview_shading_2.png
|
||||
|
||||
XShowFaceBoundary D 0:1:1:1 1 156 156 156 1 0 phong 0
|
||||
vviewparams -scale 4.0 -proj 1.0 1.0 1.0 -up -1.0 -1.0 0.0 -at 20.0 0.0 -20.0
|
||||
vdump $::imagedir/${::casename}_xview_noshading_1.png
|
||||
vviewparams -scale 4.0 -proj 2.0 -1.5 3.0 -up 0.0 1.0 1.0 -at 20.0 130.0 -50.0
|
||||
vdump $::imagedir/${::casename}_xview_noshading_2.png
|
Reference in New Issue
Block a user