Initial import (#1758626)

This commit is contained in:
Qianqian Fang 2019-10-08 15:27:10 -04:00
parent e069e33c43
commit 87e00bccf0
4 changed files with 354 additions and 0 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
/cork-0.9.tar.gz
/iso2mesh-1.9.1.tar.gz
/meshfix-1.2.1.tar.gz
/tetgen1.5.1.tar.gz

View File

@ -0,0 +1,14 @@
diff -up a/CMakeLists.txt.orig b/CMakeLists.txt
--- a/CMakeLists.txt.orig 2019-10-01 18:39:42.000000000 +0200
+++ b/CMakeLists.txt 2019-10-07 20:06:44.072901788 +0200
@@ -8,10 +8,6 @@ include_directories(
contrib/OpenNL3.2.1/src
contrib/jrs_predicates
)
-link_directories(
- ${LINK_DIRECTORIES}
- ${CMAKE_CURRENT_SOURCE_DIR}/contrib/JMeshLib/lib
-)
file(GLOB meshfix_h include/*.h)
set(meshfix_src
contrib/jrs_predicates/jrs_predicates.c

332
octave-iso2mesh.spec Normal file
View File

@ -0,0 +1,332 @@
%global octpkg iso2mesh
Name: octave-%{octpkg}
Version: 1.9.1
Release: 1%{?dist}
Summary: A 3D surface and volumetric mesh generator for MATLAB/Octave
License: GPLv3+
URL: http://iso2mesh.sf.net
# the following utilities are called internally by iso2mesh (stored under a private folder),
# this is needed for making outputs reproducible
Source0: https://github.com/fangq/iso2mesh/archive/v%{version}/%{octpkg}-%{version}.tar.gz
Source1: https://github.com/fangq/cork/archive/v0.9/cork-0.9.tar.gz
Source2: https://github.com/fangq/meshfix/archive/v1.2.1/meshfix-1.2.1.tar.gz
Source3: http://ftp.mcs.anl.gov/pub/petsc/externalpackages/tetgen1.5.1.tar.gz
Patch0: meshfix-remove-rpath.patch
ExcludeArch: armv7hl
BuildRequires: cmake CGAL-devel SuperLU-devel blas-static gcc-g++ zlib-devel octave-devel
%if 0%{?fedora} >=32
Requires: octave mpfr-devel gmp-devel boost-devel SuperLU
%else
Requires: octave CGAL SuperLU gmp-devel
%endif
Requires(post): octave
Requires(postun): octave
%description
Iso2Mesh is a MATLAB/Octave-based mesh generation toolbox,
designed for easy creation of high quality surface and
tetrahedral meshes from 3D volumetric images. It contains
a rich set of mesh processing scripts/programs, working
either independently or interacting with external free
meshing utilities. Iso2Mesh toolbox can directly convert
a 3D image stack, including binary, segmented or gray-scale
images such as MRI or CT scans, into quality volumetric
meshes. This makes it particularly suitable for multi-modality
medical imaging data analysis and multi-physics modeling.
Iso2Mesh is cross-platform and is compatible with both MATLAB
and GNU Octave.
%package -n %{octpkg}-demos
Summary: Example datasets and scripts for the Iso2Mesh toolbox
BuildArch: noarch
Requires: octave octave-%{octpkg}
Recommends: %{octpkg}-demos
%description -n %{octpkg}-demos
This package contains the demo script and sample datasets for octave-%{octpkg}.
%prep
%setup -b 1 -n %{octpkg}-%{version}
%setup -q -T -D -b 2 -n meshfix-1.2.1
%patch0 -p1
%setup -q -T -D -b 3 -n %{octpkg}-%{version}
rm -rf tools/cork
rm -rf tools/meshfix
rm -rf tools/tetgen
mv ../cork-0.9 tools/cork
mv ../meshfix-1.2.1 tools/meshfix
mv ../tetgen1.5.1 tools/tetgen
rm -rf bin/*.mex* bin/*.exe bin/*.dll
cp COPYING.txt COPYING
cat > DESCRIPTION << EOF
Name: %{octpkg}
Version: %{version}
Date: %(date +"%Y-%d-%m")
Title: %{summary}
Author: Qianqian Fang <fangqq@gmail.com>
Maintainer: Qianqian Fang <fangqq@gmail.com>
Description: Iso2Mesh is a MATLAB/Octave-based mesh generation toolbox,
designed for easy creation of high quality surface and
tetrahedral meshes from 3D volumetric images. It contains
a rich set of mesh processing scripts/programs, working
either independently or interacting with external free
meshing utilities. Iso2Mesh toolbox can directly convert
a 3D image stack, including binary, segmented or gray-scale
images such as MRI or CT scans, into quality volumetric
meshes. This makes it particularly suitable for multi-modality
medical imaging data analysis and multi-physics modeling.
Iso2Mesh is cross-platform and is compatible with both MATLAB
and GNU Octave.
Categories: Mesh
EOF
cat > INDEX << EOF
iso2mesh >> Iso2Mesh
Iso2Mesh
advancefront
barydualmesh
base64decode
base64encode
bbxflatsegment
binsurface
bwislands
cgals2m
cgalv2m
deislands2d
deislands3d
delendelem
deletemeshfile
edgeneighbors
elemfacecenter
elemvolume
extractloops
extrudecurve
extrudesurf
faceneighbors
fallbackexeext
fast_match_bracket
fillholes3d
fillsurf
finddisconnsurf
flatsegment
getexeext
getintersecttri
getoptkey
getplanefrom3pt
getvarfrom
gzipdecode
gzipencode
highordertet
i2m
imedge3d
img2mesh
innersurf
insurface
internalpoint
iso2meshver
isoctavemesh
jdatadecode
jdataencode
jnifticreate
jsonopt
latticegrid
loadjnifti
loadjson
loadmsgpack
loadnifti
loadubjson
lz4decode
lz4encode
lz4hcdecode
lz4hcencode
lzipdecode
lzipencode
lzmadecode
lzmaencode
m2v
maskdist
match_bracket
maxsurf
mcpath
memmapstream
mergemesh
mergestruct
mergesurf
mesh2mask
mesh2vol
meshabox
meshacylinder
meshanellip
meshasphere
meshcentroid
meshcheckrepair
meshconn
meshcylinders
meshedge
mesheuler
meshface
meshgrid5
meshgrid6
meshinterp
meshquality
meshrefine
meshremap
meshreorient
meshresample
meshunitsphere
mwpath
neighborelem
nestbracket2dim
nifticreate
nii2jnii
niicodemap
niiformat
nodevolume
orderloopedge
orthdisk
outersurf
plotedges
plotmesh
plotsurf
plottetra
qmeshcut
raysurf
raytrace
readasc
readgts
readinr
readmedit
readmptiff
readnifti
readnirfast
readoff
readsmf
readtetgen
remeshsurf
removedupelem
removedupnodes
removeisolatednode
removeisolatedsurf
rotatevec3d
rotmat2vec
s2m
s2v
saveabaqus
saveasc
savebinstl
savebnii
savedxf
savegts
saveinr
savejmesh
savejnifti
savejnii
savejson
savemedit
savemphtxt
savemsgpack
savemsh
savenifti
savenirfast
saveoff
savesmf
savestl
savesurfpoly
savetetgenele
savetetgennode
saveubjson
savevrml
smoothbinvol
smoothsurf
sms
sortmesh
surf2mesh
surf2vol
surf2volz
surfaceclean
surfacenorm
surfboolean
surfdiffuse
surfedge
surfinterior
surfpart
surfplane
surfreorient
surfseeds
surfvolume
thickenbinvol
thinbinvol
uniqedges
uniqfaces
v2m
v2s
varargin2struct
vol2mesh
vol2restrictedtri
vol2surf
volface
volmap2mesh
zlibdecode
zlibencode
EOF
mkdir -p inst/
mv *.m inst/
mv img2mesh.fig inst/
%build
%set_build_flags
cd tools
%make_build
cd ../bin
ln -s tetgen1.5 tetgen
cd ../
mv bin inst
%octave_pkg_build
%if 0%{?fedora} <=30
%global octave_tar_suffix any-none
%endif
%install
%octave_pkg_install
%post
%octave_cmd pkg rebuild
%preun
%octave_pkg_preun
%postun
%octave_cmd pkg rebuild
%files
%license COPYING.txt
%doc README.txt
%doc Content.txt
%doc AUTHORS.txt
%doc ChangeLog.txt
%dir %{octpkgdir}
%dir %{octpkgdir}/doc
%dir %{octpkgdir}/bin
%{octpkgdir}/doc/*
%{octpkgdir}/bin/*
%{octpkgdir}/*.m
%{octpkgdir}/*.fig
%doc %{octpkgdir}/doc-cache
%{octpkgdir}/packinfo
%files -n %{octpkg}-demos
%license COPYING.txt
%doc sample
%changelog
* Wed Oct 02 2019 Qianqian Fang <fangqq@gmail.com> - 1.9.1-1
- Initial package

4
sources Normal file
View File

@ -0,0 +1,4 @@
SHA512 (cork-0.9.tar.gz) = 192ace02060519e39894fe33d481e86b84f996ece4db9ace02c5cfcaeafcb058f3e23950f3ee885c140978af71c81759f3eef0c5c2557f4eb215168b3c963506
SHA512 (iso2mesh-1.9.1.tar.gz) = a317ed9c0c63fbccac7b1df15a5c7f64a7e26658616b397361e783da8042dbeb340588620955934ce3675634d7194f956afa7c4f4b76495548c4d62d46ef2a8e
SHA512 (meshfix-1.2.1.tar.gz) = f4da936c74414d65641c4d3d4d60968edfa2baeb4cb3cd7d6be95fa6c7d94c703ea1b09442d27685411c3ebf8ccd94765952fb0b4fa31a7dffa9a98470556ead
SHA512 (tetgen1.5.1.tar.gz) = dc485e67c4aba11c390152bc807f2572a95358e16fc76b147afd6cf00f70c4c4a57997b341e0432b06ba53d3e7e4b1961c0912a30454da4352e55c07051598ef