Class
List
Modules
Common
Events
Messages
Physics
Rendering
Sensors
Transport
Links
Gazebo Website
Tutorials
Download
Report Documentation Issues
gazebo
common
MeshCSG.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
#ifndef _GAZEBO_MESHCSG_HH_
18
#define _GAZEBO_MESHCSG_HH_
19
20
#include <ignition/math/Pose3.hh>
21
22
#include "
gazebo/util/system.hh
"
23
24
struct
_GtsSurface;
25
typedef
_GtsSurface
GtsSurface
;
26
struct
_GPtrArray;
27
typedef
_GPtrArray
GPtrArray
;
28
29
namespace
gazebo
30
{
31
namespace
common
32
{
33
class
Mesh;
34
37
40
class
GZ_COMMON_VISIBLE
MeshCSG
41
{
43
public
:
enum
BooleanOperation
{
UNION
,
INTERSECTION
,
DIFFERENCE
};
44
46
public
:
MeshCSG
();
47
49
public
:
virtual
~MeshCSG
();
50
57
public
:
Mesh
*
CreateBoolean
(
const
Mesh
*_m1,
const
Mesh
*_m2,
58
const
int
_operation,
59
const
ignition::math::Pose3d &_offset = ignition::math::Pose3d::Zero);
60
62
private
:
void
ConvertMeshToGTS(
const
Mesh
*mesh,
GtsSurface
*surface);
63
65
// are within epsilon
68
private
:
void
MergeVertices(
GPtrArray
* _vertices,
double
_epsilon);
69
};
70
71
}
72
}
73
74
#endif
common
common
Definition
FuelModelDatabase.hh:37
GtsSurface
_GtsSurface GtsSurface
Definition
GTSMeshUtils.hh:28
GPtrArray
_GPtrArray GPtrArray
Definition
MeshCSG.hh:27
gazebo::common::MeshCSG::BooleanOperation
BooleanOperation
An enumeration of the boolean operations.
Definition
MeshCSG.hh:43
gazebo::common::MeshCSG::UNION
@ UNION
Definition
MeshCSG.hh:43
gazebo::common::MeshCSG::INTERSECTION
@ INTERSECTION
Definition
MeshCSG.hh:43
gazebo::common::MeshCSG::DIFFERENCE
@ DIFFERENCE
Definition
MeshCSG.hh:43
gazebo::common::MeshCSG::CreateBoolean
Mesh * CreateBoolean(const Mesh *_m1, const Mesh *_m2, const int _operation, const ignition::math::Pose3d &_offset=ignition::math::Pose3d::Zero)
Create a boolean mesh from two meshes.
gazebo::common::MeshCSG::~MeshCSG
virtual ~MeshCSG()
Destructor.
gazebo::common::MeshCSG::MeshCSG
MeshCSG()
Constructor.
gazebo::common::Mesh
A 3D mesh.
Definition
Mesh.hh:43
gazebo
Forward declarations for the common classes.
Definition
Animation.hh:27
system.hh