https://bugs.documentfoundation.org/show_bug.cgi?id=160429

Regina Henschel <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #2 from Regina Henschel <[email protected]> ---
I have discussed the problem with Armin. (I hope that I describe his comments
correctly here.)

During the way to visualization the class SdrPolyPolygonPrimitive3D is used.
There you find the comment
    SdrPolyPolygonPrimitive3D class
        This 3D primitive defines a PolyPolgon in space which may have
        Line- and FillStyles and extra 3D surface attributes. It is assumed
        that the given 3D PolyPolgon (which may contain texture and normal
        information) is planar in 3D.
        The decomposition will include all needed 3D data for visualisation,
        including FatLines and fill styles.
https://opengrok.libreoffice.org/xref/core/include/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx?r=dcb36da2#30

The difference between the Shape3DCubeObject and your Shape3DPolygonObject is
this:
The cube-object itself divides its points into a vector of six
basegfx::B3DPolyPolygon objects, where each of them is planar in 3D. But for
the Shape3DPolygonObject such division is not implemented. Thus the methods of
the SdrPolyPolygonPrimitive3D class get an object, were the points are not in a
plane.

I see some possible ways for a solution:
(1) Changing the Shape3DPolygonObject so, that it creates a vector of plane
polypolgons. I don't know how costly it is and whether it would break any
internal use.
(2) Add a documentation for all of the Shape3D*-objects to the SDK API
Reference, especially for the Shape3DPolygonObject, as it has no corresponding
shape in the UI. Such documentation then has to contain, that all points of the
Shape3DPolygonObject have to be in the same plane.
(3) Extend the implementation by a new kind of Shape3D-object, that will do the
in (1) mentioned dividing in a vector of plane parts by itself.

For now, you need to build for each face of your 3D objects a separate
Shape3DPolygonObject.

I set this to new, because it is really a problem. But I'm not sure whether to
classify it as a bug or an enhancement request.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to