Ignore:
Timestamp:
01/05/06 20:41:52 (19 years ago)
Author:
mattausch
Message:

added mesh creation function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellBsp.h

    r492 r503  
    4444        */ 
    4545        void ComputeBoundingBox(AxisAlignedBox3 &box); 
     46 
    4647        /** Splits the polygon and returns the part of the polygon inside of the node geometry. 
    4748        */ 
    4849        Polygon3 *SplitPolygon(Polygon3 *poly, const float epsilon) const; 
    4950 
     51        /** Adds node geometry to mesh. 
     52                @note the mesh vertices will not be connected 
     53        */ 
     54        void AddToMesh(Mesh &mesh); 
     55 
     56        /** The polygons the geometry consists of. 
     57        */ 
    5058        PolygonContainer mPolys; 
    5159}; 
     
    132140        /// polygon splits  
    133141        int polySplits; 
     142        /// accumulated number of rays refs 
     143        int accumRays; 
    134144 
    135145        // Constructor 
     
    145155        // TODO: computation wrong 
    146156        double AvgDepth() const { return accumDepth / (double)Leaves();};  
    147    
     157        double AvgRays() const { return accumRays / (double)Leaves();};  
     158 
    148159        void Reset()  
    149160        { 
     
    170181                invalidLeaves = 0; 
    171182                polySplits = 0; 
     183                accumRays = 0; 
    172184        } 
    173185 
     
    458470                @returns the number of intersections with objects stored in the tree. 
    459471        */ 
    460   int 
    461   _CastRay(Ray &ray); 
    462  
    463  
    464   int 
    465   CastLineSegment(const Vector3 &origin, 
    466                                   const Vector3 &termination, 
    467                                   ViewCellContainer &viewcells 
    468                                   ); 
    469  
    470   ViewCell * 
    471   GetViewCell(const Vector3 &point); 
     472        int     _CastRay(Ray &ray); 
     473 
     474 
     475        int     CastLineSegment(const Vector3 &origin, 
     476                                                const Vector3 &termination, 
     477                                                ViewCellContainer &viewcells 
     478                                                ); 
     479 
     480        ViewCell *GetViewCell(const Vector3 &point); 
    472481   
    473482        /// bsp tree construction types 
     
    483492                                          const bool onlyUnmailed) const; 
    484493 
    485         /** Constructs geometry associated with the half space intersections  
    486                 leading to this node. 
    487         */ 
    488         void ConstructGeometry(BspNode *n, PolygonContainer &cell) const; 
     494        /** Constructs geometry of view cell returning a BSP node geometry type. 
     495        */ 
     496        void ConstructGeometry(BspNode *n, BspNodeGeometry &cell) const; 
    489497         
    490498        /** Construct geometry of view cell. 
    491499        */ 
    492         void ConstructGeometry(BspViewCell *vc, PolygonContainer &cell) const; 
    493  
    494         /** Constructs geometry of view cell returning a BSP node geometry type. 
    495         */ 
    496         void ConstructGeometry(BspNode *n, BspNodeGeometry &cell) const; 
     500        void ConstructGeometry(BspViewCell *vc, BspNodeGeometry &geom) const; 
    497501 
    498502        /** Returns random leaf of BSP tree. 
     
    788792        void AddToPvs(BspLeaf *leaf, 
    789793                                  const BoundedRayContainer &rays,  
    790                                   int &sampleContributions, 
     794                                  int &sampleContributions,      
    791795                                  int &contributingSamples); 
    792796 
Note: See TracChangeset for help on using the changeset viewer.