Esempio n. 1
0
void AudioStreamPlayer3D::set_doppler_tracking(DopplerTracking p_tracking) {

	if (doppler_tracking == p_tracking)
		return;

	doppler_tracking = p_tracking;

	if (doppler_tracking != DOPPLER_TRACKING_DISABLED) {
		set_notify_transform(true);
		velocity_tracker->set_track_physics_step(doppler_tracking == DOPPLER_TRACKING_PHYSICS_STEP);
		velocity_tracker->reset(get_global_transform().origin);
	} else {
		set_notify_transform(false);
	}
}
Esempio n. 2
0
Skeleton::Skeleton() {

	rest_global_inverse_dirty = true;
	dirty = false;
	skeleton = VisualServer::get_singleton()->skeleton_create();
	set_notify_transform(true);
}
Esempio n. 3
0
NavigationPolygonInstance::NavigationPolygonInstance() {

	navigation = NULL;
	nav_id = -1;
	enabled = true;
	set_notify_transform(true);
}
Esempio n. 4
0
Listener::Listener() {

	current = false;
	force_change = false;
	set_notify_transform(true);
	//active=false;
}
Esempio n. 5
0
Camera2D::Camera2D() {

	anchor_mode = ANCHOR_MODE_DRAG_CENTER;
	rotating = false;
	current = false;
	limit[MARGIN_LEFT] = -10000000;
	limit[MARGIN_TOP] = -10000000;
	limit[MARGIN_RIGHT] = 10000000;
	limit[MARGIN_BOTTOM] = 10000000;

	drag_margin[MARGIN_LEFT] = 0.2;
	drag_margin[MARGIN_TOP] = 0.2;
	drag_margin[MARGIN_RIGHT] = 0.2;
	drag_margin[MARGIN_BOTTOM] = 0.2;
	camera_pos = Vector2();
	first = true;
	smoothing_enabled = false;
	limit_smoothing_enabled = false;
	custom_viewport = NULL;
	custom_viewport_id = 0;

	smoothing = 5.0;
	zoom = Vector2(1, 1);

	screen_drawing_enabled = true;
	limit_drawing_enabled = false;
	margin_drawing_enabled = false;

	h_drag_enabled = true;
	v_drag_enabled = true;
	h_ofs = 0;
	v_ofs = 0;
	set_notify_transform(true);
}
Esempio n. 6
0
NavigationMeshInstance::NavigationMeshInstance() {

	debug_view = NULL;
	navigation = NULL;
	nav_id = -1;
	enabled = true;
	set_notify_transform(true);
}
Esempio n. 7
0
ProximityGroup::ProximityGroup() {

	group_version = 0;
	dispatch_mode = MODE_PROXY;

	grid_radius = Vector3(1, 1, 1);
	set_notify_transform(true);
};
Esempio n. 8
0
CollisionObject::CollisionObject() {

	capture_input_on_drag = false;
	ray_pickable = true;
	set_notify_transform(true);
	//owner=

	//set_transform_notify(true);
}
Esempio n. 9
0
Skeleton::Skeleton() {

	rest_global_inverse_dirty = true;
	dirty = false;
	process_order_dirty = true;
	skeleton = VisualServer::get_singleton()->skeleton_create();
	set_notify_transform(true);
	use_bones_in_world_transform = false;
}
Esempio n. 10
0
void Particles2D::set_use_local_coordinates(bool p_enable) {

	local_coords = p_enable;
	VS::get_singleton()->particles_set_use_local_coordinates(particles, local_coords);
	set_notify_transform(!p_enable);
	if (!p_enable && is_inside_tree()) {
		_update_particle_emission_transform();
	}
}
Esempio n. 11
0
RemoteTransform2D::RemoteTransform2D() {

	use_global_coordinates = true;
	update_remote_position = true;
	update_remote_rotation = true;
	update_remote_scale = true;

	cache = 0;
	set_notify_transform(true);
}
Esempio n. 12
0
CollisionObject2D::CollisionObject2D(RID p_rid, bool p_area) {

	rid = p_rid;
	area = p_area;
	pickable = true;
	set_notify_transform(true);

	if (p_area) {

		Physics2DServer::get_singleton()->area_attach_object_instance_ID(rid, get_instance_ID());
	} else {
		Physics2DServer::get_singleton()->body_attach_object_instance_ID(rid, get_instance_ID());
	}
}
Esempio n. 13
0
CollisionObject::CollisionObject(RID p_rid, bool p_area) {

	rid = p_rid;
	area = p_area;
	capture_input_on_drag = false;
	ray_pickable = true;
	set_notify_transform(true);
	total_subshapes = 0;

	if (p_area) {
		PhysicsServer::get_singleton()->area_attach_object_instance_id(rid, get_instance_id());
	} else {
		PhysicsServer::get_singleton()->body_attach_object_instance_id(rid, get_instance_id());
	}
	//set_transform_notify(true);
}
Esempio n. 14
0
CollisionObject2D::CollisionObject2D(RID p_rid, bool p_area) {

	rid = p_rid;
	area = p_area;
	pickable = true;
	set_notify_transform(true);
	total_subshapes = 0;
	only_update_transform_changes = false;

	if (p_area) {

		Physics2DServer::get_singleton()->area_attach_object_instance_id(rid, get_instance_id());
	} else {
		Physics2DServer::get_singleton()->body_attach_object_instance_id(rid, get_instance_id());
	}
}
Esempio n. 15
0
GridMap::GridMap() {

	cell_size = 2;
	octant_size = 4;
	awaiting_update = false;
	_in_tree = false;
	center_x = true;
	center_y = true;
	center_z = true;

	clip = false;
	clip_floor = 0;
	clip_axis = Vector3::AXIS_Z;
	clip_above = true;
	cell_scale = 1.0;

	navigation = NULL;
	set_notify_transform(true);
}
Esempio n. 16
0
Camera::Camera() {

	camera = VisualServer::get_singleton()->camera_create();
	size = 1;
	fov = 0;
	near = 0;
	far = 0;
	current = false;
	force_change = false;
	mode = PROJECTION_PERSPECTIVE;
	set_perspective(60.0, 0.1, 100.0);
	keep_aspect = KEEP_HEIGHT;
	layers = 0xfffff;
	v_offset = 0;
	h_offset = 0;
	VisualServer::get_singleton()->camera_set_cull_mask(camera, layers);
	//active=false;
	set_notify_transform(true);
}
VisibilityNotifier2D::VisibilityNotifier2D() {

	rect = Rect2(-10, -10, 20, 20);
	set_notify_transform(true);
}
Esempio n. 18
0
CollisionObject2D::CollisionObject2D() {

	//owner=

	set_notify_transform(true);
}
Esempio n. 19
0
VisibilityNotifier::VisibilityNotifier() {

	aabb = AABB(Vector3(-1, -1, -1), Vector3(2, 2, 2));
	set_notify_transform(true);
}
Esempio n. 20
0
void SoftBody::_notification(int p_what) {
	switch (p_what) {
		case NOTIFICATION_ENTER_WORLD: {

			if (Engine::get_singleton()->is_editor_hint()) {

				add_change_receptor(this);
			}

			RID space = get_world()->get_space();
			PhysicsServer::get_singleton()->soft_body_set_space(physics_rid, space);
			update_physics_server();
		} break;
		case NOTIFICATION_READY: {
			if (!parent_collision_ignore.is_empty())
				add_collision_exception_with(get_node(parent_collision_ignore));

		} break;
		case NOTIFICATION_TRANSFORM_CHANGED: {

			if (Engine::get_singleton()->is_editor_hint()) {
				_reset_points_offsets();
				return;
			}

			PhysicsServer::get_singleton()->soft_body_set_transform(physics_rid, get_global_transform());

			set_notify_transform(false);
			// Required to be top level with Transform at center of world in order to modify VisualServer only to support custom Transform
			set_as_toplevel(true);
			set_transform(Transform());
			set_notify_transform(true);

		} break;
		case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: {

			if (!simulation_started)
				return;

			_update_cache_pin_points_datas();
			// Submit bone attachment
			const int pinned_points_indices_size = pinned_points.size();
			PoolVector<PinnedPoint>::Read r = pinned_points.read();
			for (int i = 0; i < pinned_points_indices_size; ++i) {
				if (r[i].spatial_attachment) {
					PhysicsServer::get_singleton()->soft_body_move_point(physics_rid, r[i].point_index, r[i].spatial_attachment->get_global_transform().xform(r[i].offset));
				}
			}
		} break;
		case NOTIFICATION_VISIBILITY_CHANGED: {

			_update_pickable();

		} break;
		case NOTIFICATION_EXIT_WORLD: {

			PhysicsServer::get_singleton()->soft_body_set_space(physics_rid, RID());

		} break;
	}

#ifdef TOOLS_ENABLED

	if (p_what == NOTIFICATION_LOCAL_TRANSFORM_CHANGED) {
		if (Engine::get_singleton()->is_editor_hint()) {
			update_configuration_warning();
		}
	}

#endif
}