LCOV - code coverage report
Current view: top level - solver/unxlngi6.pro/inc/drawinglayer/primitive3d - hiddengeometryprimitive3d.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 1 1 100.0 %
Date: 2012-08-25 Functions: 2 2 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1 2 50.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  *  OpenOffice.org - a multi-platform office productivity suite
       5                 :            :  *
       6                 :            :  *  The Contents of this file are made available subject to
       7                 :            :  *  the terms of GNU Lesser General Public License Version 2.1.
       8                 :            :  *
       9                 :            :  *
      10                 :            :  *    GNU Lesser General Public License Version 2.1
      11                 :            :  *    =============================================
      12                 :            :  *    Copyright 2005 by Sun Microsystems, Inc.
      13                 :            :  *    901 San Antonio Road, Palo Alto, CA 94303, USA
      14                 :            :  *
      15                 :            :  *    This library is free software; you can redistribute it and/or
      16                 :            :  *    modify it under the terms of the GNU Lesser General Public
      17                 :            :  *    License version 2.1, as published by the Free Software Foundation.
      18                 :            :  *
      19                 :            :  *    This library is distributed in the hope that it will be useful,
      20                 :            :  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
      21                 :            :  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      22                 :            :  *    Lesser General Public License for more details.
      23                 :            :  *
      24                 :            :  *    You should have received a copy of the GNU Lesser General Public
      25                 :            :  *    License along with this library; if not, write to the Free Software
      26                 :            :  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
      27                 :            :  *    MA  02111-1307  USA
      28                 :            :  *
      29                 :            :  ************************************************************************/
      30                 :            : 
      31                 :            : #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
      32                 :            : #define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
      33                 :            : 
      34                 :            : #include <drawinglayer/drawinglayerdllapi.h>
      35                 :            : 
      36                 :            : #include <drawinglayer/primitive3d/groupprimitive3d.hxx>
      37                 :            : 
      38                 :            : //////////////////////////////////////////////////////////////////////////////
      39                 :            : 
      40                 :            : namespace drawinglayer
      41                 :            : {
      42                 :            :     namespace primitive3d
      43                 :            :     {
      44                 :            :         // This primitive is used to represent geometry for non-visible objects,
      45                 :            :         // e.g. a 3D cube without fill attributes. To still be able to use
      46                 :            :         // primitives for HitTest functionality, the 3d decompositions produce
      47                 :            :         // an as much as possible simplified fill geometry encapsulated in this
      48                 :            :         // primtive when there is no fill geometry. Currently, the 3d hit test
      49                 :            :         // uses only areas, so maybe in a further enchanced version this will change
      50                 :            :         // to 'if neither filled nor lines' creation criteria. The whole primitive
      51                 :            :         // decomposes to nothing, so no one not knowing it will be influenced. Only
      52                 :            :         // helper processors for hit test (and maybe BoundRect extractors) will
      53                 :            :         // use it and it's children subcontent.
      54         [ -  + ]:         28 :         class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive3D : public GroupPrimitive3D
      55                 :            :         {
      56                 :            :         public:
      57                 :            :             explicit HiddenGeometryPrimitive3D(const Primitive3DSequence& rChildren);
      58                 :            : 
      59                 :            :             // despite returning an empty decomposition since it's no visualisation data,
      60                 :            :             // range calculation is intended to use hidden geometry, so
      61                 :            :             // the local implementation will return the children's range
      62                 :            :             virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
      63                 :            : 
      64                 :            :             /// The default implementation returns an empty sequence
      65                 :            :             virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
      66                 :            : 
      67                 :            :             // provide unique ID
      68                 :            :             DeclPrimitrive3DIDBlock()
      69                 :            :         };
      70                 :            :     } // end of namespace primitive3d
      71                 :            : } // end of namespace drawinglayer
      72                 :            : 
      73                 :            : //////////////////////////////////////////////////////////////////////////////
      74                 :            : 
      75                 :            : #endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
      76                 :            : 
      77                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10