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

0033491: Data Exchange, Step Import - Incorrect import of ComplexTriangulatedFace

Reading and writing of triangle_strips and triangle_fans has been corrected in RWStepVisual_RWComplexTriangulatedFace.cxx file. And corresponding corrections have been added to other files.
This commit is contained in:
ichesnok
2023-09-25 11:04:05 +01:00
parent f0c6e6fc8d
commit 588ee924e4
7 changed files with 75 additions and 216 deletions

View File

@@ -39,8 +39,8 @@ void StepVisual_ComplexTriangulatedFace::Init (const Handle(TCollection_HAsciiSt
const Standard_Boolean theHasTessellatedFace_GeometricLink,
const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
const Handle(TColStd_HArray1OfInteger)& thePnindex,
const Handle(TColStd_HArray2OfInteger)& theTriangleStrips,
const Handle(TColStd_HArray2OfInteger)& theTriangleFans)
const Handle(TColStd_HArray1OfTransient)& theTriangleStrips,
const Handle(TColStd_HArray1OfTransient)& theTriangleFans)
{
StepVisual_TessellatedFace::Init(theRepresentationItem_Name,
theTessellatedFace_Coordinates,
@@ -107,7 +107,7 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::PnindexValue(const Standard
//purpose :
//=======================================================================
Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleStrips () const
Handle(TColStd_HArray1OfTransient) StepVisual_ComplexTriangulatedFace::TriangleStrips () const
{
return myTriangleStrips;
}
@@ -117,7 +117,7 @@ Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleStr
//purpose :
//=======================================================================
void StepVisual_ComplexTriangulatedFace::SetTriangleStrips(const Handle(TColStd_HArray2OfInteger)& theTriangleStrips)
void StepVisual_ComplexTriangulatedFace::SetTriangleStrips(const Handle(TColStd_HArray1OfTransient)& theTriangleStrips)
{
myTriangleStrips = theTriangleStrips;
}
@@ -133,7 +133,7 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::NbTriangleStrips() const
{
return 0;
}
return myTriangleStrips->ColLength();
return myTriangleStrips->Length();
}
//=======================================================================
@@ -141,7 +141,7 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::NbTriangleStrips() const
//purpose :
//=======================================================================
Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleFans () const
Handle(TColStd_HArray1OfTransient) StepVisual_ComplexTriangulatedFace::TriangleFans () const
{
return myTriangleFans;
}
@@ -151,7 +151,7 @@ Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleFan
//purpose :
//=======================================================================
void StepVisual_ComplexTriangulatedFace::SetTriangleFans(const Handle(TColStd_HArray2OfInteger)& theTriangleFans)
void StepVisual_ComplexTriangulatedFace::SetTriangleFans(const Handle(TColStd_HArray1OfTransient)& theTriangleFans)
{
myTriangleFans = theTriangleFans;
}
@@ -167,5 +167,5 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::NbTriangleFans() const
{
return 0;
}
return myTriangleFans->ColLength();
return myTriangleFans->Length();
}

View File

@@ -22,7 +22,7 @@
#include <StepVisual_TessellatedFace.hxx>
#include <TColStd_HArray1OfInteger.hxx>
#include <TColStd_HArray2OfInteger.hxx>
#include <TColStd_HArray1OfTransient.hxx>
DEFINE_STANDARD_HANDLE(StepVisual_ComplexTriangulatedFace, StepVisual_TessellatedFace)
@@ -43,8 +43,8 @@ public :
const Standard_Boolean theHasTessellatedFace_GeometricLink,
const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
const Handle(TColStd_HArray1OfInteger)& thePnindex,
const Handle(TColStd_HArray2OfInteger)& theTriangleStrips,
const Handle(TColStd_HArray2OfInteger)& theTriangleFans);
const Handle(TColStd_HArray1OfTransient)& theTriangleStrips,
const Handle(TColStd_HArray1OfTransient)& theTriangleFans);
//! Returns field Pnindex
Standard_EXPORT Handle(TColStd_HArray1OfInteger) Pnindex() const;
@@ -59,19 +59,19 @@ public :
Standard_EXPORT Standard_Integer PnindexValue(const Standard_Integer theNum) const;
//! Returns field TriangleStrips
Standard_EXPORT Handle(TColStd_HArray2OfInteger) TriangleStrips() const;
Standard_EXPORT Handle(TColStd_HArray1OfTransient) TriangleStrips() const;
//! Sets field TriangleStrips
Standard_EXPORT void SetTriangleStrips (const Handle(TColStd_HArray2OfInteger)& theTriangleStrips);
Standard_EXPORT void SetTriangleStrips (const Handle(TColStd_HArray1OfTransient)& theTriangleStrips);
//! Returns number of TriangleStrips
Standard_EXPORT Standard_Integer NbTriangleStrips() const;
//! Returns field TriangleFans
Standard_EXPORT Handle(TColStd_HArray2OfInteger) TriangleFans() const;
Standard_EXPORT Handle(TColStd_HArray1OfTransient) TriangleFans() const;
//! Sets field TriangleFans
Standard_EXPORT void SetTriangleFans (const Handle(TColStd_HArray2OfInteger)& theTriangleFans);
Standard_EXPORT void SetTriangleFans (const Handle(TColStd_HArray1OfTransient)& theTriangleFans);
//! Returns number of TriangleFans
Standard_EXPORT Standard_Integer NbTriangleFans() const;
@@ -81,8 +81,8 @@ public :
private:
Handle(TColStd_HArray1OfInteger) myPnindex;
Handle(TColStd_HArray2OfInteger) myTriangleStrips;
Handle(TColStd_HArray2OfInteger) myTriangleFans;
Handle(TColStd_HArray1OfTransient) myTriangleStrips;
Handle(TColStd_HArray1OfTransient) myTriangleFans;
};