![]() |
Polygon Crucher SDK - Documentation
Documentation
|
A CChannel is the base class for some additional information associated to an object. More...
A CChannel is the base class for some additional information associated to an object.
CChannel is used to store UV textures, vertex colors or anything else through different channel classes (CUVWChannel, CVCChannel, CPointNormalChannel, CSpecNormalChannel...).
#include <Channel.h>
Public Member Functions | |
CChannel (ChannelID id=CHANNELID_UNDEFINED) | |
You may assign a specific channel id at creation. This is useful to make a known reference between material and front / back UV channel for example. Note : If id = CHANNELID_UNDEFINED, the id is automatically assigned when adding the channel to object channels. If id != CHANNELID_UNDEFINED, the id might be modified if it already exists in object channels. | |
virtual | ~CChannel () |
Use Delete instead, unless the CChannel is created on the stack (take care that it is referenced once only in this case) | |
void | FreeExtra () |
Release any extra memory attached to the channel. | |
Flags informations | |
void | SetFlag (CHANNEL_PROPERTIES flag, bool set) |
void | SetFlags (unsigned int newflags, bool set) |
bool | IsFlagSet (unsigned int flag) const |
bool | IsOneFlagSet (unsigned int flag) const |
CCustomData & | GetCustomData () |
ChannelID | GetChannelID () const |
The channel ID allows to rely a specific material to a specific channel. This is not a GUID (different object might different channel with the same ID, allowing a material to retrieve the UV channel to use for example) | |
CXString | GetTypeString () const |
Channel informations | |
CFaceList * | GetFaceList () |
CPointList * | GetPointList () |
Channel information | |
void | SetFaceList (Channel3DType channeltype, CFaceList *newfaces, bool deletePrevious=true) |
Attach a face list to the channel. newfaces is owned by the channel, and should not be deleted by the caller. | |
void | SetPointList (Channel3DType channeltype, CPointList *newpoints, bool deletePrevious=true) |
Attach a point list to the channel. newpoints is owned by the channel, and should not be deleted by the caller. | |
Channel3DType | GetType () const |
graph functions | |
void | InitGraph (const CGeomInfo *) |
void | DeleteGraph () |
ChannelConnectionInfo * | GetChannelPointsConnectedToPoint (int point, int &size) |
Return UVs connected to the point. size is the number of ChannelConnectionInfo * array entries for point index. | |
ChannelConnectionInfo * | GetChannelPointsConnectedToPoint (int point, int &size, int &facesize) |
facesize is the number of faces connected to the point, which might be different than size if some face has invalid or unused UV | |
CPt * | GetChannelPointIndex (int facenbr, int pointindex) |
Operation on the channel | |
virtual bool | SwapCoordinates (unsigned int swapMode) |
virtual bool | MatrixTransform (const C4x4Matrix &matrix, POINT_PROPERTIES property=POINT_NONE, bool set=TRUE, int index=0, int count=-1) |
virtual bool | CleanRemoveDuplicateIndex () |
virtual bool | Clean (const CGeomInfo *info, CXUIntArray *newfaceindex=NULL, CXUIntArray *newpointindex=NULL) |
virtual bool | Weld (const CGeomInfo *info, double tolerance) |
virtual function | |
virtual bool | Compare (const CChannel *channel) const |
Return true if the channel have same type and same content. | |
virtual bool | Compare (const CPt *pt1, const CPt *pt2, double tolerance=0.0f) const |
virtual void | Serialize (CXArchive &ar) |
virtual bool | CanBeRecomputed () |
virtual void | Inherit (const CChannel &srcChannels) |
virtual CChannel * | Copy (unsigned int copyFlags) const |
![]() | |
virtual bool | Delete () |
int | GetRefCount () const |
int | AddRef () const |
Static Public Member Functions | |
static CChannel * | Create (Channel3DType type, ChannelID id=CHANNELID_UNDEFINED) |
Allocates and creates a new channel. Use Delete if the channel is not attached to a CDependentChannel list. //!< If id = CHANNELID_UNDEFINED, the id is automatically assigned when adding the channel to object channels. If id != CHANNELID_UNDEFINED, the id might be modified if it already exists in object channels. | |
Return true if the channel have same type and same content.
Reimplemented in CUVWChannel.