Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
devel:libraries:c_c++
OpenVolumeMesh
OpenVolumeMesh.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File OpenVolumeMesh.spec of Package OpenVolumeMesh
# # spec file for package OpenVolumeMesh # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: OpenVolumeMesh Version: 2.0.0 Release: 0 Summary: A Generic and Versatile Index-Based Data Structure for Polytopal Meshes License: LGPL-3.0 Group: Development/Languages/C and C++ Url: https://www.openvolumemesh.org/ Source0: OpenVolumeMesh-v%{version}.tar.gz BuildRequires: cmake BuildRequires: doxygen BuildRequires: gcc-c++ BuildRoot: %{_tmppath}/%{name}-%{version}-build %description OpenVolumeMesh is a generic data structure for the comfortable handling of arbitrary polytopal meshes. Its concepts are closely related to OpenMesh. In particular, OpenVolumeMesh carries the general idea of storing edges as so-called (directed) half-edges over to the face definitions. So, faces are split up into so-called half-faces having opposing orientations. But unlike in the original concept of half-edges, local adjacency information is not stored on a per half-edge basis. Instead, all entities are arranged in arrays, which makes OpenVolumeMesh an index-based data structure where the access to entities via handles is accomplished in constant time complexity. By making the data structure index-based, we alleviate the major drawback of the half-edge data structure of only being capable to represent manifold meshes. In our concept, each entity of dimension n only stores an (ordered) tuple of handles (or indices) pointing to the incident entities of dimension (n-1). These incidence relations are called the top-down incidences. They are intrinsic to the implemented concept of volumentric meshes. One can additionally compute bottom-up incidences, which means that for each entity of dimension n, we also store handles to incident entities of dimension (n+1). These incidence relations have to be computed explicitly which can be performed in linear time complexity. Both incidence relations, the top-down and the bottom-up incidences, are used to provide a set of iterators and circulators that are comfortable in use. As in OpenMesh, OpenVolumeMesh provides an entirely generic underlying property system that allows attaching properties of any kind to the entities. %prep %setup -c %{name}-%{version} -T tar xvf %{_sourcedir}/%{name}-v%{version}.tar.gz --strip-components=1 %build %cmake make %{?_smp_mflags} make doc %{?_smp_mflags} %install %cmake_install install -d %{buildroot}/%{_docdir}/OpenVolumeMesh/ cp -r build/Build/share/OpenVolumeMesh/Doc/html %{buildroot}%{_docdir}/OpenVolumeMesh/ #need to remove static library as it's hardcoded in the CMakeLists.txt file # so BUILD_SHARED_LIBS=ON doesn't remove it # also libdir install is hardcoded so libraries have to be moved to proper _libdir mkdir -p %{buildroot}/%{_libdir}/OpenVolumeMesh rm %{buildroot}/%{_prefix}/lib/OpenVolumeMesh/libOpenVolumeMesh.a %ifarch x86_64 mv %{buildroot}/%{_prefix}/lib/OpenVolumeMesh/*.so* %{buildroot}/%{_libdir}/OpenVolumeMesh/ %endif %changelog %package -n lib%{name}2_0 Summary: OpenVolumeMesh library %description -n lib%{name}2_0 Shared library for OpenVolumeMesh %files -n lib%{name}2_0 %defattr(-,root,root) %dir %{_libdir}/OpenVolumeMesh %{_libdir}/OpenVolumeMesh/libOpenVolumeMesh.so.2.0 %post -n lib%{name}2_0 -p /sbin/ldconfig %postun -n lib%{name}2_0 -p /sbin/ldconfig %package devel Summary: Development files for OpenVolumeMesh Requires: lib%{name}2_0 == %{version} %description devel Include headers and template implementations for OpenVolumeMesh %files devel %defattr(-,root,root) %dir %{_includedir}/OpenVolumeMesh %{_includedir}/OpenVolumeMesh/* %{_libdir}/OpenVolumeMesh/libOpenVolumeMesh.so %package doc Summary: Documentation for OpenVolumeMesh %description doc This package contains the documentation for OpenVolumeMesh %files doc %defattr(-,root,root) %dir %{_docdir}/OpenVolumeMesh %dir %{_docdir}/OpenVolumeMesh/html/ %dir %{_docdir}/OpenVolumeMesh/html/search/ %doc %{_docdir}/OpenVolumeMesh/html/*
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor