mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-07-25 12:55:50 +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:
parent
f11043a8e8
commit
c950f7fe0e
@ -27,7 +27,7 @@
|
|||||||
#include <Standard_Real.hxx>
|
#include <Standard_Real.hxx>
|
||||||
#include <StepVisual_FaceOrSurface.hxx>
|
#include <StepVisual_FaceOrSurface.hxx>
|
||||||
#include <TColStd_HArray1OfInteger.hxx>
|
#include <TColStd_HArray1OfInteger.hxx>
|
||||||
#include <TColStd_HArray2OfInteger.hxx>
|
#include <TColStd_HArray1OfTransient.hxx>
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : RWStepVisual_RWComplexTriangulatedFace
|
//function : RWStepVisual_RWComplexTriangulatedFace
|
||||||
@ -118,15 +118,16 @@ void RWStepVisual_RWComplexTriangulatedFace::ReadStep (const Handle(StepData_Ste
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(TColStd_HArray2OfInteger) aTriangleStrips;
|
Handle(TColStd_HArray1OfTransient) aTriangleStrips;
|
||||||
Standard_Integer sub7 = 0;
|
Standard_Integer sub7 = 0;
|
||||||
if (theData->ReadSubList(theNum, 7, "triangle_strips", theCheck, sub7))
|
if (theData->ReadSubList(theNum, 7, "triangle_strips", theCheck, sub7))
|
||||||
{
|
{
|
||||||
Standard_Integer nb0 = theData->NbParams(sub7);
|
Standard_Integer nb0 = theData->NbParams(sub7);
|
||||||
Standard_Integer nbj0 = theData->NbParams(theData->ParamNumber(sub7,1));
|
aTriangleStrips = new TColStd_HArray1OfTransient(1, nb0);
|
||||||
aTriangleStrips = new TColStd_HArray2OfInteger(1, nb0, 1, nbj0);
|
|
||||||
for (Standard_Integer i0 = 1; i0 <= nb0; i0++)
|
for (Standard_Integer i0 = 1; i0 <= nb0; i0++)
|
||||||
{
|
{
|
||||||
|
Standard_Integer nbj0 = theData->NbParams(theData->ParamNumber(sub7, i0));
|
||||||
|
Handle(TColStd_HArray1OfInteger) aSingleTriangleStrip = new TColStd_HArray1OfInteger(1, nbj0);
|
||||||
Standard_Integer subj7 = 0;
|
Standard_Integer subj7 = 0;
|
||||||
if ( theData->ReadSubList (sub7, i0, "sub-part(triangle_strips)", theCheck, subj7) ) {
|
if ( theData->ReadSubList (sub7, i0, "sub-part(triangle_strips)", theCheck, subj7) ) {
|
||||||
Standard_Integer num4 = subj7;
|
Standard_Integer num4 = subj7;
|
||||||
@ -134,21 +135,23 @@ void RWStepVisual_RWComplexTriangulatedFace::ReadStep (const Handle(StepData_Ste
|
|||||||
{
|
{
|
||||||
Standard_Integer anIt0;
|
Standard_Integer anIt0;
|
||||||
theData->ReadInteger(num4, j0, "integer", theCheck, anIt0);
|
theData->ReadInteger(num4, j0, "integer", theCheck, anIt0);
|
||||||
aTriangleStrips->SetValue(i0,j0, anIt0);
|
aSingleTriangleStrip->SetValue(j0, anIt0);
|
||||||
}
|
}
|
||||||
|
aTriangleStrips->SetValue(i0, aSingleTriangleStrip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(TColStd_HArray2OfInteger) aTriangleFans;
|
Handle(TColStd_HArray1OfTransient) aTriangleFans;
|
||||||
Standard_Integer sub8 = 0;
|
Standard_Integer sub8 = 0;
|
||||||
if (theData->ReadSubList(theNum, 8, "triangle_fans", theCheck, sub8))
|
if (theData->ReadSubList(theNum, 8, "triangle_fans", theCheck, sub8))
|
||||||
{
|
{
|
||||||
Standard_Integer nb0 = theData->NbParams(sub8);
|
Standard_Integer nb0 = theData->NbParams(sub8);
|
||||||
Standard_Integer nbj0 = theData->NbParams(theData->ParamNumber(sub8,1));
|
aTriangleFans = new TColStd_HArray1OfTransient(1, nb0);
|
||||||
aTriangleFans = new TColStd_HArray2OfInteger(1, nb0, 1, nbj0);
|
|
||||||
for (Standard_Integer i0 = 1; i0 <= nb0; i0++)
|
for (Standard_Integer i0 = 1; i0 <= nb0; i0++)
|
||||||
{
|
{
|
||||||
|
Standard_Integer nbj0 = theData->NbParams(theData->ParamNumber(sub8, i0));
|
||||||
|
Handle(TColStd_HArray1OfInteger) aSingleTriangleFan = new TColStd_HArray1OfInteger(1, nbj0);
|
||||||
Standard_Integer subj8 = 0;
|
Standard_Integer subj8 = 0;
|
||||||
if ( theData->ReadSubList (sub8, i0, "sub-part(triangle_fans)", theCheck, subj8) ) {
|
if ( theData->ReadSubList (sub8, i0, "sub-part(triangle_fans)", theCheck, subj8) ) {
|
||||||
Standard_Integer num4 = subj8;
|
Standard_Integer num4 = subj8;
|
||||||
@ -156,8 +159,9 @@ void RWStepVisual_RWComplexTriangulatedFace::ReadStep (const Handle(StepData_Ste
|
|||||||
{
|
{
|
||||||
Standard_Integer anIt0;
|
Standard_Integer anIt0;
|
||||||
theData->ReadInteger(num4, j0, "integer", theCheck, anIt0);
|
theData->ReadInteger(num4, j0, "integer", theCheck, anIt0);
|
||||||
aTriangleFans->SetValue(i0,j0, anIt0);
|
aSingleTriangleFan->SetValue(j0, anIt0);
|
||||||
}
|
}
|
||||||
|
aTriangleFans->SetValue(i0, aSingleTriangleFan);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -219,13 +223,14 @@ void RWStepVisual_RWComplexTriangulatedFace::WriteStep (StepData_StepWriter& the
|
|||||||
theSW.CloseSub();
|
theSW.CloseSub();
|
||||||
|
|
||||||
theSW.OpenSub();
|
theSW.OpenSub();
|
||||||
for (Standard_Integer i6 = 1; i6 <= theEnt->TriangleStrips()->RowLength(); i6++)
|
for (Standard_Integer i6 = 1; i6 <= theEnt->NbTriangleStrips(); i6++)
|
||||||
{
|
{
|
||||||
theSW.NewLine(Standard_False);
|
theSW.NewLine(Standard_False);
|
||||||
theSW.OpenSub();
|
theSW.OpenSub();
|
||||||
for (Standard_Integer j6 = 1; j6 <= theEnt->TriangleStrips()->ColLength(); j6++)
|
Handle(TColStd_HArray1OfInteger) aTriangleStrip = Handle(TColStd_HArray1OfInteger)::DownCast(theEnt->TriangleStrips()->Value(i6));
|
||||||
|
for (Standard_Integer j6 = 1; j6 <= aTriangleStrip->Length(); j6++)
|
||||||
{
|
{
|
||||||
Standard_Integer Var0 = theEnt->TriangleStrips()->Value(i6,j6);
|
Standard_Integer Var0 = aTriangleStrip->Value(j6);
|
||||||
theSW.Send(Var0);
|
theSW.Send(Var0);
|
||||||
}
|
}
|
||||||
theSW.CloseSub();
|
theSW.CloseSub();
|
||||||
@ -233,13 +238,14 @@ void RWStepVisual_RWComplexTriangulatedFace::WriteStep (StepData_StepWriter& the
|
|||||||
theSW.CloseSub();
|
theSW.CloseSub();
|
||||||
|
|
||||||
theSW.OpenSub();
|
theSW.OpenSub();
|
||||||
for (Standard_Integer i7 = 1; i7 <= theEnt->TriangleFans()->RowLength(); i7++)
|
for (Standard_Integer i7 = 1; i7 <= theEnt->NbTriangleFans(); i7++)
|
||||||
{
|
{
|
||||||
theSW.NewLine(Standard_False);
|
theSW.NewLine(Standard_False);
|
||||||
theSW.OpenSub();
|
theSW.OpenSub();
|
||||||
for (Standard_Integer j7 = 1; j7 <= theEnt->TriangleFans()->ColLength(); j7++)
|
Handle(TColStd_HArray1OfInteger) aTriangleFan = Handle(TColStd_HArray1OfInteger)::DownCast(theEnt->TriangleFans()->Value(i7));
|
||||||
|
for (Standard_Integer j7 = 1; j7 <= aTriangleFan->Length(); j7++)
|
||||||
{
|
{
|
||||||
Standard_Integer Var0 = theEnt->TriangleFans()->Value(i7,j7);
|
Standard_Integer Var0 = aTriangleFan->Value(j7);
|
||||||
theSW.Send(Var0);
|
theSW.Send(Var0);
|
||||||
}
|
}
|
||||||
theSW.CloseSub();
|
theSW.CloseSub();
|
||||||
|
@ -114,12 +114,14 @@ Interface_EntityIterator& theIter) const
|
|||||||
{
|
{
|
||||||
|
|
||||||
// Inherited fields of Representation
|
// Inherited fields of Representation
|
||||||
|
if (!theEnt->StepRepr_Representation::Items().IsNull())
|
||||||
|
{
|
||||||
for (Standard_Integer i1 = 1; i1 <= theEnt->StepRepr_Representation::Items()->Length(); i1++)
|
for (Standard_Integer i1 = 1; i1 <= theEnt->StepRepr_Representation::Items()->Length(); i1++)
|
||||||
{
|
{
|
||||||
Handle(StepRepr_RepresentationItem) Var0 = theEnt->StepRepr_Representation::Items()->Value(i1);
|
Handle(StepRepr_RepresentationItem) Var0 = theEnt->StepRepr_Representation::Items()->Value(i1);
|
||||||
theIter.AddItem(Var0);
|
theIter.AddItem(Var0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
theIter.AddItem(theEnt->StepRepr_Representation::ContextOfItems());
|
theIter.AddItem(theEnt->StepRepr_Representation::ContextOfItems());
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@
|
|||||||
// To proceed with I-DEAS-like STP (ssv; 15.11.2010)
|
// To proceed with I-DEAS-like STP (ssv; 15.11.2010)
|
||||||
//#define DEBUG
|
//#define DEBUG
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// Method : StepToTopoDS_TranslateFace::StepToTopoDS_TranslateFace
|
// Method : StepToTopoDS_TranslateFace
|
||||||
// Purpose : Empty Constructor
|
// Purpose : Empty Constructor
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
StepToTopoDS_TranslateFace::StepToTopoDS_TranslateFace()
|
StepToTopoDS_TranslateFace::StepToTopoDS_TranslateFace()
|
||||||
@ -540,24 +540,25 @@ StepToTopoDS_TranslateFace::createMesh(const Handle(StepVisual_ComplexTriangulat
|
|||||||
{
|
{
|
||||||
Handle(StepVisual_CoordinatesList) aCoords = theTF->Coordinates();
|
Handle(StepVisual_CoordinatesList) aCoords = theTF->Coordinates();
|
||||||
Handle(TColgp_HArray1OfXYZ) aNodes = aCoords->Points();
|
Handle(TColgp_HArray1OfXYZ) aNodes = aCoords->Points();
|
||||||
Handle(TColStd_HArray2OfInteger) aTriaStrips = theTF->TriangleStrips();
|
Handle(TColStd_HArray1OfTransient) aTriaStrips = theTF->TriangleStrips();
|
||||||
Handle(TColStd_HArray2OfInteger) aTriaFans = theTF->TriangleFans();
|
Handle(TColStd_HArray1OfTransient) aTriaFans = theTF->TriangleFans();
|
||||||
const Standard_Boolean aHasUVNodes = Standard_False;
|
const Standard_Boolean aHasUVNodes = Standard_False;
|
||||||
const Standard_Boolean aHasNormals = (theTF->NbNormals() > 0);
|
const Standard_Boolean aHasNormals = (theTF->NbNormals() > 0);
|
||||||
|
|
||||||
Standard_Integer aNbTriaStrips = 0;
|
Standard_Integer aNbTriaStrips = 0;
|
||||||
for (Standard_Integer i = 1; i <= theTF->NbTriangleStrips(); ++i)
|
for (Standard_Integer i = 1; i <= theTF->NbTriangleStrips(); ++i)
|
||||||
{
|
{
|
||||||
for (Standard_Integer j = 3; j <= aTriaStrips->UpperCol(); j += 2)
|
Handle(TColStd_HArray1OfInteger) aTriangleStrip = Handle(TColStd_HArray1OfInteger)::DownCast(aTriaStrips->Value(i));
|
||||||
|
for (Standard_Integer j = 3; j <= aTriangleStrip->Length(); j += 2)
|
||||||
{
|
{
|
||||||
if (aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 2) &&
|
if (aTriangleStrip->Value(j) != aTriangleStrip->Value(j - 2) &&
|
||||||
aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 1))
|
aTriangleStrip->Value(j) != aTriangleStrip->Value(j - 1))
|
||||||
++aNbTriaStrips;
|
++aNbTriaStrips;
|
||||||
}
|
}
|
||||||
for (Standard_Integer j = 4; j <= aTriaStrips->UpperCol(); j += 2)
|
for (Standard_Integer j = 4; j <= aTriangleStrip->Length(); j += 2)
|
||||||
{
|
{
|
||||||
if (aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 2) &&
|
if (aTriangleStrip->Value(j) != aTriangleStrip->Value(j - 2) &&
|
||||||
aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 1))
|
aTriangleStrip->Value(j) != aTriangleStrip->Value(j - 1))
|
||||||
++aNbTriaStrips;
|
++aNbTriaStrips;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -565,12 +566,8 @@ StepToTopoDS_TranslateFace::createMesh(const Handle(StepVisual_ComplexTriangulat
|
|||||||
Standard_Integer aNbTriaFans = 0;
|
Standard_Integer aNbTriaFans = 0;
|
||||||
for (Standard_Integer i = 1; i <= theTF->NbTriangleFans(); ++i)
|
for (Standard_Integer i = 1; i <= theTF->NbTriangleFans(); ++i)
|
||||||
{
|
{
|
||||||
Standard_Integer v1 = aTriaStrips->Value(i, 1);
|
Handle(TColStd_HArray1OfInteger) aTriangleFan = Handle(TColStd_HArray1OfInteger)::DownCast(aTriaFans->Value(i));
|
||||||
for (Standard_Integer j = 3; j <= aTriaStrips->UpperCol(); ++j)
|
aNbTriaFans += aTriangleFan->Length() - 2;
|
||||||
{
|
|
||||||
if (aTriaStrips->Value(i, j) != v1 && aTriaStrips->Value(i, j - 1) != v1)
|
|
||||||
++aNbTriaFans;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(Poly_Triangulation) aMesh = new Poly_Triangulation(theTF->NbPnindex(),
|
Handle(Poly_Triangulation) aMesh = new Poly_Triangulation(theTF->NbPnindex(),
|
||||||
@ -583,27 +580,42 @@ StepToTopoDS_TranslateFace::createMesh(const Handle(StepVisual_ComplexTriangulat
|
|||||||
aMesh->SetNode(j, aLF * aPoint);
|
aMesh->SetNode(j, aLF * aPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
Standard_Integer k = 1;
|
Standard_Integer aTriangleIndex = 1;
|
||||||
for (Standard_Integer i = 1; i <= theTF->NbTriangleStrips(); ++i)
|
for (Standard_Integer aTrianStripIndex = 1; aTrianStripIndex <= theTF->NbTriangleStrips(); ++aTrianStripIndex)
|
||||||
{
|
{
|
||||||
for (Standard_Integer j = 3; j <= aTriaStrips->UpperCol(); j += 2)
|
Handle(TColStd_HArray1OfInteger) aTriangleStrip = Handle(TColStd_HArray1OfInteger)::DownCast(aTriaStrips->Value(aTrianStripIndex));
|
||||||
|
for (Standard_Integer anIndex = 3; anIndex <= aTriangleStrip->Length(); anIndex += 2)
|
||||||
{
|
{
|
||||||
if (aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 2) &&
|
if (aTriangleStrip->Value(anIndex) != aTriangleStrip->Value(anIndex - 2) &&
|
||||||
aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 1))
|
aTriangleStrip->Value(anIndex) != aTriangleStrip->Value(anIndex - 1))
|
||||||
{
|
{
|
||||||
aMesh->SetTriangle(k++, Poly_Triangle(aTriaStrips->Value(i, j - 2),
|
aMesh->SetTriangle(aTriangleIndex++, Poly_Triangle(aTriangleStrip->Value(anIndex - 2),
|
||||||
aTriaStrips->Value(i, j),
|
aTriangleStrip->Value(anIndex),
|
||||||
aTriaStrips->Value(i, j - 1)));
|
aTriangleStrip->Value(anIndex - 1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (Standard_Integer j = 4; j <= aTriaStrips->UpperCol(); j += 2)
|
for (Standard_Integer anIndex = 4; anIndex <= aTriangleStrip->Length(); anIndex += 2)
|
||||||
{
|
{
|
||||||
if (aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 2) &&
|
if (aTriangleStrip->Value(anIndex) != aTriangleStrip->Value(anIndex - 2) &&
|
||||||
aTriaStrips->Value(i, j) != aTriaStrips->Value(i, j - 1))
|
aTriangleStrip->Value(anIndex) != aTriangleStrip->Value(anIndex - 1))
|
||||||
{
|
{
|
||||||
aMesh->SetTriangle(k++, Poly_Triangle(aTriaStrips->Value(i, j - 2),
|
aMesh->SetTriangle(aTriangleIndex++, Poly_Triangle(aTriangleStrip->Value(anIndex - 2),
|
||||||
aTriaStrips->Value(i, j - 1),
|
aTriangleStrip->Value(anIndex - 1),
|
||||||
aTriaStrips->Value(i, j)));
|
aTriangleStrip->Value(anIndex)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Standard_Integer aTrianFanIndex = 1; aTrianFanIndex <= theTF->NbTriangleFans(); ++aTrianFanIndex)
|
||||||
|
{
|
||||||
|
Handle(TColStd_HArray1OfInteger) aTriangleFan = Handle(TColStd_HArray1OfInteger)::DownCast(aTriaFans->Value(aTrianFanIndex));
|
||||||
|
for (Standard_Integer anIndex = 3; anIndex <= aTriangleFan->Length(); ++anIndex)
|
||||||
|
{
|
||||||
|
if (aTriangleFan->Value(anIndex) != aTriangleFan->Value(anIndex - 2) &&
|
||||||
|
aTriangleFan->Value(anIndex - 1) != aTriangleFan->Value(anIndex - 2))
|
||||||
|
{
|
||||||
|
aMesh->SetTriangle(aTriangleIndex++, Poly_Triangle(aTriangleFan->Value(1),
|
||||||
|
aTriangleFan->Value(anIndex),
|
||||||
|
aTriangleFan->Value(anIndex - 1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,8 +39,8 @@ void StepVisual_ComplexTriangulatedFace::Init (const Handle(TCollection_HAsciiSt
|
|||||||
const Standard_Boolean theHasTessellatedFace_GeometricLink,
|
const Standard_Boolean theHasTessellatedFace_GeometricLink,
|
||||||
const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
|
const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
|
||||||
const Handle(TColStd_HArray1OfInteger)& thePnindex,
|
const Handle(TColStd_HArray1OfInteger)& thePnindex,
|
||||||
const Handle(TColStd_HArray2OfInteger)& theTriangleStrips,
|
const Handle(TColStd_HArray1OfTransient)& theTriangleStrips,
|
||||||
const Handle(TColStd_HArray2OfInteger)& theTriangleFans)
|
const Handle(TColStd_HArray1OfTransient)& theTriangleFans)
|
||||||
{
|
{
|
||||||
StepVisual_TessellatedFace::Init(theRepresentationItem_Name,
|
StepVisual_TessellatedFace::Init(theRepresentationItem_Name,
|
||||||
theTessellatedFace_Coordinates,
|
theTessellatedFace_Coordinates,
|
||||||
@ -107,7 +107,7 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::PnindexValue(const Standard
|
|||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleStrips () const
|
Handle(TColStd_HArray1OfTransient) StepVisual_ComplexTriangulatedFace::TriangleStrips () const
|
||||||
{
|
{
|
||||||
return myTriangleStrips;
|
return myTriangleStrips;
|
||||||
}
|
}
|
||||||
@ -117,7 +117,7 @@ Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleStr
|
|||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
void StepVisual_ComplexTriangulatedFace::SetTriangleStrips(const Handle(TColStd_HArray2OfInteger)& theTriangleStrips)
|
void StepVisual_ComplexTriangulatedFace::SetTriangleStrips(const Handle(TColStd_HArray1OfTransient)& theTriangleStrips)
|
||||||
{
|
{
|
||||||
myTriangleStrips = theTriangleStrips;
|
myTriangleStrips = theTriangleStrips;
|
||||||
}
|
}
|
||||||
@ -133,7 +133,7 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::NbTriangleStrips() const
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return myTriangleStrips->ColLength();
|
return myTriangleStrips->Length();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@ -141,7 +141,7 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::NbTriangleStrips() const
|
|||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleFans () const
|
Handle(TColStd_HArray1OfTransient) StepVisual_ComplexTriangulatedFace::TriangleFans () const
|
||||||
{
|
{
|
||||||
return myTriangleFans;
|
return myTriangleFans;
|
||||||
}
|
}
|
||||||
@ -151,7 +151,7 @@ Handle(TColStd_HArray2OfInteger) StepVisual_ComplexTriangulatedFace::TriangleFan
|
|||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
void StepVisual_ComplexTriangulatedFace::SetTriangleFans(const Handle(TColStd_HArray2OfInteger)& theTriangleFans)
|
void StepVisual_ComplexTriangulatedFace::SetTriangleFans(const Handle(TColStd_HArray1OfTransient)& theTriangleFans)
|
||||||
{
|
{
|
||||||
myTriangleFans = theTriangleFans;
|
myTriangleFans = theTriangleFans;
|
||||||
}
|
}
|
||||||
@ -167,5 +167,5 @@ Standard_Integer StepVisual_ComplexTriangulatedFace::NbTriangleFans() const
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return myTriangleFans->ColLength();
|
return myTriangleFans->Length();
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <StepVisual_TessellatedFace.hxx>
|
#include <StepVisual_TessellatedFace.hxx>
|
||||||
|
|
||||||
#include <TColStd_HArray1OfInteger.hxx>
|
#include <TColStd_HArray1OfInteger.hxx>
|
||||||
#include <TColStd_HArray2OfInteger.hxx>
|
#include <TColStd_HArray1OfTransient.hxx>
|
||||||
|
|
||||||
DEFINE_STANDARD_HANDLE(StepVisual_ComplexTriangulatedFace, StepVisual_TessellatedFace)
|
DEFINE_STANDARD_HANDLE(StepVisual_ComplexTriangulatedFace, StepVisual_TessellatedFace)
|
||||||
|
|
||||||
@ -43,8 +43,8 @@ public :
|
|||||||
const Standard_Boolean theHasTessellatedFace_GeometricLink,
|
const Standard_Boolean theHasTessellatedFace_GeometricLink,
|
||||||
const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
|
const StepVisual_FaceOrSurface& theTessellatedFace_GeometricLink,
|
||||||
const Handle(TColStd_HArray1OfInteger)& thePnindex,
|
const Handle(TColStd_HArray1OfInteger)& thePnindex,
|
||||||
const Handle(TColStd_HArray2OfInteger)& theTriangleStrips,
|
const Handle(TColStd_HArray1OfTransient)& theTriangleStrips,
|
||||||
const Handle(TColStd_HArray2OfInteger)& theTriangleFans);
|
const Handle(TColStd_HArray1OfTransient)& theTriangleFans);
|
||||||
|
|
||||||
//! Returns field Pnindex
|
//! Returns field Pnindex
|
||||||
Standard_EXPORT Handle(TColStd_HArray1OfInteger) Pnindex() const;
|
Standard_EXPORT Handle(TColStd_HArray1OfInteger) Pnindex() const;
|
||||||
@ -59,19 +59,19 @@ public :
|
|||||||
Standard_EXPORT Standard_Integer PnindexValue(const Standard_Integer theNum) const;
|
Standard_EXPORT Standard_Integer PnindexValue(const Standard_Integer theNum) const;
|
||||||
|
|
||||||
//! Returns field TriangleStrips
|
//! Returns field TriangleStrips
|
||||||
Standard_EXPORT Handle(TColStd_HArray2OfInteger) TriangleStrips() const;
|
Standard_EXPORT Handle(TColStd_HArray1OfTransient) TriangleStrips() const;
|
||||||
|
|
||||||
//! Sets field TriangleStrips
|
//! 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
|
//! Returns number of TriangleStrips
|
||||||
Standard_EXPORT Standard_Integer NbTriangleStrips() const;
|
Standard_EXPORT Standard_Integer NbTriangleStrips() const;
|
||||||
|
|
||||||
//! Returns field TriangleFans
|
//! Returns field TriangleFans
|
||||||
Standard_EXPORT Handle(TColStd_HArray2OfInteger) TriangleFans() const;
|
Standard_EXPORT Handle(TColStd_HArray1OfTransient) TriangleFans() const;
|
||||||
|
|
||||||
//! Sets field TriangleFans
|
//! 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
|
//! Returns number of TriangleFans
|
||||||
Standard_EXPORT Standard_Integer NbTriangleFans() const;
|
Standard_EXPORT Standard_Integer NbTriangleFans() const;
|
||||||
@ -81,8 +81,8 @@ public :
|
|||||||
private:
|
private:
|
||||||
|
|
||||||
Handle(TColStd_HArray1OfInteger) myPnindex;
|
Handle(TColStd_HArray1OfInteger) myPnindex;
|
||||||
Handle(TColStd_HArray2OfInteger) myTriangleStrips;
|
Handle(TColStd_HArray1OfTransient) myTriangleStrips;
|
||||||
Handle(TColStd_HArray2OfInteger) myTriangleFans;
|
Handle(TColStd_HArray1OfTransient) myTriangleFans;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,4 +9,4 @@ XGetOneShape S D
|
|||||||
|
|
||||||
set nb_faces 273
|
set nb_faces 273
|
||||||
set nb_nodes 3788
|
set nb_nodes 3788
|
||||||
set nb_triangles 2893
|
set nb_triangles 3377
|
||||||
|
Loading…
x
Reference in New Issue
Block a user