私は Javascript で書かれた OpenJScad を使って 3D モデルを構築する初心者プログラマーです。
ユーザー入力パラメーターで動的に作成されるオブジェクトのインスタンス プロパティにアクセスできるように、コードを構造化する方法を見つけようとしています。次の変数を持つ親 Gear クラスがあります...
// Gear parent class
Gear = function(numTeeth, circularPitch, pressureAngle, clearance, thickness)
{
var pitchRadius = numTeeth * circularPitch / (2 * Math.PI);
ユーザーパラメーターを受け入れるいくつかの Gear サブクラスを作成しています。つまり...
// Spur Gear
function makeSpur(params)
{
var gear = new Gear(
params.spurTeeth,
params.circularPitch,
params.pressureAngle,
params.clearance,
params.inputBore
);
if(params.inputBore > 0)
{
var inputBore = CSG.cylinder({start: [0,0,-params.thickness2], end:
[0,0,params.thickness2], radius: params.inputBore, resolution: 16});
gear = gear.subtract(inputBore).rotateX(90);
}
return gear;
...そして、別の Gear オブジェクトの pitchRadius プロパティに基づいて位置座標を動的に生成します...
// function main
var spurGear = makeSpur(params);
spurGear = spurGear.translate([-pinionGear.pitchRadius,0,0]);
別の Gear インスタンスから pitchRadius プロパティにアクセスしようとする場合を除いて、すべてがレンダリングされます。プロトタイプとプライベート/パブリック プロパティへのアクセスについて読んだことがありますが、関数 main でインスタンス プロパティにアクセスできるようにコードを構造化する方法がわかりません。