MCPcopy Create free account
hub / github.com/davideberly/GeometricTools / SetSegment

Method SetSegment

GTE/Graphics/IndexBuffer.cpp:114–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112}
113
114bool IndexBuffer::SetSegment(uint32_t i, uint32_t v0, uint32_t v1)
115{
116 if (ValidPrimitiveType(IP_HAS_SEGMENTS))
117 {
118 if (mData && i < mNumPrimitives)
119 {
120 if (mElementSize == sizeof(uint32_t))
121 {
122 if (mPrimitiveType == IP_POLYSEGMENT_DISJOINT)
123 {
124 uint32_t* index = 2 * static_cast<size_t>(i) + Get<uint32_t>();
125 *index++ = v0;
126 *index = v1;
127 }
128 else
129 {
130 uint32_t* index = static_cast<size_t>(i) + Get<uint32_t>();
131 *index++ = v0;
132 *index = v1;
133 }
134 }
135 else
136 {
137 if (mPrimitiveType == IP_POLYSEGMENT_DISJOINT)
138 {
139 uint16_t* index = 2 * static_cast<size_t>(i) + Get<uint16_t>();
140 *index++ = static_cast<uint16_t>(v0);
141 *index = static_cast<uint16_t>(v1);
142 }
143 else
144 {
145 uint16_t* index = static_cast<size_t>(i) + Get<uint16_t>();
146 *index++ = static_cast<uint16_t>(v0);
147 *index = static_cast<uint16_t>(v1);
148 }
149 }
150 return true;
151 }
152 }
153 return false;
154}
155
156bool IndexBuffer::GetSegment(uint32_t i, uint32_t& v0, uint32_t& v1) const
157{

Callers 1

CreateSceneMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected