NurbsCurveList.GetClosestCurvePosition operator

説明

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

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

C#構文

NurbsCurveList.GetClosestCurvePosition( Object in_vPosition, Object& out_pvCurveIndex, Object& out_pvSquaredDistance, Object& out_pvUValue, Object& out_pvPosition );

スクリプト構文

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

パラメータ

パラメータ タイプ 説明
Position SIVector3または 3 つのエレメントからなる 1DArray NurbsCurveList オブジェクトの参照フレームとして表現される位置
CurveIndex Long 指定された位置に最も近いカーブのインデックス
SquaredDistance Double 指定された位置からカーブのポイントまでの距離の 2乗
UValue Double NurbsCurve上で対応するUValue
Position 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