MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #22618 All Revisions ] Back to Issue ]
Summary 0022618: Visualization - Tool for building generic wireframe representation of a face
Revision 2012-10-27 03:50 by san
Description The problem of building a wireframe representation (a set of polylines for the
face' edges and isolines) of a topological face is not new at all.

1. Currently, there are several similar classes in OCCT in StdPrs and Prs3d
packages.
The complete set of such classes is to be identified and listed in this bug. One
more similar tool can be found in SALOME GEOM module.

AIS_Shape class currently use StdPrs_WFDeflectionRestrictedFace class (through
Prs3d_WFShape) for this purpose. But this class does not build a generic
wireframe mesh containing points and polylines. Instead, it fills
Prs3d_Presentation with internal OCCT data. Thus it is extremely difficult to
reuse this class outside OCCT 3D viewer.

SALOME GEOM module uses OCC2VTK_WireframeFace class to build wireframe
representation for VTK viewer. This class uses slightly different (at the first
glance) implementation of isoline building algorithm. It is not generic, either,
as it fills VTK data structures.

Meanwhile, sometimes it is necessary to have wireframe representation in the
form of generic polylines, to pass it to some third-party 3D engine or just to
avoid dependency on SALOME.
Today the most straightforward solution is copy/paste-based...

2. The idea is to compare the existing implementations and create a generic tool
somewhere, presumably at the level of BRepMesh package.
The name of such a tool is to be discussed (I suggest something like
BRepMesh_IsoBuilder).
This tool should fill generic data structures, such as a list of Poly_Polygon3D
containers.

In case if Poly_Triangulation is available for the underlying face, it looks
very interesting to analyze the possibility of building the polylines on the
triangulation and creating Poly_PolygonOnTriangulation containers instead, so as
to use exactly the same discrete geometry as for shaded face representation,
that would minimize visual artifacts when wireframe and shaded representations
are combined in a 3D scene. However, such optimization is to be analyzed
carefully.

3. Finally, AIS_Shape should be migrated to this new tool, and obsolete StdPrs
and Prs3d classes should be removed. The same procedure could be also applied to
OCC2VTK_WireframeFace if necessary.
Revision 2011-10-03 14:39 by pdn
Description The problem of building a wireframe representation (a set of polylines for the
face' edges and isolines) of a topological face is not new at all.

1. Currently, there are several similar classes in OCCT in StdPrs and Prs3d
packages.
The complete set of such classes is to be identified and listed in this bug. One
more similar tool can be found in SALOME GEOM module.

AIS_Shape class currently use StdPrs_WFDeflectionRestrictedFace class (through
Prs3d_WFShape) for this purpose. But this class does not build a generic
wireframe mesh containing points and polylines. Instead, it fills
Prs3d_Presentation with internal OCCT data. Thus it is extremely difficult to
reuse this class outside OCCT 3D viewer.

SALOME GEOM module uses OCC2VTK_WireframeFace class to build wireframe
representation for VTK viewer. This class uses slightly different (at the first
glance) implementation of isoline building algorithm. It is not generic, either,
as it fills VTK data structures.

Meanwhile, sometimes it is necessary to have wireframe representation in the
form of generic polylines, to pass it to some third-party 3D engine or just to
avoid dependency on SALOME.
Today the most straightforward solution is copy/paste-based...

2. The idea is to compare the existing implementations and create a generic tool
somewhere, presumably at the level of BRepMesh package.
The name of such a tool is to be discussed (I suggest something like
BRepMesh_IsoBuilder).
This tool should fill generic data structures, such as a list of Poly_Polygon3D
containers.

In case if Poly_Triangulation is available for the underlying face, it looks
very interesting to analyze the possibility of building the polylines on the
triangulation and creating Poly_PolygonOnTriangulation containers instead, so as
to use exactly the same discrete geometry as for shaded face representation,
that would minimize visual artifacts when wireframe and shaded representations
are combined in a 3D scene. However, such optimization is to be analyzed
carefully. Experience of LPKF project team (the hatching algorithm) might be
applicable - this is to be checked with PDN.

3. Finally, AIS_Shape should be migrated to this new tool, and obsolete StdPrs
and Prs3d classes should be removed. The same procedure could be also applied to
OCC2VTK_WireframeFace if necessary.
Revision 2011-08-03 11:18 by pdn
Description The problem of building a wireframe representation (a set of polylines for the
face' edges and isolines) of a topological face is not new at all.

1. Currently, there are several similar classes in OCCT in StdPrs and Prs3d
packages.
The complete set of such classes is to be identified and listed in this bug. One
more similar tool can be found in SALOME GEOM module.

AIS_Shape class currently use StdPrs_WFDeflectionRestrictedFace class (through
Prs3d_WFShape) for this purpose. But this class does not build a generic
wireframe mesh containing points and polylines. Instead, it fills
Prs3d_Presentation with internal OCCT data. Thus it is extremely difficult to
reuse this class outside OCCT 3D viewer.

SALOME GEOM module uses OCC2VTK_WireframeFace class to build wireframe
representation for VTK viewer. This class uses slightly different (at the first
glance) implementation of isoline building algorithm. It is not generic, either,
as it fills VTK data structures.

Meanwhile, sometimes it is necessary to have wireframe representation in the
form of generic polylines, to pass it to some third-party 3D engine or just to
avoid dependency on SALOME.
Today the most straightforward solution is copy/paste-based...

2. The idea is to compare the existing implementations and create a generic tool
somewhere, presumably at the level of BRepMesh package.
The name of such a tool is to be discussed (I suggest something like
BRepMesh_IsoBuilder).
This tool should fill generic data structures, such as a list of Poly_Polygon3D
containers.

In case if Poly_Triangulation is available for the underlying face, it looks
very interesting to analyze the possibility of building the polylines on the
triangulation and creating Poly_PolygonOnTriangulation containers instead, so as
to use exactly the same discrete geometry as for shaded face representation,
that would minimize visual artifacts when wireframe and shaded representations
are combined in a 3D scene. However, such optimization is to be analyzed
carefully. Experience of LPKF project team (the hatching algorithm) might be
applicable - this is to be checked with PDN.

3. Finally, AIS_Shape should be migrated to this new tool, and obsolete StdPrs
and Prs3d classes should be removed. The same procedure could be also applied to
OCC2VTK_WireframeFace if necessary.


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker