Fovia C++ In-Process API
Public Member Functions | List of all members
IPolygonUtil Struct Referenceabstract
Inheritance diagram for IPolygonUtil:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int DecRef ()=0
 
virtual signed int ExtractPolygons (IVertexCallList *pDestination, POLYGON_EXTRACT_PARAMS *pep, IVolumeData *pData, IVolumeOctree *pOctree)=0
 
virtual signed int IncRef ()=0
 
virtual signed int LoadOBJ (char *filename, IVertexCallList *pvcl, ENUM_PU_SMOOTH_MODES smoothMode)=0
 
virtual signed int LoadOBJWithTextureMap (char *filename, char *texture, IVertexCallList *pvcl, ENUM_PU_SMOOTH_MODES smoothMode)=0
 
virtual signed int LoadSTL (char *filename, IVertexCallList *pvcl, ENUM_PU_SMOOTH_MODES smoothMode)=0
 
virtual signed int SaveOBJ (char *filename, IVertexCallList *pvcl)=0
 
virtual signed int SavePLY (char *filename, IVertexCallList *pvcl)=0
 
virtual signed int SaveSTL (char *filename, IVertexCallList *pvcl)=0
 
virtual signed int Smooth (IVertexCallList *pvcl, ENUM_PU_SMOOTH_MODES smoothMode, unsigned int *arrsg)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

Polygon functions including loading from 3D geometry files.

Member Function Documentation

virtual signed int IPolygonUtil::AskInterface ( const BGUID piid,
IRoot **  ppr 
)
pure virtual

Queries this object to see if the interface piid is supported and returns the result in ppr.

Parameters
piidThe BGUID of the requested interface.
pprThe address of an IRoot pointer which will receive the new interface.
Returns
S_OK if the interface is supported. E_FAIL if it is not.

Implements IRoot.

virtual signed int IPolygonUtil::DecRef ( )
pure virtual

Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.

Implements IRoot.

virtual signed int IPolygonUtil::ExtractPolygons ( IVertexCallList pDestination,
POLYGON_EXTRACT_PARAMS pep,
IVolumeData pData,
IVolumeOctree pOctree 
)
pure virtual

Extracts a collection of polygons at the specified threshold and store the result in an IVertexCallList.

Parameters
[in,out]pDestinationA previously created IVertexCallList that will get the results of the routine. Note that any contents previously contained in this object will be overwritten.
[in]pepThe address of a POLYGON_EXTRACT_PARAMS structure initialized with the desired parameters for this function.
[in]pDataThe dataset to use for threshold extraction.
[in]pOctreeThe octree that was built from pData. This must be a valid octree, as the surface extraction routine requires this information to speed up the process.
virtual signed int IPolygonUtil::IncRef ( )
pure virtual

Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.

Implements IRoot.

virtual signed int IPolygonUtil::LoadOBJ ( char *  filename,
IVertexCallList pvcl,
ENUM_PU_SMOOTH_MODES  smoothMode 
)
pure virtual

Loads an OBJ (Wavefront's Advanced Visualizer) file into an IVertexCallList.

Parameters
[in]filenameFile to be loaded.
[out]pvclIVertexCallList representation of the input file
[in]smoothModeThe smoothing mode to apply to this object once it is loaded. See the documentation for ENUM_PU_SMOOTH_MODES for more detail.
virtual signed int IPolygonUtil::LoadOBJWithTextureMap ( char *  filename,
char *  texture,
IVertexCallList pvcl,
ENUM_PU_SMOOTH_MODES  smoothMode 
)
pure virtual

Loads an OBJ file and an associated JPG file to use as a virtual texture map. True texture mapping is not supported by this function. Instead, the mesh's vertex colors are set to the equivalet texture color as specified by the mesh's UV texture coords. As a result, high resolution textures mapped to a mesh region of low vertex density will exhibit loss of texture detail.

Parameters
filenameFile to be loaded.
textureTexture image file to be loaded (JPG only).
pvclIVertexCallList representation of the input file
smoothModeThe smoothing mode to apply to this object once it is loaded. SMOOTH_MODE_AUTO is required for this function.
virtual signed int IPolygonUtil::LoadSTL ( char *  filename,
IVertexCallList pvcl,
ENUM_PU_SMOOTH_MODES  smoothMode 
)
pure virtual

Loads an STL file into an IVertexCallList.

Parameters
[in]filenameFile to be loaded.
[out]pvclIVertexCallList representation of the input file
[in]smoothModeThe smoothing mode to apply to this object once it is loaded. See the documentation for ENUM_PU_SMOOTH_MODES for more detail.