1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 20 #include <drawinglayer/primitive3d/polypolygonprimitive3d.hxx> 21 #include <basegfx/polygon/b3dpolypolygontools.hxx> 22 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx> 23 24 25 using namespace com::sun::star; 26 27 28 namespace drawinglayer::primitive3d 29 { PolyPolygonMaterialPrimitive3D(const basegfx::B3DPolyPolygon & rPolyPolygon,const attribute::MaterialAttribute3D & rMaterial,bool bDoubleSided)30 PolyPolygonMaterialPrimitive3D::PolyPolygonMaterialPrimitive3D( 31 const basegfx::B3DPolyPolygon& rPolyPolygon, 32 const attribute::MaterialAttribute3D& rMaterial, 33 bool bDoubleSided) 34 : BasePrimitive3D(), 35 maPolyPolygon(rPolyPolygon), 36 maMaterial(rMaterial), 37 mbDoubleSided(bDoubleSided) 38 { 39 } 40 operator ==(const BasePrimitive3D & rPrimitive) const41 bool PolyPolygonMaterialPrimitive3D::operator==(const BasePrimitive3D& rPrimitive) const 42 { 43 if(BasePrimitive3D::operator==(rPrimitive)) 44 { 45 const PolyPolygonMaterialPrimitive3D& rCompare = static_cast<const PolyPolygonMaterialPrimitive3D&>(rPrimitive); 46 47 return (getB3DPolyPolygon() == rCompare.getB3DPolyPolygon() 48 && getMaterial() == rCompare.getMaterial() 49 && getDoubleSided() == rCompare.getDoubleSided()); 50 } 51 52 return false; 53 } 54 getB3DRange(const geometry::ViewInformation3D &) const55 basegfx::B3DRange PolyPolygonMaterialPrimitive3D::getB3DRange(const geometry::ViewInformation3D& /*rViewInformation*/) const 56 { 57 return basegfx::utils::getRange(getB3DPolyPolygon()); 58 } 59 60 // provide unique ID 61 ImplPrimitive3DIDBlock(PolyPolygonMaterialPrimitive3D, PRIMITIVE3D_ID_POLYPOLYGONMATERIALPRIMITIVE3D) 62 63 } // end of namespace 64 65 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 66