⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtopo.java

📁 用于GIS(全球地理系统)的分析和处理的代码。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            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 + -