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  IndexDic

Defines

#define separateProperty(TypeT, Type)

Functions

void osg::calcVertexNormals (GeometryPtr geo)
void osg::calcVertexNormals (GeometryPtr geo, Real32 creaseAngle)
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 3961 of file OSGGeoFunctions.cpp.

Referenced by osg::separateProperties().


Function Documentation

void OSG_APIENTRY gluTessEdgeFlagCB ( GLboolean   ) 

Definition at line 2941 of file OSGGeoFunctions.cpp.

References FDEBUG.

Referenced by osg::createConvexPrimitives().

02942 {
02943   //empty 
02944   FDEBUG(("gluEdgeVertexCB called\n"));
02945 }

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

Definition at line 2949 of file OSGGeoFunctions.cpp.

References FDEBUG.

02951 {
02952     if(indexV != NULL)
02953     {
02954         FDEBUG(("gluVertexDataCB called: indexV@%p->push_back(%d)\n", 
02955                 indexV, *curIndexPtr));
02956         indexV->push_back(*curIndexPtr);
02957     }
02958     else 
02959     {
02960         FDEBUG(("Null Pointer in gluTessVertexDataCB\n"));
02961     }
02962 }

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

Definition at line 2965 of file OSGGeoFunctions.cpp.

References FDEBUG.

02966 {
02967     if(indexV != NULL) 
02968     {
02969         FDEBUG(("gluTessBeginDataCB: Beginning new Polygon\n"));
02970         FDEBUG(("gluTessBeginDataCB: Type is %d\n", type));
02971         FDEBUG(("gluTessBeginDataCB: indexV* is 0x%p\n", indexV));
02972     }
02973     else 
02974     {
02975         FDEBUG(("Null Pointer in gluTessVertexDataCB\n"));
02976     }
02977 }

void OSG_APIENTRY gluTessEndCB (  ) 

Definition at line 2980 of file OSGGeoFunctions.cpp.

References FDEBUG.

Referenced by osg::createConvexPrimitives().

02981 {
02982   FDEBUG(("gluTessEndCB called\n"));
02983 }

void OSG_APIENTRY gluTessErrorCB ( GLenum  errNo  ) 

Definition at line 2986 of file OSGGeoFunctions.cpp.

References FWARNING.

Referenced by osg::createConvexPrimitives().

02987 {
02988     FWARNING(("gluTesselator Error: %s\n", gluErrorString(errNo)));
02989 }


Generated on Mon Mar 17 11:10:09 2008 for OpenSG by  doxygen 1.5.5