13 #ifndef __UT_XformOrder_h__
14 #define __UT_XformOrder_h__
52 reorder(xf1, xf2, xf3, xf4, xf5);
83 int rIdx = prefList[RX];
84 if (prefList[RY] < rIdx) rIdx = prefList[RY];
85 if (prefList[RZ] < rIdx) rIdx = prefList[RZ];
87 if (prefList[
T] < prefList[
S] && prefList[
T] < rIdx)
88 return (rIdx < prefList[
S]) ? TRS : TSR;
89 if (prefList[S] < prefList[
T] && prefList[S] < rIdx)
90 return (rIdx < prefList[
T]) ? SRT : STR;
91 if (rIdx < prefList[S] && rIdx < prefList[T])
92 return (prefList[S] < prefList[T]) ? RST : RTS;
97 bool mainOrder(
const char *rst);
101 if (prefList[RX] < prefList[RY] && prefList[RX] < prefList[RZ])
102 return (prefList[RY] < prefList[RZ]) ?
XYZ :
XZY;
103 if (prefList[RY] < prefList[RX] && prefList[RY] < prefList[RZ])
104 return (prefList[RX] < prefList[RZ]) ?
YXZ :
YZX;
105 if (prefList[RZ] < prefList[RX] && prefList[RZ] < prefList[RY])
106 return (prefList[RX] < prefList[RY]) ?
ZXY :
ZYX;
110 bool rotOrder(
const char *
rot);
115 static void getRotOrderMapping(xyzOrder
src, xyzOrder
dst,
123 unsigned short i1 = prefList[xf1];
124 unsigned short i2 = prefList[xf2];
125 prefList[xf1] =
i2; permList[
i1] = xf2;
126 prefList[xf2] =
i1; permList[
i2] = xf1;
156 for (
int i = 0; i < 5; ++i)
164 {
return !(*
this ==
order); }
169 return (prefList[
S] < prefList[RX]);
174 int save(std::ostream &os,
int binary=0)
const;
184 const char *mainOrderLabel()
const;
185 const char *rotOrderLabel()
const;
195 unsigned short prefList[5];
200 static bool rstFromString(
const char *rst,
202 static bool xyzFromString(
const char *
rot,
205 static const char * theXYZNames[6];
206 static const char * theXYZLabels[6];
207 static const char * theTRSLabels[6];
const GLuint GLenum const void * binary
GA_API const UT_StringHolder rot
**But if you need a result
GLdouble GLdouble GLint GLint order
LeafData & operator=(const LeafData &)=delete