Skip to content
This repository has been archived by the owner on Sep 25, 2020. It is now read-only.

Fixed encoding in filenames. #61

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
fs_repo
*.pyc
*.log
*.cfg
.idea
_cache
12 changes: 9 additions & 3 deletions components/geometry/base/geom_editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import geom_viewer
import geom_objects as gobjects
import geom_modes
import ogre.renderer.OGRE as ogre

from suit.cf import BaseModeLogic
from suit.core.objects import Object
Expand Down Expand Up @@ -111,17 +112,19 @@ def createLineSection(self, _beg, _end):
@type _beg: GeometryPoint
@param _end: end point object
@type _end: GeometryPoint

@return: created line section object
@rtype: GeometryLineSection
"""
endPosition = _end.getPosition()
line_obj = gobjects.GeometryLineSection()
line_obj.setBegin(_beg)
line_obj.setEnd(_end)
line_obj.setState(Object.OS_Normal)

_end.setPosition(_beg.getPosition())
line_obj._update(0)
_end.setPosition(endPosition)
return line_obj

def createCircle(self):
"""Create circle object
@return: Return created circle object
Expand All @@ -138,3 +141,6 @@ def createTriangle(self):

def createQuadrangle(self):
return gobjects.GeometryQuadrangle()

def createPolygon(self):
return gobjects.GeometryPolygon()
57 changes: 55 additions & 2 deletions components/geometry/base/geom_modes.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,15 @@ def _onKeyPressed(self, _evt):
else:
self.active_object.delete()
self.active_object = None

if key == ois.KC_M:
_selected = self._logic._getSheet().getSelected()
self.active_object = self._logic.createPolygon()
if self.active_object.makeBasedOnObjects(_selected):
self._logic._getSheet().addChild(self.active_object)
else:
self.active_object.delete()
self.active_object = None

if key == ois.KC_L:
selected = self._logic._getSheet().getSelected()
Expand Down Expand Up @@ -357,14 +366,58 @@ def _onKeyPressed(self, _evt):
if isinstance(obj, (GeometryTriangle, GeometryQuadrangle)):
self.state = GeometryEditMode.ES_PerimeterChange
self.perimetr_changer = TextInput(obj, self._perimeter_change_callback, obj.getPropertyValue(GeometryAbstractObject.PropPerimeter))


if key == ois.KC_O:
selected = self._logic._getSheet().getSelected()
for obj in selected:
if isinstance(obj, GeometryQuadrangle):

sheet = self._logic._getSheet()
c = obj.getCircumCircleCenter()

c = self._logic.createPoint(render_engine.pos3dTo2dWindow(c))
sheet.addChild(c)
c._updateView()

p = obj.getSides()[0].getBegin()

self.active_object = self._logic.createCircle()
if self.active_object.makeBasedOnObjects([c, p]):
sheet.addChild(self.active_object)
obj.setCircumCircle(self.active_object)
else:
self.active_object.delete()
self.active_object = None

if key == ois.KC_V:
selected = self._logic._getSheet().getSelected()
for obj in selected:
if isinstance(obj, GeometryQuadrangle):

points = obj.getInCirclePoints()
sheet = self._logic._getSheet()

c = self._logic.createPoint(render_engine.pos3dTo2dWindow(points[0]))
sheet.addChild(c)
c._updateView()

p = self._logic.createPoint(render_engine.pos3dTo2dWindow(points[1]))
sheet.addChild(p)
p._updateView()

self.active_object = self._logic.createCircle()
if self.active_object.makeBasedOnObjects([c, p]):
sheet.addChild(self.active_object)
else:
self.active_object.delete()
self.active_object = None

return False

def _onKeyReleased(self, _evt):
"""Event key released
"""
if BaseEditMode._onKeyReleased(self, _evt): return True

return False

def _next_candidate(self):
Expand Down
Loading