Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CAMP
campvis-public
Commits
4e863bc8
Commit
4e863bc8
authored
Jun 10, 2014
by
Christian Schulte zu Berge
Browse files
Merge branch 'datastructures' into 'development'
Datastructures basic datastructures for Matrix and position data
parents
b44fd851
98096802
Changes
5
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
4e863bc8
...
...
@@ -16,6 +16,11 @@ moc_*.cxx_parameters
/Win32/
/ipch/
*.dir/
*.suo
*.vcxproj.user
/bin/Debug
/bin/Release
/x64/
# Project files of common IDEs
*.cbp
...
...
@@ -23,6 +28,16 @@ moc_*.cxx_parameters
*.vcxproj.filters
*.sln
# Binaries and build output
*.o
*.obj
*.exe
*.dll
*.lib
#cmake
*.cache
# Documentation generated by Doxygen
/doc/html/
/doc/Doxyfile
...
...
core/datastructures/positiondata.cpp
0 → 100644
View file @
4e863bc8
// ================================================================================================
//
// This file is part of the CAMPVis Software Framework.
//
// If not explicitly stated otherwise: Copyright (C) 2012-2014, all rights reserved,
// Christian Schulte zu Berge <christian.szb@in.tum.de>
// Chair for Computer Aided Medical Procedures
// Technische Universitaet Muenchen
// Boltzmannstr. 3, 85748 Garching b. Muenchen, Germany
//
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the
// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// either express or implied. See the License for the specific language governing permissions
// and limitations under the License.
//
// ================================================================================================
#include
"positiondata.h"
namespace
campvis
{
PositionData
::
PositionData
(
const
tgt
::
vec3
&
position
,
const
tgt
::
vec4
&
quaternion
/*= tgt::vec4(0.f, 0.f, 0.f, 0.f) */
)
:
AbstractData
()
,
_position
(
position
)
,
_quaternion
(
quaternion
)
{
}
PositionData
::~
PositionData
()
{
}
PositionData
*
PositionData
::
clone
()
const
{
return
new
PositionData
(
*
this
);
}
size_t
PositionData
::
getLocalMemoryFootprint
()
const
{
return
sizeof
(
PositionData
);
}
size_t
PositionData
::
getVideoMemoryFootprint
()
const
{
return
0
;
}
}
core/datastructures/positiondata.h
0 → 100644
View file @
4e863bc8
// ================================================================================================
//
// This file is part of the CAMPVis Software Framework.
//
// If not explicitly stated otherwise: Copyright (C) 2012-2014, all rights reserved,
// Christian Schulte zu Berge <christian.szb@in.tum.de>
// Chair for Computer Aided Medical Procedures
// Technische Universitaet Muenchen
// Boltzmannstr. 3, 85748 Garching b. Muenchen, Germany
//
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the
// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// either express or implied. See the License for the specific language governing permissions
// and limitations under the License.
//
// ================================================================================================
#ifndef POSITIONDATA_H__
#define POSITIONDATA_H__
#include
"tgt/vector.h"
#include
"core/datastructures/abstractdata.h"
namespace
campvis
{
/**
* Data Container to store a position and (optional) rotation as quaternion
*/
class
PositionData
:
public
AbstractData
{
public:
/**
* Constructor, Creates a new light source.
* \param position The initial position
* \param quaternion The initial quaternion/orientation
*/
explicit
PositionData
(
const
tgt
::
vec3
&
position
,
const
tgt
::
vec4
&
quaternion
=
tgt
::
vec4
(
0.
f
,
0.
f
,
0.
f
,
0.
f
)
);;
/**
* Virtual destructor
*/
virtual
~
PositionData
();;
/// \see AbstractData::clone()
virtual
PositionData
*
clone
()
const
;;
/// \see AbstractData::getLocalMemoryFootprint()
virtual
size_t
getLocalMemoryFootprint
()
const
;;
/// \see AbstractData::getVideoMemoryFootprint()
virtual
size_t
getVideoMemoryFootprint
()
const
;;
/**
* Gets the quaternion
* \return _quaternion
**/
tgt
::
vec4
getQuaternion
()
const
{
return
_quaternion
;
}
/**
* Sets the quaternion.
* \param val New quaternion vector
**/
void
setQuaternion
(
const
tgt
::
vec4
&
val
)
{
_quaternion
=
val
;
}
/**
* Gets the position
* \return _position
**/
tgt
::
vec3
getPosition
()
const
{
return
_position
;
}
/**
* Sets the position.
* \param val New position vector
**/
void
setPosition
(
const
tgt
::
vec3
&
val
)
{
_position
=
val
;
}
protected:
tgt
::
vec3
_position
;
///< the position
tgt
::
vec4
_quaternion
;
///< The orientation quaternion
};
}
#endif // POSITION_H__
core/datastructures/transformdata.cpp
0 → 100644
View file @
4e863bc8
// ================================================================================================
//
// This file is part of the CAMPVis Software Framework.
//
// If not explicitly stated otherwise: Copyright (C) 2012-2014, all rights reserved,
// Christian Schulte zu Berge <christian.szb@in.tum.de>
// Chair for Computer Aided Medical Procedures
// Technische Universitaet Muenchen
// Boltzmannstr. 3, 85748 Garching b. Muenchen, Germany
//
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the
// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// either express or implied. See the License for the specific language governing permissions
// and limitations under the License.
//
// ================================================================================================
#include
"transformdata.h"
namespace
campvis
{
TransformData
::
TransformData
(
const
tgt
::
mat4
&
transform
)
:
AbstractData
()
,
_transform
(
transform
)
{
}
TransformData
::~
TransformData
()
{
}
TransformData
*
TransformData
::
clone
()
const
{
return
new
TransformData
(
*
this
);
}
size_t
TransformData
::
getLocalMemoryFootprint
()
const
{
return
sizeof
(
TransformData
);
}
size_t
TransformData
::
getVideoMemoryFootprint
()
const
{
return
0
;
}
}
core/datastructures/transformdata.h
0 → 100644
View file @
4e863bc8
// ================================================================================================
//
// This file is part of the CAMPVis Software Framework.
//
// If not explicitly stated otherwise: Copyright (C) 2012-2014, all rights reserved,
// Christian Schulte zu Berge <christian.szb@in.tum.de>
// Chair for Computer Aided Medical Procedures
// Technische Universitaet Muenchen
// Boltzmannstr. 3, 85748 Garching b. Muenchen, Germany
//
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the
// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// either express or implied. See the License for the specific language governing permissions
// and limitations under the License.
//
// ================================================================================================
#ifndef TRANSFORMDATA_H__
#define TRANSFORMDATA_H__
#include
"tgt/vector.h"
#include
"core/datastructures/abstractdata.h"
namespace
campvis
{
/**
* Data Container class for transforms. Stores a \a tgt::mat4 object.
*/
class
TransformData
:
public
AbstractData
{
public:
/**
* Constructor, Creates a new light source.
* \param transform The transformation
*/
explicit
TransformData
(
const
tgt
::
mat4
&
transform
);
/**
* Virtual destructor
*/
virtual
~
TransformData
();
/// \see AbstractData::clone()
virtual
TransformData
*
clone
()
const
;
/// \see AbstractData::getLocalMemoryFootprint()
virtual
size_t
getLocalMemoryFootprint
()
const
;
/// \see AbstractData::getVideoMemoryFootprint()
virtual
size_t
getVideoMemoryFootprint
()
const
;
/**
* Gets the transformation
* \return _transform
**/
tgt
::
mat4
getTransform
()
const
{
return
_transform
;
}
/**
* Sets the transformation.
* \param _transformation New transformation matrix
**/
void
setTransform
(
const
tgt
::
mat4
&
val
)
{
_transform
=
val
;
}
protected:
tgt
::
mat4
_transform
;
///< The transform
};
}
#endif // TRANSFORMDATA_H__
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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