| CAD-Format-STL documentation | Contained in the CAD-Format-STL distribution. |
CAD::Format::STL::part - guts of the STL object
See CAD::Format::STL
my $part = CAD::Format::STL::part->new($name, @facets);
$self->add_facets(@facets);
Facets are stored with the normal vector, followed by vertices. Typically, a single facet is a triangle and the normal is [0,0,0] (meaning that it should be calculated by the user if needed.)
[0,0,0], [0,0,0],[0,1,0],[1,1,0]
Eric Wilhelm @ <ewilhelm at cpan dot org>
http://scratchcomputing.com/
If you found this module on CPAN, please report any bugs or feature requests through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
If you pulled this development version from my /svn/, please contact me directly.
Copyright (C) 2007 Eric L. Wilhelm, All Rights Reserved.
Absolutely, positively NO WARRANTY, neither express or implied, is offered with this software. You use this software at your own risk. In case of loss, no person or entity owes you anything whatsoever. You have been warned.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| CAD-Format-STL documentation | Contained in the CAD-Format-STL distribution. |
package CAD::Format::STL::part; $VERSION = v0.2.1; use warnings; use strict; use Carp;
use Class::Accessor::Classy; rw 'name'; lw 'facets'; no Class::Accessor::Classy;
sub new { my $package = shift; my ($name, @facets) = @_; my $class = ref($package) || $package; my $self = { name => (defined($name) ? $name : 'CAD::Format::STL part'), facets => [], }; bless($self, $class); $self->add_facets(@facets) if(@facets); return($self); } # end subroutine new definition ########################################################################
sub add_facets { my $self = shift; my (@facets) = @_; foreach my $facet (@facets) { my @pts = @$facet; my $n = ((scalar(@pts) == 3) ? [0,0,0] : shift(@pts)); $self->SUPER::add_facets([$n, @pts]); } } # end subroutine add_facets definition ########################################################################
# vi:ts=2:sw=2:et:sta 1;