Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
CrayzeeWulf
Xdmf
Commits
25380d0d
Commit
25380d0d
authored
Jul 02, 2013
by
Andrew J. Burns (Cont
Browse files
Options
Browse Files
Download
Plain Diff
merged from master
parents
9075be36
004113fc
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
76 additions
and
53 deletions
+76
-53
Xdmf.i
Xdmf.i
+62
-46
core/XdmfHDF5Writer.cpp
core/XdmfHDF5Writer.cpp
+14
-7
No files found.
Xdmf.i
View file @
25380d0d
...
...
@@ -119,7 +119,7 @@ swig -v -c++ -python -o XdmfPython.cpp Xdmf.i
// Typemaps that work for Java
%
typemap
(
out
)
shared_ptr
<
XdmfItem
>
{
%
typemap
(
out
)
shared_ptr
<
XdmfItem
>
{
if
(
shared_ptr
<
XdmfAttribute
>
value
=
shared_dynamic_cast
<
XdmfAttribute
>
(
$
1
))
{
*
(
shared_ptr
<
XdmfAttribute
>
**
)
&
($result)
=
value
?
new
shared_ptr<
XdmfAttribute
>(value)
:
0
;
}
...
...
@@ -250,54 +250,70 @@ swig -v -c++ -python -o XdmfPython.cpp Xdmf.i
from
XdmfCore
import
*
}
%
typemap
(
out
)
shared_ptr
<
XdmfItem
>
{
if
(
shared_ptr
<
XdmfAttribute
>
attribute
=
shared_dynamic_cast
<
XdmfAttribute
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfAttribute
>
(
attribute
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfAttribute_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfCurvilinearGrid
>
gridCurvilinear
=
shared_dynamic_cast
<
XdmfCurvilinearGrid
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfCurvilinearGrid
>
(
gridCurvilinear
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfCurvilinearGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfDomain
>
domain
=
shared_dynamic_cast
<
XdmfDomain
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfDomain
>
(
domain
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfDomain_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfGeometry
>
geometry
=
shared_dynamic_cast
<
XdmfGeometry
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfGeometry
>
(
geometry
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfGeometry_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfGraph
>
graph
=
shared_dynamic_cast
<
XdmfGraph
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfGraph
>
(
graph
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfGraph_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfGridCollection
>
gridCollection
=
shared_dynamic_cast
<
XdmfGridCollection
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfGridCollection
>
(
gridCollection
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfGridCollection_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfInformation
>
information
=
shared_dynamic_cast
<
XdmfInformation
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfInformation
>
(
information
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfInformation_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfMap
>
map
=
shared_dynamic_cast
<
XdmfMap
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfMap
>
(
map
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfMap_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfRectilinearGrid
>
gridRectilinear
=
shared_dynamic_cast
<
XdmfRectilinearGrid
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfRectilinearGrid
>
(
gridRectilinear
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfRectilinearGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfRegularGrid
>
gridRegular
=
shared_dynamic_cast
<
XdmfRegularGrid
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfRegularGrid
>
(
gridRegular
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfRegularGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfSet
>
set
=
shared_dynamic_cast
<
XdmfSet
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfSet
>
(
set
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfSet_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfTime
>
time
=
shared_dynamic_cast
<
XdmfTime
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfTime
>
(
time
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfTime_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfTopology
>
topology
=
shared_dynamic_cast
<
XdmfTopology
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfTopology
>
(
topology
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfTopology_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfUnstructuredGrid
>
gridUnstructured
=
shared_dynamic_cast
<
XdmfUnstructuredGrid
>
(
$
1
))
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfUnstructuredGrid
>
(
gridUnstructured
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfUnstructuredGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
{
$
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfItem
>
(
$
1
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfItem_t
,
SWIG_POINTER_OWN
)
;
%
fragment
(
"XdmfItemCast"
,
"header"
)
{
#
include
<
XdmfSharedPtr
.
hpp
>
PyObject
*
XdmfItemCast
(
shared_ptr
<
XdmfItem
>
obj
)
{
PyObject
*
result
;
if
(
shared_ptr
<
XdmfAttribute
>
attribute
=
shared_dynamic_cast
<
XdmfAttribute
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfAttribute
>
(
attribute
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfAttribute_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfCurvilinearGrid
>
gridCurvilinear
=
shared_dynamic_cast
<
XdmfCurvilinearGrid
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfCurvilinearGrid
>
(
gridCurvilinear
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfCurvilinearGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfDomain
>
domain
=
shared_dynamic_cast
<
XdmfDomain
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfDomain
>
(
domain
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfDomain_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfGeometry
>
geometry
=
shared_dynamic_cast
<
XdmfGeometry
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfGeometry
>
(
geometry
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfGeometry_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfGraph
>
graph
=
shared_dynamic_cast
<
XdmfGraph
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfGraph
>
(
graph
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfGraph_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfGridCollection
>
gridCollection
=
shared_dynamic_cast
<
XdmfGridCollection
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfGridCollection
>
(
gridCollection
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfGridCollection_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfInformation
>
information
=
shared_dynamic_cast
<
XdmfInformation
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfInformation
>
(
information
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfInformation_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfMap
>
map
=
shared_dynamic_cast
<
XdmfMap
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfMap
>
(
map
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfMap_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfRectilinearGrid
>
gridRectilinear
=
shared_dynamic_cast
<
XdmfRectilinearGrid
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfRectilinearGrid
>
(
gridRectilinear
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfRectilinearGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfRegularGrid
>
gridRegular
=
shared_dynamic_cast
<
XdmfRegularGrid
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfRegularGrid
>
(
gridRegular
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfRegularGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfSet
>
set
=
shared_dynamic_cast
<
XdmfSet
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfSet
>
(
set
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfSet_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfTime
>
time
=
shared_dynamic_cast
<
XdmfTime
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfTime
>
(
time
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfTime_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfTopology
>
topology
=
shared_dynamic_cast
<
XdmfTopology
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfTopology
>
(
topology
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfTopology_t
,
SWIG_POINTER_OWN
)
;
}
else
if
(
shared_ptr
<
XdmfUnstructuredGrid
>
gridUnstructured
=
shared_dynamic_cast
<
XdmfUnstructuredGrid
>
(
obj
))
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfUnstructuredGrid
>
(
gridUnstructured
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfUnstructuredGrid_t
,
SWIG_POINTER_OWN
)
;
}
else
{
result
=
SWIG_NewPointerObj
(
SWIG_as_voidptr
(
new
shared_ptr
<
XdmfItem
>
(
obj
)),
SWIGTYPE_p_boost__shared_ptrT_XdmfItem_t
,
SWIG_POINTER_OWN
)
;
}
return
result
;
}
}
%
typemap
(
out
,
fragment
=
"XdmfItemCast"
)
shared_ptr
<
XdmfItem
>
{
$
result
=
XdmfItemCast
(
$
1
)
;
}
%
typemap
(
out
,
fragment
=
"XdmfItemCast"
)
std
::
vector
<
shared_ptr
<
XdmfItem
>
>
{
$
result
=
PyList_New
(
$
1.
size
())
;
for
(
std
::
vector
<
shared_ptr
<
XdmfItem
>
>::
size_type
i
=
0
;
i
<
$
1.
size
()
;
++
i
)
{
PyList_SetItem
(
$
result
,
i
,
XdmfItemCast
(
$
1
[
i
]))
;
}
}
%
extend
XdmfAttributeCenter
{
bool
__eq__
(
const
XdmfAttributeCenter
*
attributeCenter
)
{
return
$
self
==
attributeCenter
;
...
...
core/XdmfHDF5Writer.cpp
View file @
25380d0d
...
...
@@ -36,7 +36,7 @@
namespace
{
const
static
unsigned
int
DEFAULT_CHUNK_SIZE
=
0
;
const
static
unsigned
int
DEFAULT_CHUNK_SIZE
=
100
0
;
}
...
...
@@ -75,7 +75,8 @@ public:
int
openFile
(
const
std
::
string
&
filePath
,
const
int
fapl
)
const
int
fapl
,
const
int
mDataSetId
)
{
if
(
mHDF5Handle
>=
0
)
{
// Perhaps we should throw a warning.
...
...
@@ -96,10 +97,15 @@ public:
mHDF5Handle
=
H5Fopen
(
filePath
.
c_str
(),
H5F_ACC_RDWR
,
fapl
);
hsize_t
numObjects
;
/*herr_t status = */
H5Gget_num_objs
(
mHDF5Handle
,
&
numObjects
);
toReturn
=
numObjects
;
if
(
mDataSetId
==
0
)
{
hsize_t
numObjects
;
/*herr_t status = */
H5Gget_num_objs
(
mHDF5Handle
,
&
numObjects
);
toReturn
=
numObjects
;
}
else
{
toReturn
=
mDataSetId
;
}
}
else
{
//this is where it currently fails
...
...
@@ -231,7 +237,8 @@ void
XdmfHDF5Writer
::
openFile
(
const
int
fapl
)
{
mDataSetId
=
mImpl
->
openFile
(
mFilePath
,
fapl
);
fapl
,
mDataSetId
);
}
void
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment