原始 MediaWiki 页面

我知道编辑这个网站吗?

3D 查看器 › 高光点

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

如何突出显示内容的命名点

您可以下载本操作指南here的示例源代码。

每个§§0§§§拥有一个命名点列表,例如用于标记特定位置。默认情况下,不显示点列表,但可以将其打开,该点显示为宇宙中的球体,并打开一个显示点列表的对话框。

以下示例显示如何搜索 Content 的点列表并添加几个点:

// Add the image as a volume
Content c = univ.addVoltex(imp);


// Make the point list visible
c.showPointList(true);

// Retrieve the point list
PointList pl = c.getPointList();

// Add a few points
pl.add(190, 450, 170);

pl.add(330, 370, 300);

pl.add(430, 90, 150);

指定创建新点的坐标是相应Content的局部坐标。

有时,在特定的创造位置处选择Content表面上的点很方便。通过使用Picker类,这也是可能的。可以从宇宙中获取对Picker对象的引用:

// Add a point at a specific canvas position
univ.getPicker().addPoint(c, 256, 256);

这些点具有默认大小,可以更改:

// Change the size of the points
float curr = c.getLandmarkPointSize();
c.setLandmarkPointSize(curr * 2);

删除列表中的第一个点;

// delete the first point
pl.remove(0);

重命名点:

// rename the now first point
pl.rename(pl.get(0), "newName");

要更改点的位置:

// change the position of the now first point
pl.placePoint(pl.get(0), 190, 450, 170);

###关于地标点的重要方法

重要的方法可以在Content.javaPointList.java中找到。 Content.java:

    public void showPointList(boolean b);

    public PointList getPointList();

    public void loadPointList();

    public void savePointList();

    public float getLandmarkPointSize();

    public void setLandmarkPointSize(float r);

PointList.java

    public void add(BenesNamedPoint point);

    public void add(String name, double x, double y, double z);

    public void add(double x, double y, double z);

    public void remove(BenesNamedPoint point);

    public void remove(int i);

    public void clear();

    public void rename(BenesNamedPoint point, String name);

    public void up(BenesNamedPoint point);

    public void down(BenesNamedPoint point);

    public void highlight(BenesNamedPoint p);

    public void placePoint(BenesNamedPoint point,
                double x, double y, double z);

    public BenesNamedPoint get(int index);

    public int indexOf(BenesNamedPoint p);

    public int indexOfPointAt(double x, double y, double z, double tol);

    public BenesNamedPoint pointAt(double x, double y, double z, double tol);

    public int size();

    public BenesNamedPoint get(String name);

    public Iterator iterator(); `Content.java`和`PointList.java`都提供了`save()`和`load()`方法,但强烈建议使用`Content.java`的方法。