📄 testtopo.java
字号:
TP_DirectedFace theFace = (TP_DirectedFace)edge_coBdy.get(i);
System.out.println(" identifiant de la face : "+theFace.getId());
}
// face gauche
if (edge.leftFace() != null)
System.out.println ("identifiant de la face gauche : "+edge.leftFace().getId());
// face droite
if (edge.rightFace() != null)
System.out.println ("identifiant de la face droite : "+edge.rightFace().getId());
// asTPDirectedTopo
TP_DirectedEdge d_edge= edge.asTP_DirectedTopo(+1);
System.out.println("identifiant du TP_DirectedEdge(+1) : "+d_edge.getId());
d_edge= edge.asTP_DirectedTopo(-1);
System.out.println("identifiant du TP_DirectedEdge(-1) : "+d_edge.getId());
// topo
System.out.println("identifiant du topo du TP_DirectedEdge(-1) : "+d_edge.topo().getId());
// negate
System.out.println("identifiant du negate : "+edge.negate().getId());
// boundary du negate
System.out.println("boundary du brin oppose : ");
edge_bdy = edge.negate().boundary();
System.out.println("identifiant du startNode : "+edge_bdy.getStartnode().getId());
System.out.println("identifiant du endNode : "+edge_bdy.getEndnode().getId());
// sans passer par TP_EdgeBoundary
System.out.println("identifiant du startNode : : "+edge.negate().startNode().getId());
System.out.println("identifiant du endNode : : "+edge.negate().endNode().getId());
// coboundary du negate
System.out.println("coBoundary du brin oppose : ");
edge_coBdy = edge.negate().coBoundary();
for (int i=0; i<edge_coBdy.size(); i++) {
TP_DirectedFace theFace = (TP_DirectedFace)edge_coBdy.get(i);
System.out.println(" identifiant de la face : "+theFace.getId());
}
// face gauche du negate
if (edge.leftFace() != null)
System.out.println ("identifiant de la face gauche : "+edge.negate().leftFace().getId());
// face droite du negate
if (edge.rightFace() != null)
System.out.println ("identifiant de la face droite : "+edge.negate().rightFace().getId());
// brin suivant
System.out.println("identifiant du brin suivant : "+edge.nextEdge().getId());
System.out.println(" identifiant du feature du brin suivant : "+edge.nextEdge().topo().getFeature().getId());
// remarque : getFeature() s'applique sur un TP_Edge et non pas un TP_DirectedEdge (sinon renvoie null)
// c'est pour cela qu'on applique l'operation topo()
// brin suivant du negate()
System.out.println("identifiant du brin suivant du brin oppose : "+edge.negate().nextEdge().getId());
System.out.println(" identifiant du feature du brin suivant du brin oppose : "+edge.negate().nextEdge().topo().getFeature().getId());
// meme remarque que ci-dessus
// brin precedent
System.out.println("identifiant du brin precedent : "+edge.previousEdge().getId());
System.out.println(" identifiant du feature du brin precedent : "+edge.previousEdge().topo().getFeature().getId());
// meme remarque que ci-dessus
// brin precedent du negate()
System.out.println("identifiant du brin precedent du brin oppose : "+edge.negate().previousEdge().getId());
System.out.println(" identifiant du feature du brin precedent du brin oppose : "+edge.negate().previousEdge().topo().getFeature().getId());
// meme remarque que ci-dessus
// recherche d'un cycle
System.out.println("cycle ...");
TP_Ring cycle = edge.cycle();
for (int i=0; i<cycle.sizeTerm(); i++) {
TP_DirectedEdge dedge = (TP_DirectedEdge)cycle.getTerm(i);
System.out.println(" identifiant du brin : "+dedge.getId());
System.out.println(" identifiant du feature du brin : "+dedge.topo().getFeature().getId());
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
/** exemple de traitement sur une face */
public static void faceMethod (TP_Face face) {
System.out.println();
System.out.println("methodes sur une face ...");
System.out.println();
System.out.println("identifiant de la face : "+face.getId());
// boundary
TP_FaceBoundary face_bdy = face.boundary();
System.out.println("boundary exterior: ");
TP_Ring ext = face_bdy.getExterior();
for (int i=0; i<ext.sizeTerm(); i++) {
TP_DirectedEdge theEdge = (TP_DirectedEdge)ext.getTerm(i);
System.out.println(" identifiant du brin : "+theEdge.getId());
System.out.println(" identifiant du feature : "+theEdge.topo().getFeature().getId());
}
for (int j=0; j<face_bdy.sizeInterior(); j++) {
System.out.println("boundary interior: ");
TP_Ring inte = face_bdy.getInterior(j);
for (int i=0; i<inte.sizeTerm(); i++) {
TP_DirectedEdge theEdge = (TP_DirectedEdge)inte.getTerm(i);
System.out.println(" identifiant du brin : "+theEdge.getId());
System.out.println(" identifiant du feature : "+theEdge.topo().getFeature().getId());
}
}
// asTPDirectedTopo
TP_DirectedFace d_face= face.asTP_DirectedTopo(+1);
System.out.println("identifiant du TP_DirectedTopo(+1) : "+d_face.getId());
d_face= (TP_DirectedFace)face.asTP_DirectedTopo(-1);
System.out.println("identifiant du TP_DirectedTopo(-1) : "+d_face.getId());
// topo
System.out.println("identifiant du topo du TP_DirectedTopo(-1) : "+d_face.topo().getId());
// negate
System.out.println("identifiant du negate : "+face.negate().getId());
// boundary du negate
face_bdy = face.negate().boundary();
System.out.println("boundary exterior: ");
ext = face_bdy.getExterior();
for (int i=0; i<ext.sizeTerm(); i++) {
TP_DirectedEdge theEdge = (TP_DirectedEdge)ext.getTerm(i);
System.out.println(" identifiant du brin : "+theEdge.getId());
System.out.println(" identifiant du feature : "+theEdge.topo().getFeature().getId());
}
for (int j=0; j<face_bdy.sizeInterior(); j++) {
System.out.println("boundary interior: ");
TP_Ring inte = face_bdy.getInterior(j);
for (int i=0; i<inte.sizeTerm(); i++) {
TP_DirectedEdge theEdge = (TP_DirectedEdge)inte.getTerm(i);
System.out.println(" identifiant du brin : "+theEdge.getId());
System.out.println(" identifiant du feature : "+theEdge.topo().getFeature().getId());
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////
/** exemple de traitement sur les TP_Expression */
public static void tp_expression (TP_Edge edge1) {
System.out.println();
System.out.println("TP_Expression...");
System.out.println();
System.out.println("identifiant du brin1 : "+edge1.getId());
// objets qui serviront dans l'exemple
// essayer avec differents objets, differentes orientations
TP_DirectedEdge edge2 = edge1.nextEdge();
//TP_DirectedEdge edge2 = edge1.nextEdge().negate();
System.out.println("identifiant du brin2 : "+edge2.getId());
TP_DirectedEdge edge3 = edge2.nextEdge();
System.out.println("identifiant du brin3 : "+edge3.getId());
// construction d'un nouveau TP_Expression
TP_Expression exp = new TP_Expression(edge1);
exp.addTerm(edge2);
exp.addTerm(edge3);
// boundary ( ac omparer avec boundary de chacun des brins)
System.out.println("boundary...");
TP_Expression bdy = exp.boundary();
for (int i=0; i<bdy.sizeTerm(); i++) {
TP_DirectedTopo dt = bdy.getTerm(i);
System.out.println(dt.getClass().getName()+" "+dt.getId());
}
// coboundary
System.out.println("coBoundary...");
TP_Expression cobdy = exp.coBoundary();
for (int i=0; i<cobdy.sizeTerm(); i++) {
TP_DirectedTopo dt = cobdy.getTerm(i);
System.out.println(dt.getClass().getName()+" "+dt.getId());
}
// isCycle
System.out.println("isCycle...");
System.out.println(exp.isCycle());
// asSet
System.out.println("asSet...");
List theList = exp.asSet();
for (int i=0; i<theList.size(); i++) {
TP_Object tpo = (TP_Object)theList.get(i);
System.out.println(tpo.getClass().getName()+" "+tpo.getId());
}
// support
System.out.println("support...");
theList = exp.support();
for (int i=0; i<theList.size(); i++) {
TP_Object tpo = (TP_Object)theList.get(i);
System.out.println(tpo.getClass().getName()+" "+tpo.getId());
}
// objets qui serviront dans l'exemple
// essayer avec differents objets, differentes orientations
TP_DirectedFace face1 = edge1.leftFace().topo();
System.out.println("identifiant de la face1 : "+face1.getId());
TP_DirectedFace face2 = edge1.rightFace().topo();
System.out.println("identifiant de la face2 : "+face2.getId());
// autre maniere de construire un TP_Expression
exp = face1.asTP_Expression();
exp = exp.plus(face2.asTP_Expression());
// boundary (a comparer avec le boundary de chacune des faces)
System.out.println("boundary...");
bdy = exp.boundary();
for (int i=0; i<bdy.sizeTerm(); i++) {
TP_DirectedTopo dt = bdy.getTerm(i);
System.out.println(dt.getClass().getName()+" "+dt.getId());
System.out.println(" feature : "+((TP_DirectedEdge)dt).topo().getFeature().getId());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -