Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSGGeoFunctions.cpp File Reference

#include <stdlib.h>
#include <stdio.h>
#include <set>
#include "OSGConfig.h"
#include <OSGLog.h>
#include <OSGGLU.h>
#include "OSGGeometry.h"
#include "OSGGeoPropPtrs.h"
#include "OSGTriangleIterator.h"
#include "OSGGeoFunctions.h"
#include "OSGFaceIterator.h"
#include "OSGHalfEdgeGraph.h"

Go to the source code of this file.

Namespaces

namespace  osg

Classes

struct  vecless< type >
struct  memless< type >
struct  IndexDic

Defines

#define separateProperty(TypeT, Type)

Functions

void osg::calcVertexNormals (GeometryPtr geo)
void osg::calcFaceNormals (GeometryPtr geo)
Int32 osg::setIndexFromVRMLData (GeometryPtr geoPtr, std::vector< Int32 > &coordIndex, std::vector< Int32 > &normalIndex, std::vector< Int32 > &colorIndex, std::vector< Int32 > &texCoordIndex, bool convex, bool ccw, bool normalPerVertex, bool colorPerVertex, bool createNormal, bool faceSet)
Int32 osg::setIndexFromIndexedX3DData (GeometryPtr geoPtr, std::vector< Int32 > &coordIndex, std::vector< Int32 > &normalIndex, std::vector< Int32 > &colorIndex, std::vector< Int32 > &texCoordIndex, Int32 primitiveType, bool convex, bool ccw, bool normalPerVertex, bool colorPerVertex, bool createNormal)
void osg::calcVertexTexCoords (GeometryPtr geo, Int32 texIndex)
void osg::calcVertexTangents (GeometryPtr geo, Int32 srcTexIndex, Int32 dstAttribTan, Int32 dstAttribBin)
Int32 osg::createOptimizedPrimitives (GeometryPtr geoPtr, UInt32 iteration, bool createStrips, bool createFans, UInt32 minFanEdgeCount, bool colorCode, bool stitchStrips)
void OSG_APIENTRY gluTessEdgeFlagCB (GLboolean)
void OSG_APIENTRY gluTessVertexDataCB (UInt32 *curIndexPtr, std::vector< UInt32 > *indexV)
void OSG_APIENTRY gluTessBeginDataCB (GLenum type, std::vector< UInt32 > *indexV)
void OSG_APIENTRY gluTessEndCB ()
void OSG_APIENTRY gluTessErrorCB (GLenum errNo)
void osg::createConvexPrimitives (GeometryPtr geoPtr)
Int32 osg::createSharedIndex (GeometryPtr geoPtr)
Int32 osg::createSingleIndex (GeometryPtr geoPtr)
UInt32 osg::calcPrimitiveCount (GeometryPtr geoPtr, UInt32 &triangle, UInt32 &line, UInt32 &point)
NodePtr osg::calcVertexNormalsGeo (GeometryPtr geo, Real32 length)
NodePtr osg::calcFaceNormalsGeo (GeometryPtr geo, Real32 length)
void osg::separateProperties (GeometryPtr geo)


Define Documentation

#define separateProperty TypeT,
Type   ) 
 

Value:

Geo ## TypeT ## Ptr Type = geo->get ## Type (); \
    if(Type != NullFC && Type->getParents().size() > 1) \
    { \
        beginEditCP(geo, Geometry :: Type ## FieldMask); \
            geo->set ## Type (Geo ## TypeT ## Ptr::dcast(OSG::deepClone(Type))); \
        endEditCP(geo, Geometry :: Type ## FieldMask); \
    }

Definition at line 3692 of file OSGGeoFunctions.cpp.

Referenced by osg::separateProperties().


Function Documentation

void OSG_APIENTRY gluTessEdgeFlagCB GLboolean   ) 
 

Definition at line 2701 of file OSGGeoFunctions.cpp.

References FDEBUG.

Referenced by osg::createConvexPrimitives().

02702 {
02703   //empty 
02704   FDEBUG(("gluEdgeVertexCB called\n"));
02705 }

void OSG_APIENTRY gluTessVertexDataCB UInt32 curIndexPtr,
std::vector< UInt32 > *  indexV
 

Definition at line 2709 of file OSGGeoFunctions.cpp.

References FDEBUG.

Referenced by osg::createConvexPrimitives().

02711 {
02712     if(indexV != NULL)
02713     {
02714         FDEBUG(("gluVertexDataCB called: indexV@%p->push_back(%d)\n", 
02715                 indexV, *curIndexPtr));
02716         indexV->push_back(*curIndexPtr);
02717     }
02718     else 
02719     {
02720         FDEBUG(("Null Pointer in gluTessVertexDataCB\n"));
02721     }
02722 }

void OSG_APIENTRY gluTessBeginDataCB GLenum  type,
std::vector< UInt32 > *  indexV
 

Definition at line 2725 of file OSGGeoFunctions.cpp.

References FDEBUG.

Referenced by osg::createConvexPrimitives().

02726 {
02727     if(indexV != NULL) 
02728     {
02729         FDEBUG(("gluTessBeginDataCB: Beginning new Polygon\n"));
02730         FDEBUG(("gluTessBeginDataCB: Type is %d\n", type));
02731         FDEBUG(("gluTessBeginDataCB: indexV* is 0x%p\n", indexV));
02732     }
02733     else 
02734     {
02735         FDEBUG(("Null Pointer in gluTessVertexDataCB\n"));
02736     }
02737 }

void OSG_APIENTRY gluTessEndCB  ) 
 

Definition at line 2740 of file OSGGeoFunctions.cpp.

References FDEBUG.

Referenced by osg::createConvexPrimitives().

02741 {
02742   FDEBUG(("gluTessEndCB called\n"));
02743 }

void OSG_APIENTRY gluTessErrorCB GLenum  errNo  ) 
 

Definition at line 2746 of file OSGGeoFunctions.cpp.

References FWARNING.

Referenced by osg::createConvexPrimitives().

02747 {
02748     FWARNING(("gluTesselator Error: %s\n", gluErrorString(errNo)));
02749 }


Generated on Thu Aug 25 04:12:21 2005 for OpenSG by  doxygen 1.4.3