1 // model.hxx - manage a 3D aircraft model.
2 // Written by David Megginson, started 2002.
4 // This file is in the Public Domain, and comes with no warranty.
10 # error This library requires C++
20 #include <simgear/props/props.hxx>
23 // Has anyone done anything *really* stupid, like making min and max macros?
33 * Load a 3D model with or without XML wrapper. Note, this version
34 * Does not know about or load the panel/cockpit information. Use the
35 * "model_panel.hxx" version if you want to load an aircraft
36 * (i.e. ownship) with a panel.
38 * If the path ends in ".xml", then it will be used as a property-
39 * list wrapper to add animations to the model.
41 * Subsystems should not normally invoke this function directly;
42 * instead, they should use the FGModelLoader declared in loader.hxx.
45 sgLoad3DModel( const string& fg_root, const string &path,
46 SGPropertyNode *prop_root, double sim_time_sec );
50 * Make an offset matrix from rotations and position offset.
53 sgMakeOffsetsMatrix( sgMat4 * result, double h_rot, double p_rot, double r_rot,
54 double x_off, double y_off, double z_off );
60 sgMakeAnimation( ssgBranch * model,
62 vector<SGPropertyNode_ptr> &name_nodes,
63 SGPropertyNode *prop_root,
64 SGPropertyNode_ptr node,
65 double sim_time_sec );