iglict / nerf-editing Goto Github PK
View Code? Open in Web Editor NEW[CVPR 2022] Code for "NeRF-Editing: Geometry Editing of Neural Radiance Fields"
License: GNU General Public License v3.0
[CVPR 2022] Code for "NeRF-Editing: Geometry Editing of Neural Radiance Fields"
License: GNU General Public License v3.0
Hi, thanks for sharing the great work!
I'm curious how you extracted the GT edited meshes that are shown in your paper.
Using blender, I cant find a way to extract an edited mesh including color.
After some edits and using export, I can only export meshes NOT including any color (in gray).
Maybe I'm missing something.. but I can never find the way.
Thanks!
Hi, thank you for your wonderful work.
May you please make public your blender files for synthetic scenes? I could only see links to nerf_synthetic data in this repo.
Thank you in advance.
Hello, is it possible that the pre-trained models and scene objects to be shared? Thanks.
Hi,
Thanks for your efforts in this project. Can you recommend a tool for mesh editing that can generate edited data in the same format as in the readme (deformed_mesh.obj and mesh_seq) I have no idea how to generate the files in this format.
Thank you, looking forward to your reply.
Hi,
My datasets consisted of the image, point cloud, and camera pose. How can I transfer my dataset to a trainable dataset?
My dataset is autonumous driving scene, such as kitti.
Hello, author
I want to ask, what is your development environment? I tried to run your project with pycharm, but failed.
I see that your project references jitter and some of its C++packages, so I'm very confused about what development tools you use?
hi, when i try to render images by
python exp_runner.py --mode circle
the error below comes out. how can i fix this?
Hello Wooden
use test render NeuS Renderer: sparse sampling ...
Load data: Begin
Use the nerf synthetic dataset
Load data: End
[exp_runner.py:90 - __init__() ] Find checkpoint: ckpt_240000.pkl
[exp_runner.py:229 - load_checkpoint() ] End
set render raids to 3.5 !
the max degree of vertices in tets is 56
finish constructing Cage hulls !
[load.py:222 - load_mesh() ] loaded <trimesh.Trimesh(vertices.shape=(216282, 3), faces.shape=(432824, 3))> using load_obj
[constants.py:135 - timed() ] load_mesh executed in 0.6642 seconds.
render the 0 / 40 image
Traceback (most recent call last):
File "exp_runner.py", line 658, in <module>
runner.render_circle_image(args.reconstructed_mesh_file, args.deformed_mesh_file,\
File "exp_runner.py", line 555, in render_circle_image
images.append(self.render_image(render_pose, use_deform, queryDelta, hull, deltas, mesh, c2w_staticcam))
File "exp_runner.py", line 386, in render_image
render_out = self.renderer.render(rays_o_batch,
File "/data/jiyoonshin/NeRF-Editing/src/models/renderer.py", line 289, in render
z_vals_feed = jt.concat([z_vals, z_vals_outside], dim=-1)
File "/home/jiyoonshincml/anaconda3/envs/nerf_editing/lib/python3.8/site-packages/jittor/__init__.py", line 112, in inner
ret = func(*args, **kw)
File "/home/jiyoonshincml/anaconda3/envs/nerf_editing/lib/python3.8/site-packages/jittor/contrib.py", line 257, in concat
total_dim += a.shape[dim]
RuntimeError: Wrong inputs arguments, Please refer to examples(help(jt.NanoVector.__map_getitem__)).
Types of your inputs are:
self = NanoVector,
arg0 = int,
The function declarations are:
inline int64 at(int i)
inline NanoVector slice(Slice slice)
Failed reason:[f 0503 19:37:38.157693 76 nano_vector.h:116] Check failed: i>=0 && i<size() Something wrong... Could you please report this issue?
thanks.
Hi, @FrozenSilent .
Thank you for sharing your wonderful work.
Now I try to reproduce your results.
But, I encounter an error when I build simple_mesh.
Did you encounter the error?
I use cmake 3.24.1.
[ 50%] Building CXX object CMakeFiles/simple_mesh.dir/simple_mesh/simple_mesh.cpp.o
In file included from /usr/local/include/OpenVolumeMesh/Core/HandleIndexing.hh:4:0,
from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:42,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::FH; SubHandle = OpenVolumeMesh::HFH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:216:23: required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:142:5: error: body of constexpr function 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::FH; SubHandle = OpenVolumeMesh::HFH]' not a return-statement
}
^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::EH; SubHandle = OpenVolumeMesh::HEH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:220:23: required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:142:5: error: body of constexpr function 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::EH; SubHandle = OpenVolumeMesh::HEH]' not a return-statement
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:224:16: required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:128:5: error: body of constexpr function 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]' not a return-statement
}
^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:228:17: required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:122:5: error: body of constexpr function 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]' not a return-statement
}
^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:232:16: required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:128:5: error: body of constexpr function 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]' not a return-statement
}
^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:236:17: required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:122:5: error: body of constexpr function 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]' not a return-statement
}
^
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:49:0,
from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:26:66: error: 'entitytag_dispatch' function uses 'auto' type specifier without trailing return type
inline auto entitytag_dispatch(EntityType type, F fun, Ts... args)
^
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:26:66: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:57:23: error: 'for_each' function uses 'auto' type specifier without trailing return type
auto for_each(F &f) {
^
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:57:23: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:51:0,
from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:49:19: error: 'begin' function uses 'auto' type specifier without trailing return type
auto begin() const { return tracked_.cbegin(); }
^~~~~
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:49:19: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:50:19: error: 'end' function uses 'auto' type specifier without trailing return type
auto end() const { return tracked_.cend(); }
^~~~~
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:50:19: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:68:24: error: 'for_each' function uses 'auto' type specifier without trailing return type
auto for_each(F fun)
^
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:68:24: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:54:0,
from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/Properties/PropertyPtr.hh: In member function 'std::unique_ptr<OpenVolumeMesh::BasePropertyPtr> OpenVolumeMesh::PropertyStorageT<T>::make_property_ptr()':
/usr/local/include/OpenVolumeMesh/Core/Properties/PropertyPtr.hh:87:50: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
return entitytag_dispatch(entity_type(), [&](auto entity){
^~~~
In file included from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45:0,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh: At global scope:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:89:10: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>> internal_find_property(const std::string& _name) const;
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:178:10: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>> create_property(const std::string& _name = std::string(), const T _def = T());
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:183:10: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>> create_shared_property(const std::string& _name, const T _def = T());
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:188:10: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>> create_persistent_property(const std::string& _name, const T _def = T());
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:198:10: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>> get_property(const std::string& _name);
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:203:10: error: 'optional' in namespace 'std' does not name a template type
std::optional<const PropertyPtr<T, EntityTag>> get_property(const std::string& _name) const;
^~~~~~~~
In file included from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45:0,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:271:33: error: 'vertex_props_begin' function uses 'auto' type specifier without trailing return type
auto vertex_props_begin() const {return persistent_props_begin<Entity::Vertex>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:271:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:273:33: error: 'vertex_props_end' function uses 'auto' type specifier without trailing return type
auto vertex_props_end() const {return persistent_props_end <Entity::Vertex>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:273:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:275:33: error: 'edge_props_begin' function uses 'auto' type specifier without trailing return type
auto edge_props_begin() const {return persistent_props_begin<Entity::Edge>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:275:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:277:33: error: 'edge_props_end' function uses 'auto' type specifier without trailing return type
auto edge_props_end() const {return persistent_props_end <Entity::Edge>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:277:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:279:33: error: 'halfedge_props_begin' function uses 'auto' type specifier without trailing return type
auto halfedge_props_begin() const {return persistent_props_begin<Entity::HalfEdge>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:279:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:281:33: error: 'halfedge_props_end' function uses 'auto' type specifier without trailing return type
auto halfedge_props_end() const {return persistent_props_end <Entity::HalfEdge>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:281:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:283:33: error: 'face_props_begin' function uses 'auto' type specifier without trailing return type
auto face_props_begin() const {return persistent_props_begin<Entity::Face>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:283:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:285:33: error: 'face_props_end' function uses 'auto' type specifier without trailing return type
auto face_props_end() const {return persistent_props_end <Entity::Face>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:285:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:287:33: error: 'halfface_props_begin' function uses 'auto' type specifier without trailing return type
auto halfface_props_begin() const {return persistent_props_begin<Entity::HalfFace>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:287:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:289:33: error: 'halfface_props_end' function uses 'auto' type specifier without trailing return type
auto halfface_props_end() const {return persistent_props_end <Entity::HalfFace>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:289:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:291:33: error: 'cell_props_begin' function uses 'auto' type specifier without trailing return type
auto cell_props_begin() const {return persistent_props_begin<Entity::Cell>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:291:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:293:33: error: 'cell_props_end' function uses 'auto' type specifier without trailing return type
auto cell_props_end() const {return persistent_props_end <Entity::Cell>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:293:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:295:33: error: 'mesh_props_begin' function uses 'auto' type specifier without trailing return type
auto mesh_props_begin() const {return persistent_props_begin<Entity::Mesh>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:295:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:297:33: error: 'mesh_props_end' function uses 'auto' type specifier without trailing return type
auto mesh_props_end() const {return persistent_props_end <Entity::Mesh>();}
^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:297:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45:0,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh: In member function 'bool OpenVolumeMesh::ResourceManager::property_exists(const string&) const':
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:16: error: 'internal_find_property' was not declared in this scope
return internal_find_property<T, EntityTag>(_name).has_value();
^~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:16: note: suggested alternative: 'internal_create_property'
return internal_find_property<T, EntityTag>(_name).has_value();
^~~~~~~~~~~~~~~~~~~~~~
internal_create_property
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:40: error: expected primary-expression before ',' token
return internal_find_property<T, EntityTag>(_name).has_value();
^
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:51: error: expected primary-expression before '>' token
return internal_find_property<T, EntityTag>(_name).has_value();
^
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:60: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'has_value'
return internal_find_property<T, EntityTag>(_name).has_value();
^~~~~~~~~
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:350:0,
from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: At global scope:
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:128:6: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>>
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: In member function 'OpenVolumeMesh::PropertyPtr<T, EntityTag> OpenVolumeMesh::ResourceManager::request_property(const string&, T)':
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:166:17: error: 'internal_find_property' was not declared in this scope
auto prop = internal_find_property<T, EntityTag>(_name);
^~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:166:17: note: suggested alternative: 'internal_create_property'
auto prop = internal_find_property<T, EntityTag>(_name);
^~~~~~~~~~~~~~~~~~~~~~
internal_create_property
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:166:41: error: expected primary-expression before ',' token
auto prop = internal_find_property<T, EntityTag>(_name);
^
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: At global scope:
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:174:6: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>>
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:186:6: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>>
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:202:6: error: 'optional' in namespace 'std' does not name a template type
std::optional<PropertyPtr<T, EntityTag>>
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:209:6: error: 'optional' in namespace 'std' does not name a template type
std::optional<const PropertyPtr<T, EntityTag>>
^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: In member function 'void OpenVolumeMesh::ResourceManager::set_shared(OpenVolumeMesh::PropertyPtr<T, EntityTag>&, bool)':
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:226:25: error: 'internal_find_property' was not declared in this scope
auto existing = internal_find_property<T, EntityTag>(_prop.name());
^~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:226:25: note: suggested alternative: 'internal_create_property'
auto existing = internal_find_property<T, EntityTag>(_prop.name());
^~~~~~~~~~~~~~~~~~~~~~
internal_create_property
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:226:49: error: expected primary-expression before ',' token
auto existing = internal_find_property<T, EntityTag>(_prop.name());
^
In file included from /usr/local/include/OpenVolumeMesh/FileManager/FileManager.hh:182:0,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:14:
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh: In member function 'bool OpenVolumeMesh::IO::FileManager::readFile(const string&, MeshT&, bool, bool) const':
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:26: error: 'make_unique' is not a member of 'std'
auto read_buf = std::make_unique<std::array<char, 0x10000>>();
^~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:26: note: suggested alternative: '__unique'
auto read_buf = std::make_unique<std::array<char, 0x10000>>();
^~~~~~~~~~~
__unique
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:62: error: expected primary-expression before '>' token
auto read_buf = std::make_unique<std::array<char, 0x10000>>();
^~
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:65: error: expected primary-expression before ')' token
auto read_buf = std::make_unique<std::array<char, 0x10000>>();
^
In file included from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37:0,
from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh: In instantiation of 'OpenVolumeMesh::GeometryKernelT<VecT> OpenVolumeMesh::GeometryKernel<VecT, TopologyKernelT>::make_prop() [with VecT = OpenVolumeMesh::Geometry::VectorT<float, 3>; TopologyKernelT = OpenVolumeMesh::TopologyKernel; OpenVolumeMesh::GeometryKernelT<VecT> = OpenVolumeMesh::PropertyPtr<OpenVolumeMesh::Geometry::VectorT<float, 3>, OpenVolumeMesh::Entity::Vertex>]':
/usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:62:30: required from 'OpenVolumeMesh::GeometryKernel<VecT, TopologyKernelT>::GeometryKernel() [with VecT = OpenVolumeMesh::Geometry::VectorT<float, 3>; TopologyKernelT = OpenVolumeMesh::TopologyKernel]'
/tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:67:23: required from here
/usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:217:36: error: 'class OpenVolumeMesh::GeometryKernel<OpenVolumeMesh::Geometry::VectorT<float, 3>, OpenVolumeMesh::TopologyKernel>' has no member named 'create_shared_property'; did you mean 'create_private_property'?
auto prop = this->template create_shared_property<VecT, Entity::Vertex>("ovm:position", VecT(0));
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
create_private_property
CMakeFiles/simple_mesh.dir/build.make:75: recipe for target 'CMakeFiles/simple_mesh.dir/simple_mesh/simple_mesh.cpp.o' failed
make[2]: *** [CMakeFiles/simple_mesh.dir/simple_mesh/simple_mesh.cpp.o] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/simple_mesh.dir/all' failed
make[1]: *** [CMakeFiles/simple_mesh.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
I use the following command.
$ cd /tmp && \
git clone --recursive https://www.graphics.rwth-aachen.de:9000/OpenVolumeMesh/OpenVolumeMesh.git && \
cd /tmp/OpenVolumeMesh && \
/opt/conda/bin/cmake . && make && make install
$ cd OpenVolumeMesh && /opt/conda/bin/cmake . && make
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.