Main Page
Related Pages
Classes
Files
File List
scene
3d
ray_cast.h
1
/*************************************************************************/
2
/* ray_cast.h */
3
/*************************************************************************/
4
/* This file is part of: */
5
/* GODOT ENGINE */
6
/* http://www.godotengine.org */
7
/*************************************************************************/
8
/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
9
/* */
10
/* Permission is hereby granted, free of charge, to any person obtaining */
11
/* a copy of this software and associated documentation files (the */
12
/* "Software"), to deal in the Software without restriction, including */
13
/* without limitation the rights to use, copy, modify, merge, publish, */
14
/* distribute, sublicense, and/or sell copies of the Software, and to */
15
/* permit persons to whom the Software is furnished to do so, subject to */
16
/* the following conditions: */
17
/* */
18
/* The above copyright notice and this permission notice shall be */
19
/* included in all copies or substantial portions of the Software. */
20
/* */
21
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
22
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
23
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
24
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
25
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
26
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
27
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
28
/*************************************************************************/
29
#ifndef RAY_CAST_H
30
#define RAY_CAST_H
31
32
#include "scene/3d/spatial.h"
33
34
class
RayCast
:
public
Spatial
{
35
36
OBJ_TYPE(
RayCast
,
Spatial
);
37
38
39
bool
enabled;
40
bool
collided;
41
ObjectID against;
42
int
against_shape;
43
Vector3
collision_point;
44
Vector3
collision_normal;
45
46
Vector3
cast_to;
47
48
Set<RID>
exclude;
49
50
protected
:
51
52
void
_notification(
int
p_what);
53
static
void
_bind_methods();
54
public
:
55
56
void
set_enabled(
bool
p_enabled);
57
bool
is_enabled()
const
;
58
59
void
set_cast_to(
const
Vector3
& p_point);
60
Vector3
get_cast_to()
const
;
61
62
bool
is_colliding()
const
;
63
Object
*get_collider()
const
;
64
int
get_collider_shape()
const
;
65
Vector3
get_collision_point()
const
;
66
Vector3
get_collision_normal()
const
;
67
68
void
add_exception_rid(
const
RID
& p_rid);
69
void
add_exception(
const
Object
* p_object);
70
void
remove_exception_rid(
const
RID
& p_rid);
71
void
remove_exception(
const
Object
* p_object);
72
void
clear_exceptions();
73
74
RayCast
();
75
};
76
77
#endif // RAY_CAST_H
Set< RID >
Vector3
Definition:
vector3.h:38
RID
Definition:
rid.h:47
Object
Definition:
object.h:317
RayCast
Definition:
ray_cast.h:34
Spatial
Definition:
spatial.h:56
Generated on Wed Jul 13 2016 13:21:00 by
1.8.11