Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv_contrib
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv_contrib
Commits
c80fdd3e
Commit
c80fdd3e
authored
Feb 14, 2018
by
Pavel Rojtberg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ovis: refactor _getSceneNode to make clear that it throws on not found
parent
68aebd25
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
14 deletions
+14
-14
ovis.cpp
modules/ovis/src/ovis.cpp
+14
-14
No files found.
modules/ovis/src/ovis.cpp
View file @
c80fdd3e
...
@@ -107,13 +107,13 @@ static void _setCameraIntrinsics(Camera* cam, InputArray _K, const Size& imsize)
...
@@ -107,13 +107,13 @@ static void _setCameraIntrinsics(Camera* cam, InputArray _K, const Size& imsize)
cam
->
setFrustumOffset
(
toOGRE_SS
*
Vector2
(
pp_offset
.
val
));
cam
->
setFrustumOffset
(
toOGRE_SS
*
Vector2
(
pp_offset
.
val
));
}
}
static
SceneNode
*
_getSceneNode
(
SceneManager
*
sceneMgr
,
const
String
&
name
)
static
SceneNode
&
_getSceneNode
(
SceneManager
*
sceneMgr
,
const
String
&
name
)
{
{
MovableObject
*
mo
=
NULL
;
MovableObject
*
mo
=
NULL
;
try
try
{
{
mo
=
sceneMgr
->
get
Camera
(
name
);
mo
=
sceneMgr
->
get
MovableObject
(
name
,
"Camera"
);
}
}
catch
(
ItemIdentityException
&
)
catch
(
ItemIdentityException
&
)
{
{
...
@@ -123,7 +123,7 @@ static SceneNode* _getSceneNode(SceneManager* sceneMgr, const String& name)
...
@@ -123,7 +123,7 @@ static SceneNode* _getSceneNode(SceneManager* sceneMgr, const String& name)
try
try
{
{
if
(
!
mo
)
if
(
!
mo
)
mo
=
sceneMgr
->
get
Light
(
name
);
mo
=
sceneMgr
->
get
MovableObject
(
name
,
"Light"
);
}
}
catch
(
ItemIdentityException
&
)
catch
(
ItemIdentityException
&
)
{
{
...
@@ -131,9 +131,9 @@ static SceneNode* _getSceneNode(SceneManager* sceneMgr, const String& name)
...
@@ -131,9 +131,9 @@ static SceneNode* _getSceneNode(SceneManager* sceneMgr, const String& name)
}
}
if
(
!
mo
)
if
(
!
mo
)
mo
=
sceneMgr
->
get
Entity
(
name
);
mo
=
sceneMgr
->
get
MovableObject
(
name
,
"Entity"
);
// throws if not found
return
mo
->
getParentSceneNode
();
return
*
mo
->
getParentSceneNode
();
}
}
struct
Application
:
public
OgreBites
::
ApplicationContext
,
public
OgreBites
::
InputListener
struct
Application
:
public
OgreBites
::
ApplicationContext
,
public
OgreBites
::
InputListener
...
@@ -352,10 +352,10 @@ public:
...
@@ -352,10 +352,10 @@ public:
}
}
void
removeEntity
(
const
String
&
name
)
{
void
removeEntity
(
const
String
&
name
)
{
SceneNode
*
node
=
_getSceneNode
(
sceneMgr
,
name
);
SceneNode
&
node
=
_getSceneNode
(
sceneMgr
,
name
);
node
->
getAttachedObject
(
name
)
->
detachFromParent
();
node
.
getAttachedObject
(
name
)
->
detachFromParent
();
sceneMgr
->
destroyEntity
(
name
);
sceneMgr
->
destroyEntity
(
name
);
sceneMgr
->
destroySceneNode
(
node
);
sceneMgr
->
destroySceneNode
(
&
node
);
}
}
Rect2d
createCameraEntity
(
const
String
&
name
,
InputArray
K
,
const
Size
&
imsize
,
float
zFar
,
Rect2d
createCameraEntity
(
const
String
&
name
,
InputArray
K
,
const
Size
&
imsize
,
float
zFar
,
...
@@ -407,22 +407,22 @@ public:
...
@@ -407,22 +407,22 @@ public:
void
updateEntityPose
(
const
String
&
name
,
InputArray
tvec
,
InputArray
rot
)
void
updateEntityPose
(
const
String
&
name
,
InputArray
tvec
,
InputArray
rot
)
{
{
SceneNode
*
node
=
_getSceneNode
(
sceneMgr
,
name
);
SceneNode
&
node
=
_getSceneNode
(
sceneMgr
,
name
);
Quaternion
q
;
Quaternion
q
;
Vector3
t
;
Vector3
t
;
_convertRT
(
rot
,
tvec
,
q
,
t
);
_convertRT
(
rot
,
tvec
,
q
,
t
);
node
->
rotate
(
q
,
Ogre
::
Node
::
TS_LOCAL
);
node
.
rotate
(
q
,
Ogre
::
Node
::
TS_LOCAL
);
node
->
translate
(
t
,
Ogre
::
Node
::
TS_LOCAL
);
node
.
translate
(
t
,
Ogre
::
Node
::
TS_LOCAL
);
}
}
void
setEntityPose
(
const
String
&
name
,
InputArray
tvec
,
InputArray
rot
,
bool
invert
)
void
setEntityPose
(
const
String
&
name
,
InputArray
tvec
,
InputArray
rot
,
bool
invert
)
{
{
SceneNode
*
node
=
_getSceneNode
(
sceneMgr
,
name
);
SceneNode
&
node
=
_getSceneNode
(
sceneMgr
,
name
);
Quaternion
q
;
Quaternion
q
;
Vector3
t
;
Vector3
t
;
_convertRT
(
rot
,
tvec
,
q
,
t
,
invert
);
_convertRT
(
rot
,
tvec
,
q
,
t
,
invert
);
node
->
setOrientation
(
q
);
node
.
setOrientation
(
q
);
node
->
setPosition
(
t
);
node
.
setPosition
(
t
);
}
}
void
_createBackground
()
void
_createBackground
()
...
...
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