示例#1
0
MeshListGeometry* ROICube::generateNormalizedMesh(tgt::plane pl) const {
    FaceGeometry planeFace = createQuad(pl, getColor());

    vec4 xm(-1.0f, 0.0f, 0.0f, 1.0f);
    vec4 xp(1.0f, 0.0f, 0.0f, 1.0f);
    vec4 ym(0.0f, -1.0f, 0.0f, 1.0f);
    vec4 yp(0.0f, 1.0f, 0.0f, 1.0f);
    vec4 zm(0.0f, 0.0f, -1.0f, 1.0f);
    vec4 zp(0.0f, 0.0f, 1.0f, 1.0f);

    planeFace.clip(xm);
    planeFace.clip(xp);
    planeFace.clip(ym);
    planeFace.clip(yp);
    planeFace.clip(zm);
    planeFace.clip(zp);

    MeshGeometry mg;

    if(planeFace.getVertexCount() > 2)
        mg.addFace(planeFace);

    MeshListGeometry* mlg = new MeshListGeometry();
    mlg->addMesh(mg);
    return mlg;
}