pub struct Ply<E: PropertyAccess> {
pub header: Header,
pub payload: Payload<E>,
}
Expand description
Models all necessary information to interact with a PLY file.
The generic parameter E
is the element type used to store the payload data.
Fields§
§header: Header
All header information found in a PLY file.
payload: Payload<E>
The payloud found after the end_header
line in a PLY file.
One line in an ascii PLY file corresponds to a single element. The payload groups elments with the same type together in a vector.
§Examples
Assume you have a Ply
object called ply
and want to access the third point
element:
// get ply from somewhere ...
let ref a_point = ply.payload["point"][2];
let ref a_point_x = ply.payload["point"][2]["x"];
Implementations§
Source§impl<E: PropertyAccess> Ply<E>
impl<E: PropertyAccess> Ply<E>
Sourcepub fn make_consistent(&mut self) -> Result<(), ConsistencyError>
pub fn make_consistent(&mut self) -> Result<(), ConsistencyError>
Takes a mutable Ply
object, performs common operations to make it consistent,
When written, a consistent Ply
object generates a valid PLY file.
This method also checks for invariants that can’t be fixed automatically.
If something can not be fixed automatically, it returns a ConsistencyError
describing the problem.
§Remarks
This method should always be called before writing to a file with Writer
.
Only exception is write_ply()
, which, for convenience, performs the check itself.
See write_ply_unchecked()
for a variant that expects the client to assure consistency.
No checks on encoding are performed. For maximal compatability, only ascii characters should be used but this is not checked. Every relevant string is checked to not contain line breaks. Identifiers are also checked to not contain white spaces.
Trait Implementations§
impl<E: PropertyAccess> StructuralPartialEq for Ply<E>
Auto Trait Implementations§
impl<E> Freeze for Ply<E>
impl<E> RefUnwindSafe for Ply<E>where
E: RefUnwindSafe,
impl<E> Send for Ply<E>where
E: Send,
impl<E> Sync for Ply<E>where
E: Sync,
impl<E> Unpin for Ply<E>
impl<E> UnwindSafe for Ply<E>where
E: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)