hrplib
hrpCollision
Opcode
Ice
IceSegment.cpp
Go to the documentation of this file.
1
8
11
21
24
// Precompiled Header
25
#include "
Stdafx.h
"
26
27
using namespace
IceMaths
;
28
29
float
Segment::SquareDistance
(
const
Point& point,
float
* t)
const
30
{
31
Point Diff = point - mP0;
32
Point Dir = mP1 - mP0;
33
float
fT = Diff | Dir;
34
35
if
(fT<=0.0
f
)
36
{
37
fT = 0.0f;
38
}
39
else
40
{
41
float
SqrLen= Dir.SquareMagnitude();
42
if
(fT>=SqrLen)
43
{
44
fT = 1.0f;
45
Diff -= Dir;
46
}
47
else
48
{
49
fT /= SqrLen;
50
Diff -= fT*Dir;
51
}
52
}
53
54
if
(t) *t = fT;
55
56
return
Diff.SquareMagnitude();
57
}
swingTest.f
f
Definition:
swingTest.py:6
Segment::SquareDistance
float SquareDistance(const Point &point, float *t=null) const
Definition:
IceSegment.cpp:29
Stdafx.h
IceMaths
Definition:
ColdetModel.h:24
openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:03