internal SFImage ParseSFImageValue() { // int32 int32 int32 ... SFImage ret=null; try { ret=new SFImage(); ret.Width=GetIntNumber(GetNextNumberToken()); ret.Height=GetIntNumber(GetNextNumberToken()); ret.NumberOfComponents=GetIntNumber(GetNextNumberToken()); } catch(UserCancellationException) { throw; } catch(Exception ex) { ErrorParsingField(VRMLReaderError.SFImageInvalid, ex); } if(ret.Width<0||ret.Height<0||ret.NumberOfComponents<0||ret.NumberOfComponents>4) ErrorParsingField(VRMLReaderError.SFImageInvalid); if(ret.Width==0||ret.Height==0||ret.NumberOfComponents==0) return ret; try { for(int i=0; i<ret.Width*ret.Height; i++) ret.PixelValues.Add(GetIntNumber(GetNextNumberToken())); } catch(UserCancellationException) { throw; } catch(Exception ex) { ErrorParsingField(VRMLReaderError.SFImageInvalid, ex); } return ret; }
public x3dPixelTexture() { Image=new SFImage(); RepeatS=true; RepeatT=true; }