10 RangeType_Cylinder = 2
13 enum DISTANCE_CALC_TYPE {
14 DistanceCalcType_Default = -1,
15 DistanceCalcType_X = 0,
16 DistanceCalcType_Y = 1,
17 DistanceCalcType_Z = 2
22 virtual void updateMtx(
const TPos3f &rMtx);
23 virtual bool calcOwnGravityVector(TVec3f *pDest, f32 *pScalar,
const TVec3f &rPosition)
const;
25 void setPlane(
const TVec3f &rPlaneUp,
const TVec3f &rPlanePos);
26 void setRangeBox(
const TPos3f &);
27 void setRangeCylinder(f32 radius, f32 height);
28 void setRangeType(RANGE_TYPE rangeType);
29 void setBaseDistance(f32 val);
30 void setDistanceCalcType(DISTANCE_CALC_TYPE distanceCalcType);
31 bool isInSphereRange(
const TVec3f &rPosition, f32 *pScalar)
const;
32 bool isInBoxRange(
const TVec3f &rPosition, f32 *pScalar)
const;
33 bool isInCylinderRange(
const TVec3f &rPosition, f32 *pScalar)
const;
34 bool isInRange(
const TVec3f &rPosition, f32 *pScalar)
const;
41 TVec3f mPlanePosition;
43 TVec3f mWorldPlanePosition;
44 TVec3f mWorldPlaneUpVec;
48 RANGE_TYPE mRangeType;
49 DISTANCE_CALC_TYPE mDistanceCalcType;