21 PhysxSegment(
const LPoint3f &p0, 
const LPoint3f &p1) {
    42   nassertv_always(!p.is_nan());
    62   nassertv_always(!p.is_nan());
    83   nassertv(!dir.is_nan());
    86   _segment.computeDirection(nDir);
    87   PhysxManager::update_point3_from_nxVec3(dir, nDir);
    96   return _segment.computeLength();
   105   nassertv(!p.is_nan());
   108   _segment.computePoint(nP, t);
   109   PhysxManager::update_point3_from_nxVec3(p, nP);
   119   return _segment.computeSquareLength();
   128   nassertv_always(!origin.is_nan());
   129   nassertv_always(!direction.is_nan());
 static NxVec3 point3_to_nxVec3(const LPoint3f &p)
Converts from LPoint3f to NxVec3.
LPoint3f get_p0() const
Returns the start point of the segment.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
float compute_square_length() const
Returns the square distance from the segment's start point to it's end point.
LPoint3f get_origin() const
Returns the start point of the segment.
float compute_length() const
Returns the distance from the segment's start point to it's end point.
void set_p0(LPoint3f p)
Sets the start point of the segment.
static NxVec3 vec3_to_nxVec3(const LVector3f &v)
Converts from LVector3f to NxVec3.
static LVector3f nxVec3_to_vec3(const NxVec3 &v)
Converts from NxVec3 to LVector3f.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
LPoint3f get_p1() const
Returns the end point of the segment.
void set_p1(LPoint3f p)
Sets the end point of the segment.
void compute_point(LPoint3f &p, float t) const
Computes a point on the segment.
void compute_direction(LPoint3f &dir) const
Returns the direction vector from the segment's start point to it's end point.
static LPoint3f nxVec3_to_point3(const NxVec3 &p)
Converts from NxVec3 to LPoint3f.
void set_origin_direction(const LPoint3f &origin, const LVector3f &direction)
Setup this segment from origin (start point) and direction vector.