Rhino C++ API
8.10
|
#include <RhRdkPostEffectPlugIn.h>
Public Member Functions | |
CRhRdkPostEffectPlugIn () | |
virtual | ~CRhRdkPostEffectPlugIn () |
virtual BYTE * | Bits (void) const |
virtual DWORD | BitsPerPixel (void) const |
virtual eRhRdkPepByteOrder | ByteOrder (void) const |
bool | CanDisplayOptions (void) const |
virtual bool | ChannelInformationAvailable (const UUID &uuidChannel) const |
virtual bool | ColorPickerUI (CRhRdkColor &colInOut, HWND pParent) const |
virtual bool | DisplayOptions (HWND hWndParent)=0 |
virtual bool | DisplayPreview (const class IRhRdkPEPDlg &) |
virtual void * | EVF (const wchar_t *wszFunc, void *pvData) override |
virtual bool | FormatNumber (double dNumber, wchar_t *wszNumber, DWORD dwSize) const |
virtual bool | GetChannelValue (const UUID &uuidChannel, int x, int y, float &fValueOut) const |
virtual bool | GetChannelValue (const UUID &uuidChannel, int x, int y, ON__UINT32 &iValueOut) const |
void | GetChannelValue (IRhRdkRenderWindow::IChannel &channel, int x, int y, float &fValueOut) const |
void | GetChannelValue (IRhRdkRenderWindow::IChannel &channel, int x, int y, ON__UINT32 &iValueOut) const |
virtual bool | GetChannelValues (const UUID *aUuidChannels, int x, int y, float *aValuesOut, int iNumberOfValues) const |
virtual bool | GetDIBPixel (int x, int y, float &fRedOut, float &fGreenOut, float &fBlueOut) const |
virtual int | GetHostLocale (void) const |
virtual bool | GetLocalizedString (wchar_t *wszBuffer, DWORD dwNumChars, UINT uStringId=-1) const |
virtual double | GetMaxLuminance (void) const |
virtual bool | GetMinMaxValuesFromChannel (const UUID &uuidChannel, float &fMinOut, float &fMaxOut) const |
virtual void | GetRGBAOffset (int &iR, int &iG, int &iB, int &iA) const |
virtual void | GetRGBOffset (int &iR, int &iG, int &iB) const |
virtual DWORD | Height (void) const |
virtual HICON | Icon (bool bOn) const |
virtual bool | Inverted (void) const |
virtual bool | IsColorPickerImplemented (void) const |
virtual bool | IsPickPointOnImageImplemented (void) const |
virtual bool | IsPickRectangleOnImageImplemented (void) const |
virtual DWORD | LineLength (void) const |
virtual IRhRdkRenderWindow::IChannel * | NewChannel (const UUID &uuidChannel) const |
virtual bool | On (void) const |
virtual bool | OnLoadPlugIn (void)=0 |
virtual double | ParseNumber (const wchar_t *wszNumber) const |
virtual bool | PickPointOnImage (int &x, int &y, HCURSOR hCursor) const |
virtual bool | PickRectangleOnImage (ON_4iRect &rectOut, HCURSOR hCursor) const |
virtual UUID | PlugInID (void) const =0 |
virtual ON_wString | PlugInName (void) const =0 |
virtual bool | PostProcessImage (void) |
virtual bool | PreProcessImage (void) |
virtual bool | ProcessImage (void)=0 |
virtual bool | ProvideHelp (const wchar_t *wszTopic) |
virtual bool | ReadFromDocumentDefaults (const CRhinoDoc &doc) |
bool | ReadFromNode (const CLBP_XMLNode &node) |
virtual bool | ReadState (const void *pBuffer, size_t size)=0 |
virtual void | SetManager (Manager *pManager) |
virtual void | SetOn (bool bOn=true) |
virtual void | SetToDefault (void)=0 |
virtual bool | UpdateImage (void) |
virtual DWORD | Width (void) const |
virtual bool | WorksWithCurrentImage (void) const =0 |
virtual bool | WriteState (void *pBuffer, size_t &size) const =0 |
virtual bool | WriteToDocumentDefaults (CRhinoDoc &doc) const |
bool | WriteToNode (CLBP_XMLNode &node) const |
![]() | |
CRhRdkObject () | |
virtual | ~CRhRdkObject () |
void | operator delete (void *buf) |
void | operator delete[] (void *buf) |
void * | operator new (size_t size) |
void * | operator new[] (size_t size) |
Protected Member Functions | |
virtual bool | IsProcessInterrupted (void) const |
virtual void | OnProcessImageProgress (float fProgress) const |
Additional Inherited Members | |
![]() | |
static void | CheckMemory (void) |
static void | PopulateDebuggingInfo (void) |
This class is deprecated in favor of IRhRdkPostEffectPlugIn.
Note: This is kept for backward compatibility. The New PEPs will not use this.
CRhRdkPostEffectPlugIn::CRhRdkPostEffectPlugIn | ( | ) |
|
virtual |
|
virtual |
This exposes the raw bits of the DIB to which you are writing changes. Remember, previous plug-ins may have changed the DIB already, so don't "undo" their changes by writing color information to every pixel - make the changes to the information you already find there.
|
virtual |
|
virtual |
bool CRhRdkPostEffectPlugIn::CanDisplayOptions | ( | void | ) | const |
|
virtual |
Query whether or not information is available in the image for a given channel.
uuidChannel | specifies the channel of interest. |
|
virtual |
Display a color picker.
|
pure virtual |
Implement this method to display the plug-in's options (AKA Properties) dialog.
|
virtual |
|
overridevirtual |
Emergency virtual function for future expansion.
Reimplemented from CRhRdkObject.
|
virtual |
Format a numeric value to get a string representation.
|
virtual |
Get a channel value from the image.
uuidChannel | specifies the channel of interest. |
x | is the horizontal pixel position. Not range checked. |
y | is the vertical pixel position. Not range checked. |
fValueOut | accepts the channel value. |
|
virtual |
void CRhRdkPostEffectPlugIn::GetChannelValue | ( | IRhRdkRenderWindow::IChannel & | channel, |
int | x, | ||
int | y, | ||
float & | fValueOut | ||
) | const |
Much faster access to display channels than the UUID version. However, this version does not automatically adjust the DISTANCE_FROM_CAMERA channel values, so if you are using that channel you will need to add fValueOut = (fValueOut < -1e20f || fValueOut > 1e20f) ? -1.f : std::abs(fValueOut);
channel | is the channel returned from NewChannel. |
x | is the horizontal pixel position. Not range checked. |
y | is the vertical pixel position. Not range checked. |
fValueOut | accepts the channel value. |
void CRhRdkPostEffectPlugIn::GetChannelValue | ( | IRhRdkRenderWindow::IChannel & | channel, |
int | x, | ||
int | y, | ||
ON__UINT32 & | iValueOut | ||
) | const |
|
virtual |
Get multiple channel values from the image.
aUuidChannels | is an array specifying the channels of interest. |
x | is the horizontal pixel position. |
y | is the vertical pixel position. |
aValuesOut | accepts the channel values in the same order as aUuidChannels. |
iNumberOfValues | is the number of channels to retrieve. aUuidChannels and aValuesOut must have this many elements. |
|
virtual |
Get an RGB pixel from the image.
x | is the horizontal pixel position. |
y | is the vertical pixel position. |
fRedOut | accepts the red channel value. |
fGreenOut | accepts the green channel value. |
fBlueOut | accepts the blue channel value. |
|
virtual |
|
virtual |
Get a localized string from the host application. The localized string should be placed into the buffer. The plug-in should supply the English version of the string in the buffer when calling this function. A string code can also be optionally passed.
|
virtual |
|
virtual |
Get minimum and maximum values from a channel in the image.
uuidChannel | specifies the channel of interest. |
fMinOut | accepts the minimum value. |
fMaxOut | accepts the maximum value. |
|
virtual |
Get the offsets to R, G, B and A in the bits.
|
virtual |
Get the offsets to R, G and B in the bits. For backward compatibility only.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protectedvirtual |
Determine if the user cancelled the process.
|
virtual |
|
virtual |
Get a new channel to pass into the fast version of GetChannelValue below. Remember, you must call Close() on this pointer when you are done with it in this case.
|
virtual |
|
pure virtual |
Called when the plug-in is loaded.
|
protectedvirtual |
Called to update the image's progress display.
fProgress | is the amount of progress so far, 0.0f - 1.0f. |
|
virtual |
Parse a number in string form to get a double value.
|
virtual |
Allows the user to pick a point on the image.
x | receives the picked horizontal pixel position. |
y | receives the picked vertical pixel position. |
hCursor | is the cursor to display during picking. If this is NULL, a default eye dropper will be used. |
|
virtual |
Allows the user to pick a rectangle on the image by dragging a lasso.
rectOut | receives the picked rectangle. |
hCursor | is the cursor to display during picking. If this is NULL, a default crosshair will be used. |
|
pure virtual |
|
pure virtual |
|
virtual |
Called just after ProcessImage() is called, but only if it succeeded. If you override this method, please be sure to call the base class.
|
virtual |
Called just before ProcessImage() is called. If you override this method, please be sure to call the base class.
|
pure virtual |
Implement this method to have the plug-in process the image. Called just after PreProcessImage() is called, but only if it succeeded.
|
virtual |
Display help for the specified topic.
|
virtual |
Read the state from the document defaults.
bool CRhRdkPostEffectPlugIn::ReadFromNode | ( | const CLBP_XMLNode & | node | ) |
|
pure virtual |
Implement this method to have the plug-in read its state from a buffer.
pBuffer | is the buffer containing data previously written by WriteState(). |
size | is the number of bytes in the buffer. |
|
virtual |
|
virtual |
|
pure virtual |
Reset the plug-in's state to factory defaults.
|
virtual |
Updates the image by applying the post-effects to it.
|
virtual |
|
pure virtual |
Query whether or not the plug-in can work with the current image.
|
pure virtual |
Implement this method to have the plug-in write its state to a buffer.
pBuffer | is the buffer to fill with state information. If pBuffer is NULL the implementation must set size to the buffer size that would be required to write the plug-in state. |
size | is the physical number of bytes that the buffer can accomodate. This parameter also accepts the logical number of bytes written to the buffer. This will be more than size if the buffer was not big enough. If pBuffer is NULL you can pass zero in size to get the number of bytes required to write the plug-in state. |
|
virtual |
Write the state to the document defaults.
bool CRhRdkPostEffectPlugIn::WriteToNode | ( | CLBP_XMLNode & | node | ) | const |