And this diagram is a bit out of date. (There are some missing classes, and perhaps changes since it was drawn back in the v7 and v8 days.)
http://www.sketchup.com/intl/en/developer/docs/diagram.php
Also,...
@iltis said:
For example : ArcCurve (arcs and circles) is a subclass of the Curve class, and an edge is a part of a random curve ...
Implies an incorrect assumption.
The SKP document object hierarchy (ie, the model database tree) is a wholly separate construct than the Ruby class hierarchy and relationships.
For example, the Sketchup::Edge class is not a sub-class of the Sketchup::Curve class. Both, are descendants of the Sketchup::Entity class. Sketchup::Curve and Sketchup::ArcCurve objects are special collection classes that connect edges together, but are not themselves an actual "model element". Sketchup::Edge objects are an actual model element, and so are a sub-class of Sketchup::Drawingelement.