Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
CSpecNormalChannel Class Reference

CSpecNormalChannel is the channel class dedicated to user defined or specified normals. More...

Detailed Description

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>

Inheritance diagram for CSpecNormalChannel:
CChannel CInstanciatedObject

Public Member Functions

 CSpecNormalChannel (ChannelID id=CHANNELID_UNDEFINED)
 
CNormalFaceListGetNormalFaceList ()
 
C3DVectorListGetNormalVectorList ()
 
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
 
- Public Member Functions inherited from CChannel
 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
 
CCustomDataGetCustomData ()
 
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
 
CFaceListGetFaceList ()
 
CPointListGetPointList ()
 
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 ()
 
ChannelConnectionInfoGetChannelPointsConnectedToPoint (int point, int &size)
 Return UVs connected to the point. size is the number of ChannelConnectionInfo * array entries for point index.
 
ChannelConnectionInfoGetChannelPointsConnectedToPoint (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
 
CPtGetChannelPointIndex (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 CChannelCopy (unsigned int copyFlags) const
 
- Public Member Functions inherited from CInstanciatedObject
virtual bool Delete ()
 
int GetRefCount () const
 
int AddRef () const
 

Additional Inherited Members

- Static Public Member Functions inherited from CChannel
static CChannelCreate (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.
 

Member Function Documentation

◆ Compare()

virtual bool CSpecNormalChannel::Compare ( const CPt pt1,
const CPt pt2,
double  tolerance = 0.0f 
) const
virtual

Reimplemented from CChannel.

◆ MatrixTransform()

bool CSpecNormalChannel::MatrixTransform ( const C4x4Matrix refmatrix,
POINT_PROPERTIES  property = POINT_NONE,
bool  set = TRUE,
int  index = 0,
int  count = -1 
)
virtual

Reimplemented from CChannel.

◆ SwapCoordinates()

bool CSpecNormalChannel::SwapCoordinates ( unsigned int  swapMode)
virtual

Reimplemented from CChannel.


The documentation for this class was generated from the following file: