Re: Is there a reason the RerShell code is different?
Yes, there is a reason: the rershell element is formulated in local coodinate system, where local xy plane is in the centerline of element. As this element can be arbirarily positioned in space, the element geometry (nodal coordinates) has to be transformed into this local system. This is exactly what giveLocalCoordinates method is doing.
The "other" elements are limitted to 2d, such as CCT, and have to be placed in global xy plane. In this case the element local coordinate system coincides with the global system and no transfromation os necessary.
Hope that it will help