~ubuntu-branches/ubuntu/wily/dolfin/wily-proposed

« back to all changes in this revision

Viewing changes to dolfin/generation/CSGGeometry.cpp

  • Committer: Package Import Robot
  • Author(s): Johannes Ring
  • Date: 2015-03-17 07:57:11 UTC
  • mfrom: (1.1.18) (19.1.24 experimental)
  • Revision ID: package-import@ubuntu.com-20150317075711-1v207zbty9qmygow
Tags: 1.5.0-1
* New upstream release (closes: #780359).
* debian/control:
  - Bump Standards-Version to 3.9.6 (no changes needed).
  - Bump X-Python-Version to >= 2.7.
  - Update package names for new SONAME 1.5 (libdolfin1.4 ->
    libdolfin1.5, libdolfin1.4-dbg -> libdolfin1.5-dbg and
    libdolfin1.4-dev -> libdolfin1.5-dev).
  - Bump minimum required version for python-instant, python-ufl and
    python-ffc to 1.5.0.
  - Add python-sympy and python-six to Depends for binary package
    python-dolfin.
  - Add dh-python to Build-Depends.
  - Remove libcgal-dev from {Build-}Depends.
* Remove CSGCGALMeshGenerator3D-oom.patch since CGAL is no longer used
  by DOLFIN.
* Move debian/libdolfin1.4.install -> debian/libdolfin1.5.install.
* debian/rules: No longer any non DFSG-free stuff to remove, so update
  get-orig-source target (update debian/watch accordingly).
* Update debian/copyright and debian/copyright_hints.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (C) 2012 Anders Logg
2
 
//
3
 
// This file is part of DOLFIN.
4
 
//
5
 
// DOLFIN is free software: you can redistribute it and/or modify
6
 
// it under the terms of the GNU Lesser General Public License as published by
7
 
// the Free Software Foundation, either version 3 of the License, or
8
 
// (at your option) any later version.
9
 
//
10
 
// DOLFIN is distributed in the hope that it will be useful,
11
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
 
// GNU Lesser General Public License for more details.
14
 
//
15
 
// You should have received a copy of the GNU Lesser General Public License
16
 
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17
 
//
18
 
// Modified by Benjamin Kehlet, 2013
19
 
//
20
 
// First added:  2012-04-11
21
 
// Last changed: 2013-04-18
22
 
 
23
 
#include "CSGGeometry.h"
24
 
#include <dolfin/common/NoDeleter.h>
25
 
 
26
 
using namespace dolfin;
27
 
 
28
 
//-----------------------------------------------------------------------------
29
 
CSGGeometry::CSGGeometry()
30
 
{
31
 
  // Do nothing
32
 
}
33
 
//-----------------------------------------------------------------------------
34
 
CSGGeometry::~CSGGeometry()
35
 
{
36
 
  // Do nothing
37
 
}
38
 
//-----------------------------------------------------------------------------
39
 
void CSGGeometry::set_subdomain(std::size_t i, std::shared_ptr<CSGGeometry> s)
40
 
{
41
 
  dolfin_assert(dim() == s->dim());
42
 
 
43
 
  if (i == 0)
44
 
  {
45
 
    error("Setting reserved CSG subdomain (0)");
46
 
  }
47
 
 
48
 
  // Check if i already used
49
 
  std::list<std::pair<std::size_t, std::shared_ptr<const CSGGeometry> > >::iterator it = subdomains.begin();
50
 
  while (it != subdomains.end())
51
 
  {
52
 
    if (it->first == i)
53
 
    {
54
 
       warning("Double declaration of CSG subdomain with index %u.", i);
55
 
 
56
 
       // Remove existing declaration
57
 
       it = subdomains.erase(it);
58
 
    }
59
 
    else
60
 
      ++it;
61
 
  }
62
 
 
63
 
  subdomains.push_back(std::make_pair(i, s));
64
 
}
65
 
//-----------------------------------------------------------------------------
66
 
void CSGGeometry::set_subdomain(std::size_t i, CSGGeometry& s)
67
 
{
68
 
  set_subdomain(i, reference_to_no_delete_pointer(s));
69
 
}
70
 
//-----------------------------------------------------------------------------
71
 
bool CSGGeometry::has_subdomains() const
72
 
{
73
 
  return subdomains.size() > 0;
74
 
}