NurbsCurveList.GetClosestCurvePosition operator

説明

カーブのインデックス、カーブ上のポイントの位置、U値および指定された位置からの距離の 2乗を戻します。

注: このメソッドでは output arguments が使用されます。C#および他のスクリプト言語(JScript、PerlScriptなど)では、引数の参照渡しは使用できません。ただし、C#、JScript、および PerlScript で使用しても安全な、このメソッドの代替バージョンNurbsCurveList.GetClosestCurvePosition2が用意されています。

スクリプト 構文

NurbsCurveList.GetClosestCurvePosition( Position, [CurveIndex], [SquaredDistance], [UValue], [Position] );

パラメータ

パラメータ タイプ 詳細
位置 SIVector3または 3 つのエレメントからなる 1DArray NurbsCurveList オブジェクトの参照フレームとして表現される位置
CurveIndex Long 指定された位置に最も近いカーブのインデックス
SquaredDistance Double 指定された位置からカーブのポイントまでの距離の 2乗
UValue Double NurbsCurve上で対応するUValue
位置 SIVector3 UV値における実際のカーブポイントの位置

VBScript の例

set oRoot = Application.activeproject.activescene.root
set oArc = oRoot.AddGeometry( "Arc", "NurbsCurve" )
'Translate the sphere
oArc.Kinematics.Global.Parameters("posx").value = oArc.Kinematics.Global.Parameters("posx").value + 13
set oPos = XSIMath.CreateVector3
oPos.Set 0.0, 0.0, 0.0
set oPosition = XSIMath.MapWorldPositionToObjectSpace(oArc.Kinematics.local.transform, oPos) 
oArc.ActivePrimitive.Geometry.GetClosestCurvePosition oPosition, CurveIndex, squaredDistance, UValue, CurvePosition
logmessage "The origin is closest to curve : " & CurveIndex & " its distance from it is " & sqr(squaredDistance)
logmessage "The U values is " & UValue
logmessage "The corresponding position is X : " & CurvePosition.X & " Y :" & CurvePosition.Y & " Z :" & CurvePosition.Z
oArc.ActivePrimitive.Geometry.GetClosestCurvePosition Array(0.0, 0.0, 0.0), CurveIndex, squaredDistance, UValue, CurvePosition
logmessage "The origin is closest to surface : " & CurveIndex & " its distance from it is " & sqr(squaredDistance)
logmessage "The U values is " & UValue
logmessage "The corresponding position is X : " & CurvePosition.X & " Y :" & CurvePosition.Y & " Z :" & CurvePosition.Z