Changeset 10076 for OpenSceneGraph/trunk/src/osgPlugins/3ds/camera.cpp
- Timestamp:
- 04/22/09 17:46:24 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/src/osgPlugins/3ds/camera.cpp
r1563 r10076 97 97 */ 98 98 Lib3dsBool 99 lib3ds_camera_read(Lib3dsCamera *camera, FILE *f)99 lib3ds_camera_read(Lib3dsCamera *camera, iostream *strm) 100 100 { 101 101 Lib3dsChunk c; 102 102 Lib3dsWord chunk; 103 103 104 if (!lib3ds_chunk_read_start(&c, LIB3DS_N_CAMERA, f)) {104 if (!lib3ds_chunk_read_start(&c, LIB3DS_N_CAMERA, strm)) { 105 105 return(LIB3DS_FALSE); 106 106 } … … 108 108 int i; 109 109 for (i=0; i<3; ++i) { 110 camera->position[i]=lib3ds_float_read( f);110 camera->position[i]=lib3ds_float_read(strm); 111 111 } 112 112 for (i=0; i<3; ++i) { 113 camera->target[i]=lib3ds_float_read( f);114 } 115 } 116 camera->roll=lib3ds_float_read( f);113 camera->target[i]=lib3ds_float_read(strm); 114 } 115 } 116 camera->roll=lib3ds_float_read(strm); 117 117 { 118 118 float s; 119 s=lib3ds_float_read( f);119 s=lib3ds_float_read(strm); 120 120 if (fabs(s)<LIB3DS_EPSILON) { 121 121 camera->fov=45.0; … … 125 125 } 126 126 } 127 lib3ds_chunk_read_tell(&c, f);127 lib3ds_chunk_read_tell(&c, strm); 128 128 129 while ((chunk=lib3ds_chunk_read_next(&c, f))!=0) {129 while ((chunk=lib3ds_chunk_read_next(&c, strm))!=0) { 130 130 switch (chunk) { 131 131 case LIB3DS_CAM_SEE_CONE: … … 136 136 case LIB3DS_CAM_RANGES: 137 137 { 138 camera->near_range=lib3ds_float_read( f);139 camera->far_range=lib3ds_float_read( f);138 camera->near_range=lib3ds_float_read(strm); 139 camera->far_range=lib3ds_float_read(strm); 140 140 } 141 141 break; … … 145 145 } 146 146 147 lib3ds_chunk_read_end(&c, f);147 lib3ds_chunk_read_end(&c, strm); 148 148 return(LIB3DS_TRUE); 149 149 } … … 154 154 */ 155 155 Lib3dsBool 156 lib3ds_camera_write(Lib3dsCamera *camera, FILE *f)156 lib3ds_camera_write(Lib3dsCamera *camera, iostream *strm) 157 157 { 158 158 Lib3dsChunk c; 159 159 160 160 c.chunk=LIB3DS_N_CAMERA; 161 if (!lib3ds_chunk_write_start(&c, f)) {161 if (!lib3ds_chunk_write_start(&c,strm)) { 162 162 return(LIB3DS_FALSE); 163 163 } 164 164 165 lib3ds_vector_write(camera->position, f);166 lib3ds_vector_write(camera->target, f);167 lib3ds_float_write(camera->roll, f);165 lib3ds_vector_write(camera->position, strm); 166 lib3ds_vector_write(camera->target, strm); 167 lib3ds_float_write(camera->roll, strm); 168 168 if (fabs(camera->fov)<LIB3DS_EPSILON) { 169 lib3ds_float_write(2400.0f/45.0f, f);169 lib3ds_float_write(2400.0f/45.0f, strm); 170 170 } 171 171 else { 172 lib3ds_float_write(2400.0f/camera->fov, f);172 lib3ds_float_write(2400.0f/camera->fov, strm); 173 173 } 174 174 … … 177 177 c.chunk=LIB3DS_CAM_SEE_CONE; 178 178 c.size=6; 179 lib3ds_chunk_write(&c, f);179 lib3ds_chunk_write(&c, strm); 180 180 } 181 181 { … … 183 183 c.chunk=LIB3DS_CAM_RANGES; 184 184 c.size=14; 185 lib3ds_chunk_write(&c, f);186 lib3ds_float_write(camera->near_range, f);187 lib3ds_float_write(camera->far_range, f);188 } 189 190 if (!lib3ds_chunk_write_end(&c, f)) {185 lib3ds_chunk_write(&c, strm); 186 lib3ds_float_write(camera->near_range, strm); 187 lib3ds_float_write(camera->far_range, strm); 188 } 189 190 if (!lib3ds_chunk_write_end(&c,strm)) { 191 191 return(LIB3DS_FALSE); 192 192 }
