![]() |
Polygon Crucher SDK - Documentation
Documentation
|
CSpecNormalChannel is the channel class dedicated to user defined or specified normals. More...
CSpecNormalChannel is the channel class dedicated to user defined or specified normals.
CSpecNormalChannel belongs to CDependentChannels and is referenced by the SPEC_NORMAL_CHANNEL identifier.
#include <SpecNormalChannel.h>
Public Member Functions | |
CSpecNormalChannel (ChannelID id=CHANNELID_UNDEFINED) | |
CNormalFaceList * | GetNormalFaceList () |
C3DVectorList * | GetNormalVectorList () |
bool | MatrixTransform (const C4x4Matrix &refmatrix, POINT_PROPERTIES property=POINT_NONE, bool set=TRUE, int index=0, int count=-1) |
bool | SwapCoordinates (unsigned int swapMode) |
bool | Normalize () |
bool | InverseDir () |
bool | ComputeNormals (const CGeomInfo *info, NormalSmoothMode normalMode=NORMAL_AREAWEIGHTED_MODE) |
bool | GenerateNormals (const CGeomInfo *info, unsigned int mode, double smoothAngle, NormalSmoothMode normalMode=NORMAL_AREAWEIGHTED_MODE) |
bool | IsNormalFrontier (const CGeomInfo *info, double radianThresholdAngle, const C3DEdge &edge, int faceindex1, int faceindex2) |
void | InitNormalBreakFlag (const CGeomInfo *info, double radianThresholdAngle, bool reinitPointFlag, NormalSmoothMode normalMode=NORMAL_AREAWEIGHTED_MODE) |
virtual bool | Compare (const CPt *pt1, const CPt *pt2, double tolerance=0.0f) const |
![]() | |
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. | |
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 |
CFaceList * | GetFaceList () |
CPointList * | GetPointList () |
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 |
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) |
virtual bool | CleanRemoveDuplicateIndex () |
virtual bool | Clean (const CGeomInfo *info, CXUIntArray *newfaceindex=NULL, CXUIntArray *newpointindex=NULL) |
virtual bool | Weld (const CGeomInfo *info, double tolerance) |
virtual bool | Compare (const CChannel *channel) const |
Return true if the channel have same type and same content. | |
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 |
Additional Inherited Members | |
![]() | |
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. | |
|
virtual |
Reimplemented from CChannel.
|
virtual |
Reimplemented from CChannel.
Reimplemented from CChannel.