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

0033484: Data Exchange, Step Import - Pretessellated geometry is translated incompletely

Added proper translation for TessellatedCurveSet and ComplexTriangulatedSurfaceSet.
This commit is contained in:
anv
2023-09-15 06:15:34 +01:00
parent 06f2625c35
commit 2b5ee7c791
9 changed files with 291 additions and 98 deletions

View File

@@ -37,8 +37,8 @@ void StepVisual_ComplexTriangulatedSurfaceSet::Init (const Handle(TCollection_HA
const Standard_Integer theTessellatedSurfaceSet_Pnmax,
const Handle(TColStd_HArray2OfReal)& theTessellatedSurfaceSet_Normals,
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_TessellatedSurfaceSet::Init(theRepresentationItem_Name,
theTessellatedSurfaceSet_Coordinates,
@@ -103,7 +103,7 @@ Standard_Integer StepVisual_ComplexTriangulatedSurfaceSet::PnindexValue(const St
//purpose :
//=======================================================================
Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedSurfaceSet::TriangleStrips () const
Handle(TColStd_HArray1OfTransient) StepVisual_ComplexTriangulatedSurfaceSet::TriangleStrips () const
{
return myTriangleStrips;
}
@@ -113,7 +113,7 @@ Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedSurfaceSet::Trian
//purpose :
//=======================================================================
void StepVisual_ComplexTriangulatedSurfaceSet::SetTriangleStrips(const Handle(TColStd_HArray2OfInteger)& theTriangleStrips)
void StepVisual_ComplexTriangulatedSurfaceSet::SetTriangleStrips(const Handle(TColStd_HArray1OfTransient)& theTriangleStrips)
{
myTriangleStrips = theTriangleStrips;
}
@@ -129,7 +129,7 @@ Standard_Integer StepVisual_ComplexTriangulatedSurfaceSet::NbTriangleStrips() co
{
return 0;
}
return myTriangleStrips->ColLength();
return myTriangleStrips->Length();
}
//=======================================================================
@@ -137,7 +137,7 @@ Standard_Integer StepVisual_ComplexTriangulatedSurfaceSet::NbTriangleStrips() co
//purpose :
//=======================================================================
Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedSurfaceSet::TriangleFans () const
Handle(TColStd_HArray1OfTransient) StepVisual_ComplexTriangulatedSurfaceSet::TriangleFans () const
{
return myTriangleFans;
}
@@ -147,7 +147,7 @@ Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedSurfaceSet::Trian
//purpose :
//=======================================================================
void StepVisual_ComplexTriangulatedSurfaceSet::SetTriangleFans(const Handle(TColStd_HArray2OfInteger)& theTriangleFans)
void StepVisual_ComplexTriangulatedSurfaceSet::SetTriangleFans(const Handle(TColStd_HArray1OfTransient)& theTriangleFans)
{
myTriangleFans = theTriangleFans;
}
@@ -163,5 +163,5 @@ Standard_Integer StepVisual_ComplexTriangulatedSurfaceSet::NbTriangleFans() cons
{
return 0;
}
return myTriangleFans->ColLength();
return myTriangleFans->Length();
}

View File

@@ -22,7 +22,7 @@
#include <StepVisual_TessellatedSurfaceSet.hxx>
#include <TColStd_HArray1OfInteger.hxx>
#include <TColStd_HArray2OfInteger.hxx>
#include <TColStd_HArray1OfTransient.hxx>
DEFINE_STANDARD_HANDLE(StepVisual_ComplexTriangulatedSurfaceSet, StepVisual_TessellatedSurfaceSet)
@@ -41,8 +41,8 @@ public :
const Standard_Integer theTessellatedSurfaceSet_Pnmax,
const Handle(TColStd_HArray2OfReal)& theTessellatedSurfaceSet_Normals,
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;
@@ -57,19 +57,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;
@@ -79,8 +79,8 @@ public :
private:
Handle(TColStd_HArray1OfInteger) myPnindex;
Handle(TColStd_HArray2OfInteger) myTriangleStrips;
Handle(TColStd_HArray2OfInteger) myTriangleFans;
Handle(TColStd_HArray1OfTransient) myTriangleStrips;
Handle(TColStd_HArray1OfTransient) myTriangleFans;
};