那么如何评估一个非常简单的 antlr 语法,它只做这个。
Box(1,2,4)
Cylinder(1,2)
并构建 java3d 形状,(假设我已经为 java3d 构建了一个画布并拥有在 java 中创建每个元素的代码,
protected static BranchGroup addBox1(Float a, Float b, Float C){
// create branch for display
TransformGroup bodyTransform = new TransformGroup();
BranchGroup bg = new BranchGroup();
bg.setCapability(BranchGroup.ALLOW_DETACH);
bg.setUserData(shapeId);
// set transformation
bodyTransform = setTransformShape(0,0,0,0,0,0,0);
// create box
Box tmpBox = new Box(a,b,c, Primitive.GENERATE_NORMALS |
Primitive.GENERATE_TEXTURE_COORDS,setAppearance(color));
getCoords(tmpBox);
bodyTransform.addChild(tmpBox);
trFormList.add(bodyTransform);
shapeId++;
//add box to branch
bg.addChild(bodyTransform);
return bg;
}
)
谢谢