maspack.util
Interface Scannable

All Known Subinterfaces:
Collidable, CompositeComponent, Controller, CopyableComponent, DynamicMechComponent, ExcitationComponent, ForceComponent, MechSystemModel, Model, ModelAgent, ModelComponent, Monitor, MotionTargetComponent, MutableCompositeComponent<C>, NullScannable, PlanarComponent, Range, RenderableComponent
All Known Implementing Classes:
AffineNumericInputProbe, ArticulatedBeamBody, ArticulatedDemo, ArticulatedFem, AttachDemo, AttachedBeamDemo, AuxMaterialBundle, AuxMaterialBundleList, AuxMaterialElementDesc, AuxMaterialElementDescList, AxialMaterial, AxialMuscleMaterial, AxialSpring, AxialSpringList, BeamBody, BlemkerAxialMuscle, BlemkerMuscle, BlockTest, Collidable.DefaultCollidable, CollisionComponent, CollisionHandler, CollisionHandlerGeneric, CollisionHandlerList, CollisionHandlerOld, CollisionManager, ColorBar, ColoredFemBeam3d, ColorMapBase, CompliantConstraintDemo, ComponentList, ComponentListImpl, CompositeComponentBase, ConstantAxialMuscle, ConstrainedParticle, ConstrainerBase, ControllerBase, ControllerMonitorBase, ControlPanel, CoupledSolveDemo, CubicHyperelastic, CutPlaneProbe, DeformableBody, DoubleArmDemo, DoubleInterval, DynamicAttachment, DynamicMechComponentBase, EditableMesh, EditablePolygonalMesh, Elaston, EnumRange, FaceComponent, FaceList, FaceRenderProps, FallingSkull, Fem3dBlock, FemBeam3d, FemBeamMech, FemCollision, FemDisplayProbe, FemElement, FemElement3d, FemElement3dList, FemFrictionBeam, FemMarker, FemMaterial, FemMesh, FemMeshBase, FemModel, FemModel3d, FemMuscleArm, FemMuscleDemo, FemMuscleModel, FemNode, FemNode3d, FemSingleTet, FemSkinDemo, FemSphere, FishDemo, FixedMesh, ForceEffectorList, FormatRange, Frame, FrameExciter, FrameMarker, FrameMaterial, FrameSpring, FrameSpringDemo, FullBlemkerMuscle, FullPlanarJoint, FungMaterial, GenericMuscle, GLRenderableHolder, GreyscaleColorMap, HeuerOffLinFM, Hex3dBlock, HexBeam3d, HexElement, HexFrame, HexIncompress, HexSheet, HudPrintStream, HueColorMap, HydrostatDemo, HydrostatInvDemo, HydrostatModel, HydrostatTubeDemo, ImagePlaneProbe, ImageProbe, InactiveMuscle, IncompNeoHookeanMaterial, IncompressibleMaterial, InputProbe, IntegerInterval, InterpolatingColorMap, Interpolation, JetColorMap, JointBase, LaymanBowl, LaymanDemo, LaymanModel, LigamentAxialMaterial, LightComponent, LinearAxialMaterial, LinearAxialMuscle, LinearFrameMaterial, LinearMaterial, LineEdgeRenderProps, LineFaceRenderProps, LineRenderProps, LockingDemo, LumbarSpringDemo, Marker, MarkerPlanarConnector, MasoudMillardLAM, MassSpringDemo, MaterialBase, MechModel, MechModelCollide, MechModelDemo, MechSystemBase, MeshComponent, MeshComponentList, MeshIntersectingProbe, MeshRenderProps, MFreeAuxMaterialBundle, MFreeAuxMaterialBundleList, MFreeAuxMaterialElementDesc, MFreeAuxMaterialElementDescList, MFreeElement3d, MFreeElement3dList, MFreeHermiteNode3d, MFreeModel3d, MFreeMuscleBundle, MFreeMuscleBundleList, MFreeMuscleElementDesc, MFreeMuscleElementDescList, MFreeMuscleModel, MFreeNode3d, ModelAgentBase, ModelBase, ModelBaseOld, ModelComponentBase, MonitorBase, MooneyRivlinMaterial, MultiMuscleDemo, MultiPointMuscle, MultiPointMuscleVia, MultiPointSpring, MultiPointSpringList, MultiSpringDemo, Muscle, MuscleArm, MuscleBundle, MuscleBundleList, MuscleElementDesc, MuscleElementDescList, MuscleExciter, MuscleMaterial, NameRange, NeoHookeanMaterial, NetDemo, NonlinearlyStiffFrameMaterial, NullMaterial, NumericInputProbe, NumericInterval, NumericIntervalRange, NumericList, NumericOutputProbe, NumericProbeBase, OffsetLinearFrameMaterial, OgdenMaterial, OutputProbe, PaiAxialMuscle, Particle, ParticleConstraint, ParticleMeshConstraint, ParticlePlaneConstraint, PeckAxialMuscle, PlanarConnector, PlanarConnectorDemo, PlanarPoint, PlaneConstrainedFem, Point, PointAttachment, PointEdgeRenderProps, PointExciter, PointFaceRenderProps, PointFem3dAttachment, PointForce, PointForceDemo, PointFrameAttachment, PointLineRenderProps, PointList, PointModel, PointModel1d, PointModel2d, PointModel3d, PointParticleAttachment, PointRenderProps, PointSkinAttachment, PointSpringBase, PointSpringList, PointToPointMuscle, PointTracingProbe, Probe, PuddleDemo, PullController, PuppetDemo, PyramidElement, QLVBehavior, QuadFishDemo, QuadhexElement, QuadpyramidElement, QuadtetElement, QuadwedgeElement, RainbowColorMap, RangeBase, Rectangle, ReferenceComponent, ReferenceList, RenderableComponentBase, RenderableComponentList, RenderableCompositeBase, RenderableModelBase, RenderableModelBaseOld, RenderProbe, RenderProps, RevoluteJoint, RigidBody, RigidBodyCollision, RigidBodyConnector, RigidBodyDemo, RigidCompositeBody, RigidMeshComponent, RigidTentacle, RigidTransformInputProbe, RobustCube, RollPitchJoint, RollPitchJointDemo, RootModel, RotAxisFrameMaterial, ScalableList, ScannableList, SegmentedPlanarConnector, SegmentedPlaneDemo, SelfCollision, SheetDemo, SimpleAxialMuscle, SimpleCollide, SimpleForceMuscle, SingleHex, SinglePyramid, SingleQuadhex, SingleQuadpyramid, SingleQuadtet, SingleQuadwedge, SingleTet, SingleWedge, SkinDemo, SkinMesh, SkinMeshBase, SkullParticles, SleepProbe, SoftPlaneCollider, SolidJoint, SphericalJoint, SphericalJointBase, SphericalJointDemo, SphericalRpyJoint, SpongeDemo, SpongeModel, Spring, SpringAxialMuscle, SpringMeshDemo, StVenantKirchoffMaterial, TargetFrame, TargetPoint, Tentacle, TetBeam3d, TetElement, TextComponent2d, TextComponent3d, TextComponentBase, TextLabeller3d, TextureProps, TracingProbe, TrackingController, TransformableList, UnidirectionalLinearAxialMaterial, VectorTracingProbe, VertexComponent, VertexList, ViscoelasticBehavior, ViscousBeam, WayPointProbe, WedgeElement

public interface Scannable


Method Summary
 boolean isWritable()
          Returns true if this component should in fact be written to secondary storage.
 void scan(ReaderTokenizer rtok, java.lang.Object ref)
          Scans this element from a ReaderTokenizer.
 void write(java.io.PrintWriter writer, NumberFormat fmt, java.lang.Object ref)
          Writes a text description of this element to a PrintWriter.
 

Method Detail

scan

void scan(ReaderTokenizer rtok,
          java.lang.Object ref)
          throws java.io.IOException
Scans this element from a ReaderTokenizer. The expected text format is assumed to be compatible with that produced by write.

Parameters:
rtok - Tokenizer from which to scan the element
ref - optional reference object which can be used for resolving references to other objects
Throws:
java.io.IOException - if an I/O or formatting error occured

write

void write(java.io.PrintWriter writer,
           NumberFormat fmt,
           java.lang.Object ref)
           throws java.io.IOException
Writes a text description of this element to a PrintWriter. The text description should be compatable with scan and complete enough to allow full reconstruction of the element.

Parameters:
writer - stream for writing the element
fmt - numeric formating information
ref - optional reference object which can be used for producing references to other objects
Throws:
java.io.IOException - if an I/O error occured

isWritable

boolean isWritable()
Returns true if this component should in fact be written to secondary storage. This gives subclasses control over whether or not they are actually written out.

Returns:
true if this component should be written to secondary storage.