Classes | Public Types | Public Member Functions

IGeometryChecker Class Reference

This reference page is linked to from the following overview topics: Plug-in Architecture, Geometry Checker.


Search for all occurrences

Detailed Description

Base Class For Geometry Checkers.

The IGeometryChecker class is an abstract base class to be used to create Geometry Checkers GeometryCheckers are basically objects that perform analysis on some INode which then returns the results as a set of geometric indices.

See also:
IGeometryCheckerManager

#include <IGeometryChecker.h>

Inheritance diagram for IGeometryChecker:
Inheritance graph
[legend]

List of all members.

Classes

struct   OutputVal
  The returned output of the checker. More...

Public Types

enum   ReturnVal { eFail = 0x0, eVertices = 0x1, eEdges = 0x2, eFaces = 0x3 }
 

Enums of return types that the geometry checker may return.

More...

Public Member Functions

virtual  ~IGeometryChecker ()
  Virtual Deconstructor.
virtual bool  IsSupported (INode *node)=0
  Returns whether or not a given node is valid for this geometry checker.
virtual ReturnVal  TypeReturned ()=0
  The type that the geometry checker returns.
virtual ReturnVal  GeometryCheck (TimeValue t, INode *node, OutputVal &val)=0
  Perform the geometry check.
virtual MSTR  GetName ()=0
  Return the name of the geometry checker. Note that geometry checker name's must be unique.
virtual DWORD  GetCheckerID ()=0
  Returns the unique identifier of the geometry checker.
virtual bool  HasPropertyDlg ()=0
  Returns true if the geometry checker has a property dialog, false otherwise.
virtual void  ShowPropertyDlg ()=0
  Show the property dialog.
Override Functions
virtual bool  HasTextOverride ()=0
  Returns true if the geometry checker overrides the normal text output, which is usually the number of indices found by the check, plus the geometric type, e.g.
virtual MSTR  TextOverride ()=0
  Returns the string that should be displayed in the viewport, rather than the default text output.
virtual bool  HasDisplayOverride ()=0
  Returns true if the geometry checker overrides the normal display otuput, which is usually highlighted vertices, edges, or faces.
virtual void  DisplayOverride (TimeValue t, INode *node, HWND hwnd, Tab< int > &results)=0
  \ brief The display override function used to draw a different display output.

Member Enumeration Documentation

enum ReturnVal

Enums of return types that the geometry checker may return.

eFail means the check has failed for some reason, the other return types specify what type of geometric entity is returned.

Enumerator:
eFail 
eVertices 
eEdges 
eFaces 
{eFail = 0x0, eVertices = 0x1, eEdges = 0x2, eFaces = 0x3};

Constructor & Destructor Documentation

virtual ~IGeometryChecker ( ) [inline, virtual]

Virtual Deconstructor.

{};

Member Function Documentation

virtual bool IsSupported ( INode node ) [pure virtual]

Returns whether or not a given node is valid for this geometry checker.

Parameters:
[in] node The node that we will test to see if it is supported.
Returns:
Return true if the node is valid, otherwise return false if it is not supported.
virtual ReturnVal TypeReturned ( ) [pure virtual]

The type that the geometry checker returns.

For now we support vertices, edges and polys or tris.

Returns:
Returns the type of geometric entity that the checker will output. May be IGeometryChecker::eVertices, IGeometryChecker::eEdges, or IGeometryChecker::eFaces
virtual ReturnVal GeometryCheck ( TimeValue  t,
INode node,
OutputVal val 
) [pure virtual]

Perform the geometry check.

Parameters:
[in] t The time to run the check
[in] node The node to run the check on
[out] val The output from the check.
Returns:
The ReturnVal of the check. If the check fails for some reason the returned value will be IGeometryChecker::eFail otherwise it will be one of the geometric types.
virtual MSTR GetName ( ) [pure virtual]

Return the name of the geometry checker. Note that geometry checker name's must be unique.

virtual DWORD GetCheckerID ( ) [pure virtual]

Returns the unique identifier of the geometry checker.

virtual bool HasPropertyDlg ( ) [pure virtual]

Returns true if the geometry checker has a property dialog, false otherwise.

virtual void ShowPropertyDlg ( ) [pure virtual]

Show the property dialog.

virtual bool HasTextOverride ( ) [pure virtual]

Returns true if the geometry checker overrides the normal text output, which is usually the number of indices found by the check, plus the geometric type, e.g.

'5 Vertices'

virtual MSTR TextOverride ( ) [pure virtual]

Returns the string that should be displayed in the viewport, rather than the default text output.

virtual bool HasDisplayOverride ( ) [pure virtual]

Returns true if the geometry checker overrides the normal display otuput, which is usually highlighted vertices, edges, or faces.

virtual void DisplayOverride ( TimeValue  t,
INode node,
HWND  hwnd,
Tab< int > &  results 
) [pure virtual]

\ brief The display override function used to draw a different display output.

\ param[in] t The time at which to draw the display \ param[in] node The node that was geometry checked \ param[in] hwnd The window handle of the viewport where the display should get outputted. Usually the active viewport. \ param[in] results The last set of results returned by this checker. This may be helpful when drawing the display override.


IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker
IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker IGeometryChecker