Fovia's C++ Client/Server API
Public Member Functions | List of all members
IPolygonUtilContext Struct Referenceabstract
Inheritance diagram for IPolygonUtilContext:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int DecRef ()=0
 
virtual signed int ExtractPolygons (IVertexCallListContext *pDestination, POLYGON_EXTRACT_PARAMS *pep, IVolumeDataContext *pData, IOctreeContext *pOctree)=0
 
virtual signed int GetID (signed long long *id)=0
 
virtual signed int IncRef ()=0
 
virtual signed int LoadOBJ (char *filename, IVertexCallListContext *pvcl, ENUM_PU_SMOOTH_MODES smoothMode)=0
 
virtual signed int LoadOBJWithTextureMap (char *filename, char *texture, IVertexCallListContext *pvcl, ENUM_PU_SMOOTH_MODES smoothMode)=0
 
virtual signed int LoadSTL (char *filename, IVertexCallListContext *pvcl, ENUM_PU_SMOOTH_MODES smoothMode)=0
 
virtual signed int ReleaseSessionResources ()=0
 
virtual signed int SaveOBJ (char *filename, IVertexCallListContext *pvcl)=0
 
virtual signed int SavePLY (char *filename, IVertexCallListContext *pvcl)=0
 
virtual signed int SaveSTL (char *filename, IVertexCallListContext *pvcl)=0
 
virtual signed int Smooth (IVertexCallListContext *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 IPolygonUtilContext::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 IPolygonUtilContext::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 IPolygonUtilContext::ExtractPolygons ( IVertexCallListContext pDestination,
POLYGON_EXTRACT_PARAMS pep,
IVolumeDataContext pData,
IOctreeContext pOctree 
)
pure virtual

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

Parameters
[in,out]pDestinationA previously created IVertexCallListContext 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 IPolygonUtilContext::GetID ( signed long long *  id)
pure virtual

Returns the integer that represents the server side object that contains the octree.

virtual signed int IPolygonUtilContext::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 IPolygonUtilContext::LoadOBJ ( char *  filename,
IVertexCallListContext pvcl,
ENUM_PU_SMOOTH_MODES  smoothMode 
)
pure virtual

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

Parameters
filenameFile to be loaded.
pvclIVertexCallList representation of the input file
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 IPolygonUtilContext::LoadOBJWithTextureMap ( char *  filename,
char *  texture,
IVertexCallListContext 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 IPolygonUtilContext::LoadSTL ( char *  filename,
IVertexCallListContext pvcl,
ENUM_PU_SMOOTH_MODES  smoothMode 
)
pure virtual

Loads an STL file into an IVertexCallList.

Parameters
filenameFile to be loaded.
pvclIVertexCallList representation of the input file
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 IPolygonUtilContext::ReleaseSessionResources ( )
pure virtual

Call this if you wish to free up server resources for this object before disconnecting.

virtual signed int IPolygonUtilContext::SaveOBJ ( char *  filename,
IVertexCallListContext pvcl 
)
pure virtual

Placeholder for SaveOBJ()

virtual signed int IPolygonUtilContext::SavePLY ( char *  filename,
IVertexCallListContext pvcl 
)
pure virtual

Placeholder for SavePLY()

virtual signed int IPolygonUtilContext::SaveSTL ( char *  filename,
IVertexCallListContext pvcl 
)
pure virtual

Placeholder for SaveSTL()