mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0032666: Data Exchange - Cannot write STEP file from an XCAF document containing only triangulations in the faces
Added support of reading and writing of the triangulated_surface_set. Prevented creation of tesselated geometry under the schemas different from AP242DIS. test step_read corrected, switched parameter write.step.schema to AP242DIS in begin and back to AP214CD at the end
This commit is contained in:
@@ -89,6 +89,7 @@
|
||||
#include <StepShape_ShapeRepresentation.hxx>
|
||||
#include <StepShape_ShellBasedSurfaceModel.hxx>
|
||||
#include <StepVisual_TriangulatedFace.hxx>
|
||||
#include <StepVisual_TriangulatedSurfaceSet.hxx>
|
||||
#include <StepVisual_TessellatedShell.hxx>
|
||||
#include <StepVisual_TessellatedShapeRepresentation.hxx>
|
||||
#include <StepVisual_TessellatedSolid.hxx>
|
||||
@@ -256,6 +257,7 @@ Standard_Boolean STEPControl_ActorRead::Recognize
|
||||
if (start->IsKind(STANDARD_TYPE(StepShape_EdgeBasedWireframeModel))) return Standard_True;
|
||||
if (start->IsKind(STANDARD_TYPE(StepShape_FaceBasedSurfaceModel))) return Standard_True;
|
||||
if (aCanReadTessGeom && start->IsKind(STANDARD_TYPE(StepVisual_TessellatedFace))) return Standard_True;
|
||||
if (aCanReadTessGeom && start->IsKind(STANDARD_TYPE(StepVisual_TessellatedSurfaceSet))) return Standard_True;
|
||||
if (aCanReadTessGeom && start->IsKind(STANDARD_TYPE(StepVisual_TessellatedShell))) return Standard_True;
|
||||
if (aCanReadTessGeom && start->IsKind(STANDARD_TYPE(StepVisual_TessellatedSolid))) return Standard_True;
|
||||
if (aCanReadTessGeom && start->IsKind(STANDARD_TYPE(StepVisual_TessellatedShapeRepresentation))) return Standard_True;
|
||||
@@ -1486,6 +1488,11 @@ Handle(TransferBRep_ShapeBinder) STEPControl_ActorRead::TransferEntity
|
||||
aReadTessellatedWhenNoBRepOnly, aHasGeom, aLocalFactors);
|
||||
found = Standard_True;
|
||||
}
|
||||
else if (start->IsKind(STANDARD_TYPE(StepVisual_TessellatedSurfaceSet)))
|
||||
{
|
||||
myShapeBuilder.Init(GetCasted(StepVisual_TessellatedSurfaceSet, start), TP, aLocalFactors, aHasGeom);
|
||||
found = Standard_True;
|
||||
}
|
||||
}
|
||||
catch(Standard_Failure const&) {
|
||||
TP->AddFail(start,"Exception is raised. Entity was not translated.");
|
||||
|
Reference in New Issue
Block a user