Upgraded VRViewer:

- upgraded vrviewer to latest master (ffbc9ff4bf0c550cc79003ec188ca16e9e83c31e)
- added some notes on how to upgrade to the readme
- added support for setting default yaw angle
- added support for float properties
This commit is contained in:
Sybren A. Stüvel 2017-03-28 16:04:26 +02:00
parent ddfb69edb2
commit fcaa4fb936
9 changed files with 564 additions and 44289 deletions

View File

@ -7,6 +7,11 @@ node_type_hdri = {
'description': 'HDR Image',
'parent': ['group_hdri'],
'dyn_schema': {
# Default yaw angle in degrees.
'default_yaw': {
'type': 'float',
'default': 0.0
},
'status': {
'type': 'string',
'allowed': [

View File

@ -85,7 +85,7 @@ def add_form_properties(form_class, node_type):
elif field_type == 'integer':
field = IntegerField(prop_name, default=0)
elif field_type == 'float':
field = FloatField(prop_name, default=0)
field = FloatField(prop_name, default=0.0)
elif field_type == 'boolean':
field = BooleanField(prop_name)
elif field_type == 'objectid' and 'data_relation' in schema_prop:
@ -172,6 +172,11 @@ def process_node_form(form, node_id=None, node_type=None, user=None):
data = 0
else:
data = int(form[prop_name].data)
elif schema_prop['type'] == 'float':
if not data:
data = None
else:
data = float(form[prop_name].data)
elif schema_prop['type'] == 'datetime':
data = datetime.strftime(data, current_app.config['RFC1123_DATE_FORMAT'])
elif schema_prop['type'] == 'list':

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

File diff suppressed because one or more lines are too long

View File

@ -35,3 +35,22 @@ pip install -e ../pillar-python-sdk
pip install -U -r requirements.txt
pip install -e .
```
## HDRi viewer
The HDRi viewer uses [Google VRView](https://github.com/googlevr/vrview). To upgrade,
get those files:
* [three.min.js](https://raw.githubusercontent.com/googlevr/vrview/master/build/three.min.js)
* [embed.min.js](https://raw.githubusercontent.com/googlevr/vrview/master/build/embed.min.js)
* [loading.gif](https://raw.githubusercontent.com/googlevr/vrview/master/images/loading.gif)
and place them in `pillar/web/static/assets/vrview`. Replace `images/loading.gif` in `embed.min.js` with `static/pillar/assets/vrview/loading.gif`.
You may also want to compare their
[index.html](https://raw.githubusercontent.com/googlevr/vrview/master/index.html) to our
`src/templates/vrview.jade`.
When on a HDRi page with the viewer embedded, use this JavaScript code to find the current
yaw: `vrview_window.contentWindow.yaw()`. This can be passed as `default_yaw` parameter to
the iframe.

File diff suppressed because one or more lines are too long

View File

@ -5,12 +5,13 @@
section.node-preview
| {% if node.picture %}
iframe(
id='vrview_window'
width='100%',
height='450px',
scrolling='no',
frameborder='0',
allowfullscreen='',
src="{{url_for('main.vrview', preview=node.picture.thumbnail('l', api=api), image=node.picture.thumbnail('h', api=api), is_stereo='false')}}")
src="{{url_for('main.vrview', preview=node.picture.thumbnail('l', api=api), image=node.picture.thumbnail('h', api=api), default_yaw=(node.properties.default_yaw or 0))}}")
| {% endif %}
section.node-details-container
@ -130,4 +131,3 @@ script.
});
| {% endblock %}

View File

@ -13,4 +13,13 @@ html(lang='en')
.wrap
h1.title Error
p.message An unknown error occurred.
script(src="{{url_for('static_pillar', filename='assets/js/vrview-analytics.min.js')}}")
script(src="{{url_for('static_pillar', filename='assets/vrview/three.min.js')}}")
script(src="{{url_for('static_pillar', filename='assets/vrview/embed.min.js')}}")
script.
/** Returns the current yaw in degrees. */
function yaw() {
console.log('default yaw:', worldRenderer.sceneInfo.defaultYaw * 180 / Math.PI);
console.log('camera rotation: ', worldRenderer.camera.rotation.y * 180 / Math.PI);
var the_yaw = worldRenderer.sceneInfo.defaultYaw + worldRenderer.camera.rotation.y;
return the_yaw * 180 / Math.PI;
}