11 #ifndef __PXL_DeepChannelList__
12 #define __PXL_DeepChannelList__
36 return myName == i.myName
37 && myTupleSize == i.myTupleSize
38 && myOffset == i.myOffset
39 && myOrdinal == i.myOrdinal;
44 int offset()
const {
return myOffset; }
62 myChannels.append(
ChannelInfo(name, size, myTotalSize,ord));
63 myMaxSize =
SYSmax(myMaxSize, size);
79 {
return myChannels(i).name(); }
82 {
return myChannels(i).tupleSize(); }
86 {
return myChannels(i).offset(); }
89 {
return myChannels(i).isOrdinal(); }
96 int findChannel(
const char *
name)
const;
99 void dump(
const char *msg=
"")
const;
const UT_StringHolder & name() const
A reference counter base class for use with UT_IntrusivePtr.
int tupleSize(int i) const
Return tuple size of the given channel.
const UT_StringHolder & name(int i) const
Return the name of the given channel.
int totalSize() const
Return the sum of the sizes of all channels.
GLuint const GLchar * name
bool operator!=(const PXL_DeepChannelList &s)
void addChannel(const UT_StringHolder &name, int size, bool ord=false)
Add a channel to the channel list.
int maxSize() const
Return the maximum tuple size of all channels.
int channelCount() const
Number of channels in the channel list.
bool operator!=(const ChannelInfo &i) const
bool isOrdinal(int i) const
Return whether the channel data can be interpolated.
bool operator==(const PXL_DeepChannelList &s)
bool operator==(const ChannelInfo &i) const
ChannelInfo(const UT_StringHolder &name, int size, int offset, bool ord=false)