kopia lustrzana https://github.com/OpenDroneMap/WebODM
Added skeleton files for 3d model display
rodzic
e6d6c855ca
commit
e5f6c985c0
|
@ -0,0 +1,28 @@
|
||||||
|
import React from 'react';
|
||||||
|
import './css/ModelView.scss';
|
||||||
|
|
||||||
|
class ModelView extends React.Component {
|
||||||
|
static defaultProps = {
|
||||||
|
test: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
test: React.PropTypes.number
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(props){
|
||||||
|
super(props);
|
||||||
|
|
||||||
|
this.state = {
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
render(){
|
||||||
|
|
||||||
|
return (<div className="model-view">
|
||||||
|
SUP
|
||||||
|
</div>);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ModelView;
|
|
@ -0,0 +1,4 @@
|
||||||
|
.model-view{
|
||||||
|
height: 500px;
|
||||||
|
background-color: black;
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
import Dashboard from './Dashboard';
|
import Dashboard from './Dashboard';
|
||||||
import MapView from './MapView';
|
import MapView from './MapView';
|
||||||
|
import ModelView from './ModelView';
|
||||||
import Console from './Console';
|
import Console from './Console';
|
||||||
import $ from 'jquery';
|
import $ from 'jquery';
|
||||||
|
|
||||||
|
@ -18,6 +19,12 @@ $(function(){
|
||||||
ReactDOM.render(<MapView {...props}/>, $(this).get(0));
|
ReactDOM.render(<MapView {...props}/>, $(this).get(0));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("[data-modelview]").each(function(){
|
||||||
|
let props = $(this).data();
|
||||||
|
delete(props.modelview);
|
||||||
|
ReactDOM.render(<ModelView {...props}/>, $(this).get(0));
|
||||||
|
});
|
||||||
|
|
||||||
$("[data-console]").each(function(){
|
$("[data-console]").each(function(){
|
||||||
ReactDOM.render(<Console
|
ReactDOM.render(<Console
|
||||||
lang={$(this).data("console-lang")}
|
lang={$(this).data("console-lang")}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
{% extends "app/logged_in_base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h3>{{title}}</h3>
|
||||||
|
|
||||||
|
<div data-modelview
|
||||||
|
{% for key, value in params %}
|
||||||
|
data-{{key}}="{{value}}"
|
||||||
|
{% endfor %}
|
||||||
|
></div>
|
||||||
|
|
||||||
|
{% endblock %}
|
|
@ -267,7 +267,7 @@
|
||||||
<a href="/apiviewer/"><i class="fa fa-book fa-fw"></i> {% trans 'API' %}</a>
|
<a href="/apiviewer/"><i class="fa fa-book fa-fw"></i> {% trans 'API' %}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#"><i class="fa fa-life-saver fa-fw"></i> {% trans 'Documentation' %}</a>
|
<a href="https://opendronemap.github.io/WebODM/" target="_blank"><i class="fa fa-life-saver fa-fw"></i> {% trans 'Documentation' %}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,6 +10,7 @@ urlpatterns = [
|
||||||
url(r'^dashboard/$', views.dashboard, name='dashboard'),
|
url(r'^dashboard/$', views.dashboard, name='dashboard'),
|
||||||
url(r'^map/project/(?P<project_pk>[^/.]+)/task/(?P<task_pk>[^/.]+)/$', views.map, name='map'),
|
url(r'^map/project/(?P<project_pk>[^/.]+)/task/(?P<task_pk>[^/.]+)/$', views.map, name='map'),
|
||||||
url(r'^map/project/(?P<project_pk>[^/.]+)/$', views.map, name='map'),
|
url(r'^map/project/(?P<project_pk>[^/.]+)/$', views.map, name='map'),
|
||||||
|
url(r'^3d/project/(?P<project_pk>[^/.]+)/task/(?P<task_pk>[^/.]+)/$', views.model_display, name='model_display'),
|
||||||
|
|
||||||
url(r'^processingnode/([\d]+)/$', views.processing_node, name='processing_node'),
|
url(r'^processingnode/([\d]+)/$', views.processing_node, name='processing_node'),
|
||||||
|
|
||||||
|
|
23
app/views.py
23
app/views.py
|
@ -53,6 +53,29 @@ def map(request, project_pk=None, task_pk=None):
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def model_display(request, project_pk=None, task_pk=None):
|
||||||
|
title = _("3D Model Display")
|
||||||
|
|
||||||
|
if project_pk is not None:
|
||||||
|
project = get_object_or_404(Project, pk=project_pk)
|
||||||
|
if not request.user.has_perm('projects.view_project', project):
|
||||||
|
raise Http404()
|
||||||
|
|
||||||
|
if task_pk is not None:
|
||||||
|
task = get_object_or_404(Task.objects.defer('orthophoto'), pk=task_pk, project=project)
|
||||||
|
title = task.name
|
||||||
|
else:
|
||||||
|
raise Http404()
|
||||||
|
|
||||||
|
return render(request, 'app/3d_model_display.html', {
|
||||||
|
'title': title,
|
||||||
|
'params': {
|
||||||
|
'test': 123
|
||||||
|
}.items()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def processing_node(request, processing_node_id):
|
def processing_node(request, processing_node_id):
|
||||||
pn = get_object_or_404(ProcessingNode, pk=processing_node_id)
|
pn = get_object_or_404(ProcessingNode, pk=processing_node_id)
|
||||||
|
|
Ładowanie…
Reference in New Issue