00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "collisionEntry.h"
00020
00021 TypeHandle CollisionEntry::_type_handle;
00022
00023
00024
00025
00026
00027
00028 CollisionEntry::
00029 CollisionEntry(const CollisionEntry ©) :
00030 _from(copy._from),
00031 _into(copy._into),
00032 _from_node(copy._from_node),
00033 _into_node(copy._into_node),
00034 _into_node_path(copy._into_node_path),
00035 _from_space(copy._from_space),
00036 _into_space(copy._into_space),
00037 _wrt_space(copy._wrt_space),
00038 _inv_wrt_space(copy._inv_wrt_space),
00039 _flags(copy._flags),
00040 _into_intersection_point(copy._into_intersection_point),
00041 _into_surface_normal(copy._into_surface_normal),
00042 _into_depth(copy._into_depth)
00043 {
00044 }
00045
00046
00047
00048
00049
00050
00051 void CollisionEntry::
00052 operator = (const CollisionEntry ©) {
00053 _from = copy._from;
00054 _into = copy._into;
00055 _from_node = copy._from_node;
00056 _into_node = copy._into_node;
00057 _into_node_path = copy._into_node_path;
00058 _from_space = copy._from_space;
00059 _into_space = copy._into_space;
00060 _wrt_space = copy._wrt_space;
00061 _inv_wrt_space = copy._inv_wrt_space;
00062 _flags = copy._flags;
00063 _into_intersection_point = copy._into_intersection_point;
00064 _into_surface_normal = copy._into_surface_normal;
00065 _into_depth = copy._into_depth;
00066 }
00067
00068
00069
00070
00071
00072
00073
00074
00075 void CollisionEntry::
00076 compute_from_surface_normal() {
00077 _from_surface_normal = get_into_surface_normal() * get_inv_wrt_space();
00078 _flags |= F_has_from_surface_normal;
00079 }