在这个堆栈中,所存储的对象应该是一个LocalPlacement对象,它存储了一个相对坐标,包括Direction、相对原点和一个负责把坐标系内外的点互相转换的函数,或者两个函数。
IFC files are orgnaized like a tree. The LocalPlacement is also orgnaized like a tree, and a relative coordinate system is created like this. Then, suppose we need to convert a point in the relative coordinate system in IFC to a univerisy coordinate system, I think we should consider to add a stack, which store all the LocalPlacement. When we covert the point, we can convert from one coordinate to another one by one, and after we finished all the coordinate, we convert a point in relative coornidate system to a point in uinverity coornidate system.
Inside this stack, it should be a object of LocalPlacement, which contains the Direction of its coordinate system, the origin point of its coordinate system and one function respond for covert points into its coordinate system, another function respond for convert points out of its coordinate system.